[ aws . apigateway ]

create-usage-plan

Description

Creates a usage plan with the throttle and quota limits, as well as the associated API stages, specified in the payload.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  create-usage-plan
--name <value>
[--description <value>]
[--api-stages <value>]
[--throttle <value>]
[--quota <value>]
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]

Options

--name (string)

[Required] The name of the usage plan.

--description (string)

The description of the usage plan.

--api-stages (list)

The associated API stages of the usage plan.

(structure)

API stage name of the associated API stage in a usage plan.

apiId -> (string)

API Id of the associated API stage in a usage plan.

stage -> (string)

API stage name of the associated API stage in a usage plan.

throttle -> (map)

Map containing method level throttling information for API stage in a usage plan.

key -> (string)

value -> (structure)

The API request rate limits.

burstLimit -> (integer)

The API target request burst rate limit. This allows more requests through for a period of time than the target rate limit.

rateLimit -> (double)

The API target request rate limit.

Shorthand Syntax:

apiId=string,stage=string,throttle={KeyName1={burstLimit=integer,rateLimit=double},KeyName2={burstLimit=integer,rateLimit=double}} ...

JSON Syntax:

[
  {
    "apiId": "string",
    "stage": "string",
    "throttle": {"string": {
          "burstLimit": integer,
          "rateLimit": double
        }
      ...}
  }
  ...
]

--throttle (structure)

The throttling limits of the usage plan.

burstLimit -> (integer)

The API target request burst rate limit. This allows more requests through for a period of time than the target rate limit.

rateLimit -> (double)

The API target request rate limit.

Shorthand Syntax:

burstLimit=integer,rateLimit=double

JSON Syntax:

{
  "burstLimit": integer,
  "rateLimit": double
}

--quota (structure)

The quota of the usage plan.

limit -> (integer)

The target maximum number of requests that can be made in a given time period.

offset -> (integer)

The day that a time period starts. For example, with a time period of WEEK , an offset of 0 starts on Sunday, and an offset of 1 starts on Monday.

period -> (string)

The time period in which the limit applies. Valid values are “DAY”, “WEEK” or “MONTH”.

Shorthand Syntax:

limit=integer,offset=integer,period=string

JSON Syntax:

{
  "limit": integer,
  "offset": integer,
  "period": "DAY"|"WEEK"|"MONTH"
}

--tags (map)

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws: . The tag value can be up to 256 characters.

key -> (string)

value -> (string)

Shorthand Syntax:

KeyName1=string,KeyName2=string

JSON Syntax:

{"string": "string"
  ...}

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See ‘aws help’ for descriptions of global parameters.

Examples

To create a usage plan with throttle and quota limits that resets at the beginning of the month

Command:

aws apigateway create-usage-plan --name "New Usage Plan" --description "A new usage plan" --throttle burstLimit=10,rateLimit=5 --quota limit=500,offset=0,period=MONTH

Output

id -> (string)

The identifier of a UsagePlan resource.

name -> (string)

The name of a usage plan.

description -> (string)

The description of a usage plan.

apiStages -> (list)

The associated API stages of a usage plan.

(structure)

API stage name of the associated API stage in a usage plan.

apiId -> (string)

API Id of the associated API stage in a usage plan.

stage -> (string)

API stage name of the associated API stage in a usage plan.

throttle -> (map)

Map containing method level throttling information for API stage in a usage plan.

key -> (string)

value -> (structure)

The API request rate limits.

burstLimit -> (integer)

The API target request burst rate limit. This allows more requests through for a period of time than the target rate limit.

rateLimit -> (double)

The API target request rate limit.

throttle -> (structure)

Map containing method level throttling information for API stage in a usage plan.

burstLimit -> (integer)

The API target request burst rate limit. This allows more requests through for a period of time than the target rate limit.

rateLimit -> (double)

The API target request rate limit.

quota -> (structure)

The target maximum number of permitted requests per a given unit time interval.

limit -> (integer)

The target maximum number of requests that can be made in a given time period.

offset -> (integer)

The day that a time period starts. For example, with a time period of WEEK , an offset of 0 starts on Sunday, and an offset of 1 starts on Monday.

period -> (string)

The time period in which the limit applies. Valid values are “DAY”, “WEEK” or “MONTH”.

productCode -> (string)

The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace.

tags -> (map)

The collection of tags. Each tag element is associated with a given resource.

key -> (string)

value -> (string)