Amazon API Gateway

2017/11/29 - Amazon API Gateway - 5 updated api methods

Changes  Changes related to CanaryReleaseDeployment feature. Enables API developer to create a deployment as canary deployment and test API changes with percentage of customers before promoting changes to all customers.

CreateDeployment (updated) Link ¶
Changes (request)
{'canarySettings': {'percentTraffic': 'double',
                    'stageVariableOverrides': {'string': 'string'},
                    'useStageCache': 'boolean'}}

Creates a Deployment resource, which makes a specified RestApi callable over the internet.

See also: AWS API Documentation

Request Syntax

client.create_deployment(
    restApiId='string',
    stageName='string',
    stageDescription='string',
    description='string',
    cacheClusterEnabled=True|False,
    cacheClusterSize='0.5'|'1.6'|'6.1'|'13.5'|'28.4'|'58.2'|'118'|'237',
    variables={
        'string': 'string'
    },
    canarySettings={
        'percentTraffic': 123.0,
        'stageVariableOverrides': {
            'string': 'string'
        },
        'useStageCache': True|False
    }
)
type restApiId

string

param restApiId

[REQUIRED]

The string identifier of the associated RestApi.

type stageName

string

param stageName

The name of the Stage resource for the Deployment resource to create.

type stageDescription

string

param stageDescription

The description of the Stage resource for the Deployment resource to create.

type description

string

param description

The description for the Deployment resource to create.

type cacheClusterEnabled

boolean

param cacheClusterEnabled

Enables a cache cluster for the Stage resource specified in the input.

type cacheClusterSize

string

param cacheClusterSize

Specifies the cache cluster size for the Stage resource specified in the input, if a cache cluster is enabled.

type variables

dict

param variables

A map that defines the stage variables for the Stage resource that is associated with the new deployment. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+ .

  • (string) --

    • (string) --

type canarySettings

dict

param canarySettings

The input configuration for the canary deployment when the deployment is a canary release deployment.

  • percentTraffic (float) --

    The percentage (0.0-100.0) of traffic routed to the canary deployment.

  • stageVariableOverrides (dict) --

    A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values.

    • (string) --

      • (string) --

  • useStageCache (boolean) --

    A Boolean flag to indicate whether the canary release deployment uses the stage cache or not.

rtype

dict

returns

Response Syntax

{
    'id': 'string',
    'description': 'string',
    'createdDate': datetime(2015, 1, 1),
    'apiSummary': {
        'string': {
            'string': {
                'authorizationType': 'string',
                'apiKeyRequired': True|False
            }
        }
    }
}

Response Structure

  • (dict) --

    An immutable representation of a RestApi resource that can be called by users using Stages. A deployment must be associated with a Stage for it to be callable over the Internet.

    To create a deployment, call POST on the Deployments resource of a RestApi. To view, update, or delete a deployment, call GET , PATCH , or DELETE on the specified deployment resource ( /restapis/{restapi_id}/deployments/{deployment_id} ). RestApi, Deployments, Stage, AWS CLI, AWS SDKs

    • id (string) --

      The identifier for the deployment resource.

    • description (string) --

      The description for the deployment resource.

    • createdDate (datetime) --

      The date and time that the deployment resource was created.

    • apiSummary (dict) --

      A summary of the RestApi at the date and time that the deployment resource was created.

      • (string) --

        • (dict) --

          • (string) --

            • (dict) --

              Represents a summary of a Method resource, given a particular date and time.

              • authorizationType (string) --

                The method's authorization type. Valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS for using a Cognito user pool.

              • apiKeyRequired (boolean) --

                Specifies whether the method requires a valid ApiKey.

CreateStage (updated) Link ¶
Changes (both)
{'canarySettings': {'deploymentId': 'string',
                    'percentTraffic': 'double',
                    'stageVariableOverrides': {'string': 'string'},
                    'useStageCache': 'boolean'}}

Creates a new Stage resource that references a pre-existing Deployment for the API.

See also: AWS API Documentation

Request Syntax

client.create_stage(
    restApiId='string',
    stageName='string',
    deploymentId='string',
    description='string',
    cacheClusterEnabled=True|False,
    cacheClusterSize='0.5'|'1.6'|'6.1'|'13.5'|'28.4'|'58.2'|'118'|'237',
    variables={
        'string': 'string'
    },
    documentationVersion='string',
    canarySettings={
        'percentTraffic': 123.0,
        'deploymentId': 'string',
        'stageVariableOverrides': {
            'string': 'string'
        },
        'useStageCache': True|False
    }
)
type restApiId

string

param restApiId

[REQUIRED]

The string identifier of the associated RestApi.

type stageName

string

param stageName

[REQUIRED]

{Required] The name for the Stage resource.

type deploymentId

string

param deploymentId

[REQUIRED]

[Required] The identifier of the Deployment resource for the Stage resource.

type description

string

param description

The description of the Stage resource.

type cacheClusterEnabled

boolean

param cacheClusterEnabled

Whether cache clustering is enabled for the stage.

type cacheClusterSize

string

param cacheClusterSize

The stage's cache cluster size.

type variables

dict

param variables

A map that defines the stage variables for the new Stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+ .

  • (string) --

    • (string) --

type documentationVersion

string

param documentationVersion

The version of the associated API documentation.

type canarySettings

dict

param canarySettings

The canary deployment settings of this stage.

  • percentTraffic (float) --

    The percent (0-100) of traffic diverted to a canary deployment.

  • deploymentId (string) --

    The ID of the canary deployment.

  • stageVariableOverrides (dict) --

    Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.

    • (string) --

      • (string) --

  • useStageCache (boolean) --

    A Boolean flag to indicate whether the canary deployment uses the stage cache or not.

rtype

dict

returns

Response Syntax

{
    'deploymentId': 'string',
    'clientCertificateId': 'string',
    'stageName': 'string',
    'description': 'string',
    'cacheClusterEnabled': True|False,
    'cacheClusterSize': '0.5'|'1.6'|'6.1'|'13.5'|'28.4'|'58.2'|'118'|'237',
    'cacheClusterStatus': 'CREATE_IN_PROGRESS'|'AVAILABLE'|'DELETE_IN_PROGRESS'|'NOT_AVAILABLE'|'FLUSH_IN_PROGRESS',
    'methodSettings': {
        'string': {
            'metricsEnabled': True|False,
            'loggingLevel': 'string',
            'dataTraceEnabled': True|False,
            'throttlingBurstLimit': 123,
            'throttlingRateLimit': 123.0,
            'cachingEnabled': True|False,
            'cacheTtlInSeconds': 123,
            'cacheDataEncrypted': True|False,
            'requireAuthorizationForCacheControl': True|False,
            'unauthorizedCacheControlHeaderStrategy': 'FAIL_WITH_403'|'SUCCEED_WITH_RESPONSE_HEADER'|'SUCCEED_WITHOUT_RESPONSE_HEADER'
        }
    },
    'variables': {
        'string': 'string'
    },
    'documentationVersion': 'string',
    'accessLogSettings': {
        'format': 'string',
        'destinationArn': 'string'
    },
    'canarySettings': {
        'percentTraffic': 123.0,
        'deploymentId': 'string',
        'stageVariableOverrides': {
            'string': 'string'
        },
        'useStageCache': True|False
    },
    'createdDate': datetime(2015, 1, 1),
    'lastUpdatedDate': datetime(2015, 1, 1)
}

Response Structure

  • (dict) --

    Represents a unique identifier for a version of a deployed RestApi that is callable by users.

    Deploy an API

    • deploymentId (string) --

      The identifier of the Deployment that the stage points to.

    • clientCertificateId (string) --

      The identifier of a client certificate for an API stage.

    • stageName (string) --

      The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to Amazon API Gateway.

    • description (string) --

      The stage's description.

    • cacheClusterEnabled (boolean) --

      Specifies whether a cache cluster is enabled for the stage.

    • cacheClusterSize (string) --

      The size of the cache cluster for the stage, if enabled.

    • cacheClusterStatus (string) --

      The status of the cache cluster for the stage, if enabled.

    • methodSettings (dict) --

      A map that defines the method settings for a Stage resource. Keys (designated as /{method_setting_key below) are method paths defined as {resource_path}/{http_method} for an individual method override, or /\*/\* for overriding all methods in the stage.

      • (string) --

        • (dict) --

          Specifies the method setting properties.

          • metricsEnabled (boolean) --

            Specifies whether Amazon CloudWatch metrics are enabled for this method. The PATCH path for this setting is /{method_setting_key}/metrics/enabled , and the value is a Boolean.

          • loggingLevel (string) --

            Specifies the logging level for this method, which effects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/loglevel , and the available levels are OFF , ERROR , and INFO .

          • dataTraceEnabled (boolean) --

            Specifies whether data trace logging is enabled for this method, which effects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/dataTrace , and the value is a Boolean.

          • throttlingBurstLimit (integer) --

            Specifies the throttling burst limit. The PATCH path for this setting is /{method_setting_key}/throttling/burstLimit , and the value is an integer.

          • throttlingRateLimit (float) --

            Specifies the throttling rate limit. The PATCH path for this setting is /{method_setting_key}/throttling/rateLimit , and the value is a double.

          • cachingEnabled (boolean) --

            Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached. The PATCH path for this setting is /{method_setting_key}/caching/enabled , and the value is a Boolean.

          • cacheTtlInSeconds (integer) --

            Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached. The PATCH path for this setting is /{method_setting_key}/caching/ttlInSeconds , and the value is an integer.

          • cacheDataEncrypted (boolean) --

            Specifies whether the cached responses are encrypted. The PATCH path for this setting is /{method_setting_key}/caching/dataEncrypted , and the value is a Boolean.

          • requireAuthorizationForCacheControl (boolean) --

            Specifies whether authorization is required for a cache invalidation request. The PATCH path for this setting is /{method_setting_key}/caching/requireAuthorizationForCacheControl , and the value is a Boolean.

          • unauthorizedCacheControlHeaderStrategy (string) --

            Specifies how to handle unauthorized requests for cache invalidation. The PATCH path for this setting is /{method_setting_key}/caching/unauthorizedCacheControlHeaderStrategy , and the available values are FAIL_WITH_403 , SUCCEED_WITH_RESPONSE_HEADER , SUCCEED_WITHOUT_RESPONSE_HEADER .

    • variables (dict) --

      A map that defines the stage variables for a Stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+ .

      • (string) --

        • (string) --

    • documentationVersion (string) --

      The version of the associated API documentation.

    • accessLogSettings (dict) --

      Settings for logging access in this stage.

      • format (string) --

        A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId .

      • destinationArn (string) --

        The ARN of the CloudWatch Logs log group to receive access logs.

    • canarySettings (dict) --

      Settings for the canary deployment in this stage.

      • percentTraffic (float) --

        The percent (0-100) of traffic diverted to a canary deployment.

      • deploymentId (string) --

        The ID of the canary deployment.

      • stageVariableOverrides (dict) --

        Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.

        • (string) --

          • (string) --

      • useStageCache (boolean) --

        A Boolean flag to indicate whether the canary deployment uses the stage cache or not.

    • createdDate (datetime) --

      The timestamp when the stage was created.

    • lastUpdatedDate (datetime) --

      The timestamp when the stage last updated.

GetStage (updated) Link ¶
Changes (response)
{'canarySettings': {'deploymentId': 'string',
                    'percentTraffic': 'double',
                    'stageVariableOverrides': {'string': 'string'},
                    'useStageCache': 'boolean'}}

Gets information about a Stage resource.

See also: AWS API Documentation

Request Syntax

client.get_stage(
    restApiId='string',
    stageName='string'
)
type restApiId

string

param restApiId

[REQUIRED]

The string identifier of the associated RestApi.

type stageName

string

param stageName

[REQUIRED]

The name of the Stage resource to get information about.

rtype

dict

returns

Response Syntax

{
    'deploymentId': 'string',
    'clientCertificateId': 'string',
    'stageName': 'string',
    'description': 'string',
    'cacheClusterEnabled': True|False,
    'cacheClusterSize': '0.5'|'1.6'|'6.1'|'13.5'|'28.4'|'58.2'|'118'|'237',
    'cacheClusterStatus': 'CREATE_IN_PROGRESS'|'AVAILABLE'|'DELETE_IN_PROGRESS'|'NOT_AVAILABLE'|'FLUSH_IN_PROGRESS',
    'methodSettings': {
        'string': {
            'metricsEnabled': True|False,
            'loggingLevel': 'string',
            'dataTraceEnabled': True|False,
            'throttlingBurstLimit': 123,
            'throttlingRateLimit': 123.0,
            'cachingEnabled': True|False,
            'cacheTtlInSeconds': 123,
            'cacheDataEncrypted': True|False,
            'requireAuthorizationForCacheControl': True|False,
            'unauthorizedCacheControlHeaderStrategy': 'FAIL_WITH_403'|'SUCCEED_WITH_RESPONSE_HEADER'|'SUCCEED_WITHOUT_RESPONSE_HEADER'
        }
    },
    'variables': {
        'string': 'string'
    },
    'documentationVersion': 'string',
    'accessLogSettings': {
        'format': 'string',
        'destinationArn': 'string'
    },
    'canarySettings': {
        'percentTraffic': 123.0,
        'deploymentId': 'string',
        'stageVariableOverrides': {
            'string': 'string'
        },
        'useStageCache': True|False
    },
    'createdDate': datetime(2015, 1, 1),
    'lastUpdatedDate': datetime(2015, 1, 1)
}

Response Structure

  • (dict) --

    Represents a unique identifier for a version of a deployed RestApi that is callable by users.

    Deploy an API

    • deploymentId (string) --

      The identifier of the Deployment that the stage points to.

    • clientCertificateId (string) --

      The identifier of a client certificate for an API stage.

    • stageName (string) --

      The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to Amazon API Gateway.

    • description (string) --

      The stage's description.

    • cacheClusterEnabled (boolean) --

      Specifies whether a cache cluster is enabled for the stage.

    • cacheClusterSize (string) --

      The size of the cache cluster for the stage, if enabled.

    • cacheClusterStatus (string) --

      The status of the cache cluster for the stage, if enabled.

    • methodSettings (dict) --

      A map that defines the method settings for a Stage resource. Keys (designated as /{method_setting_key below) are method paths defined as {resource_path}/{http_method} for an individual method override, or /\*/\* for overriding all methods in the stage.

      • (string) --

        • (dict) --

          Specifies the method setting properties.

          • metricsEnabled (boolean) --

            Specifies whether Amazon CloudWatch metrics are enabled for this method. The PATCH path for this setting is /{method_setting_key}/metrics/enabled , and the value is a Boolean.

          • loggingLevel (string) --

            Specifies the logging level for this method, which effects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/loglevel , and the available levels are OFF , ERROR , and INFO .

          • dataTraceEnabled (boolean) --

            Specifies whether data trace logging is enabled for this method, which effects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/dataTrace , and the value is a Boolean.

          • throttlingBurstLimit (integer) --

            Specifies the throttling burst limit. The PATCH path for this setting is /{method_setting_key}/throttling/burstLimit , and the value is an integer.

          • throttlingRateLimit (float) --

            Specifies the throttling rate limit. The PATCH path for this setting is /{method_setting_key}/throttling/rateLimit , and the value is a double.

          • cachingEnabled (boolean) --

            Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached. The PATCH path for this setting is /{method_setting_key}/caching/enabled , and the value is a Boolean.

          • cacheTtlInSeconds (integer) --

            Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached. The PATCH path for this setting is /{method_setting_key}/caching/ttlInSeconds , and the value is an integer.

          • cacheDataEncrypted (boolean) --

            Specifies whether the cached responses are encrypted. The PATCH path for this setting is /{method_setting_key}/caching/dataEncrypted , and the value is a Boolean.

          • requireAuthorizationForCacheControl (boolean) --

            Specifies whether authorization is required for a cache invalidation request. The PATCH path for this setting is /{method_setting_key}/caching/requireAuthorizationForCacheControl , and the value is a Boolean.

          • unauthorizedCacheControlHeaderStrategy (string) --

            Specifies how to handle unauthorized requests for cache invalidation. The PATCH path for this setting is /{method_setting_key}/caching/unauthorizedCacheControlHeaderStrategy , and the available values are FAIL_WITH_403 , SUCCEED_WITH_RESPONSE_HEADER , SUCCEED_WITHOUT_RESPONSE_HEADER .

    • variables (dict) --

      A map that defines the stage variables for a Stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+ .

      • (string) --

        • (string) --

    • documentationVersion (string) --

      The version of the associated API documentation.

    • accessLogSettings (dict) --

      Settings for logging access in this stage.

      • format (string) --

        A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId .

      • destinationArn (string) --

        The ARN of the CloudWatch Logs log group to receive access logs.

    • canarySettings (dict) --

      Settings for the canary deployment in this stage.

      • percentTraffic (float) --

        The percent (0-100) of traffic diverted to a canary deployment.

      • deploymentId (string) --

        The ID of the canary deployment.

      • stageVariableOverrides (dict) --

        Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.

        • (string) --

          • (string) --

      • useStageCache (boolean) --

        A Boolean flag to indicate whether the canary deployment uses the stage cache or not.

    • createdDate (datetime) --

      The timestamp when the stage was created.

    • lastUpdatedDate (datetime) --

      The timestamp when the stage last updated.

GetStages (updated) Link ¶
Changes (response)
{'item': {'canarySettings': {'deploymentId': 'string',
                             'percentTraffic': 'double',
                             'stageVariableOverrides': {'string': 'string'},
                             'useStageCache': 'boolean'}}}

Gets information about one or more Stage resources.

See also: AWS API Documentation

Request Syntax

client.get_stages(
    restApiId='string',
    deploymentId='string'
)
type restApiId

string

param restApiId

[REQUIRED]

The string identifier of the associated RestApi.

type deploymentId

string

param deploymentId

The stages' deployment identifiers.

rtype

dict

returns

Response Syntax

{
    'item': [
        {
            'deploymentId': 'string',
            'clientCertificateId': 'string',
            'stageName': 'string',
            'description': 'string',
            'cacheClusterEnabled': True|False,
            'cacheClusterSize': '0.5'|'1.6'|'6.1'|'13.5'|'28.4'|'58.2'|'118'|'237',
            'cacheClusterStatus': 'CREATE_IN_PROGRESS'|'AVAILABLE'|'DELETE_IN_PROGRESS'|'NOT_AVAILABLE'|'FLUSH_IN_PROGRESS',
            'methodSettings': {
                'string': {
                    'metricsEnabled': True|False,
                    'loggingLevel': 'string',
                    'dataTraceEnabled': True|False,
                    'throttlingBurstLimit': 123,
                    'throttlingRateLimit': 123.0,
                    'cachingEnabled': True|False,
                    'cacheTtlInSeconds': 123,
                    'cacheDataEncrypted': True|False,
                    'requireAuthorizationForCacheControl': True|False,
                    'unauthorizedCacheControlHeaderStrategy': 'FAIL_WITH_403'|'SUCCEED_WITH_RESPONSE_HEADER'|'SUCCEED_WITHOUT_RESPONSE_HEADER'
                }
            },
            'variables': {
                'string': 'string'
            },
            'documentationVersion': 'string',
            'accessLogSettings': {
                'format': 'string',
                'destinationArn': 'string'
            },
            'canarySettings': {
                'percentTraffic': 123.0,
                'deploymentId': 'string',
                'stageVariableOverrides': {
                    'string': 'string'
                },
                'useStageCache': True|False
            },
            'createdDate': datetime(2015, 1, 1),
            'lastUpdatedDate': datetime(2015, 1, 1)
        },
    ]
}

Response Structure

  • (dict) --

    A list of Stage resources that are associated with the ApiKey resource.

    Deploying API in Stages

    • item (list) --

      The current page of elements from this collection.

      • (dict) --

        Represents a unique identifier for a version of a deployed RestApi that is callable by users.

        Deploy an API

        • deploymentId (string) --

          The identifier of the Deployment that the stage points to.

        • clientCertificateId (string) --

          The identifier of a client certificate for an API stage.

        • stageName (string) --

          The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to Amazon API Gateway.

        • description (string) --

          The stage's description.

        • cacheClusterEnabled (boolean) --

          Specifies whether a cache cluster is enabled for the stage.

        • cacheClusterSize (string) --

          The size of the cache cluster for the stage, if enabled.

        • cacheClusterStatus (string) --

          The status of the cache cluster for the stage, if enabled.

        • methodSettings (dict) --

          A map that defines the method settings for a Stage resource. Keys (designated as /{method_setting_key below) are method paths defined as {resource_path}/{http_method} for an individual method override, or /\*/\* for overriding all methods in the stage.

          • (string) --

            • (dict) --

              Specifies the method setting properties.

              • metricsEnabled (boolean) --

                Specifies whether Amazon CloudWatch metrics are enabled for this method. The PATCH path for this setting is /{method_setting_key}/metrics/enabled , and the value is a Boolean.

              • loggingLevel (string) --

                Specifies the logging level for this method, which effects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/loglevel , and the available levels are OFF , ERROR , and INFO .

              • dataTraceEnabled (boolean) --

                Specifies whether data trace logging is enabled for this method, which effects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/dataTrace , and the value is a Boolean.

              • throttlingBurstLimit (integer) --

                Specifies the throttling burst limit. The PATCH path for this setting is /{method_setting_key}/throttling/burstLimit , and the value is an integer.

              • throttlingRateLimit (float) --

                Specifies the throttling rate limit. The PATCH path for this setting is /{method_setting_key}/throttling/rateLimit , and the value is a double.

              • cachingEnabled (boolean) --

                Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached. The PATCH path for this setting is /{method_setting_key}/caching/enabled , and the value is a Boolean.

              • cacheTtlInSeconds (integer) --

                Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached. The PATCH path for this setting is /{method_setting_key}/caching/ttlInSeconds , and the value is an integer.

              • cacheDataEncrypted (boolean) --

                Specifies whether the cached responses are encrypted. The PATCH path for this setting is /{method_setting_key}/caching/dataEncrypted , and the value is a Boolean.

              • requireAuthorizationForCacheControl (boolean) --

                Specifies whether authorization is required for a cache invalidation request. The PATCH path for this setting is /{method_setting_key}/caching/requireAuthorizationForCacheControl , and the value is a Boolean.

              • unauthorizedCacheControlHeaderStrategy (string) --

                Specifies how to handle unauthorized requests for cache invalidation. The PATCH path for this setting is /{method_setting_key}/caching/unauthorizedCacheControlHeaderStrategy , and the available values are FAIL_WITH_403 , SUCCEED_WITH_RESPONSE_HEADER , SUCCEED_WITHOUT_RESPONSE_HEADER .

        • variables (dict) --

          A map that defines the stage variables for a Stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+ .

          • (string) --

            • (string) --

        • documentationVersion (string) --

          The version of the associated API documentation.

        • accessLogSettings (dict) --

          Settings for logging access in this stage.

          • format (string) --

            A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId .

          • destinationArn (string) --

            The ARN of the CloudWatch Logs log group to receive access logs.

        • canarySettings (dict) --

          Settings for the canary deployment in this stage.

          • percentTraffic (float) --

            The percent (0-100) of traffic diverted to a canary deployment.

          • deploymentId (string) --

            The ID of the canary deployment.

          • stageVariableOverrides (dict) --

            Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.

            • (string) --

              • (string) --

          • useStageCache (boolean) --

            A Boolean flag to indicate whether the canary deployment uses the stage cache or not.

        • createdDate (datetime) --

          The timestamp when the stage was created.

        • lastUpdatedDate (datetime) --

          The timestamp when the stage last updated.

UpdateStage (updated) Link ¶
Changes (response)
{'canarySettings': {'deploymentId': 'string',
                    'percentTraffic': 'double',
                    'stageVariableOverrides': {'string': 'string'},
                    'useStageCache': 'boolean'}}

Changes information about a Stage resource.

See also: AWS API Documentation

Request Syntax

client.update_stage(
    restApiId='string',
    stageName='string',
    patchOperations=[
        {
            'op': 'add'|'remove'|'replace'|'move'|'copy'|'test',
            'path': 'string',
            'value': 'string',
            'from': 'string'
        },
    ]
)
type restApiId

string

param restApiId

[REQUIRED]

The string identifier of the associated RestApi.

type stageName

string

param stageName

[REQUIRED]

The name of the Stage resource to change information about.

type patchOperations

list

param patchOperations

A list of update operations to be applied to the specified resource and in the order specified in this list.

  • (dict) -- A single patch operation to apply to the specified resource. Please refer to http://tools.ietf.org/html/rfc6902#section-4 for an explanation of how each operation is used.

    • op (string) --

      An update operation to be performed with this PATCH request. The valid value can be add , remove , replace or copy . Not all valid operations are supported for a given resource. Support of the operations depends on specific operational contexts. Attempts to apply an unsupported operation on a resource will return an error message.

    • path (string) --

      The op operation's target, as identified by a JSON Pointer value that references a location within the targeted resource. For example, if the target resource has an updateable property of {"name":"value"} , the path for this property is /name . If the name property value is a JSON object (e.g., {"name": {"child/name": "child-value"}} ), the path for the child/name property will be /name/child~1name . Any slash ("/") character appearing in path names must be escaped with "~1", as shown in the example above. Each op operation can have only one path associated with it.

    • value (string) --

      The new target value of the update operation. It is applicable for the add or replace operation. When using AWS CLI to update a property of a JSON value, enclose the JSON object with a pair of single quotes in a Linux shell, e.g., '{"a": ...}'. In a Windows shell, see Using JSON for Parameters.

    • from (string) --

      The copy update operation's source as identified by a JSON-Pointer value referencing the location within the targeted resource to copy the value from. For example, to promote a canary deployment, you copy the canary deployment ID to the affiliated deployment ID by calling a PATCH request on a Stage resource with "op":"copy" , "from":"/canarySettings/deploymentId" and "path":"/deploymentId" .

rtype

dict

returns

Response Syntax

{
    'deploymentId': 'string',
    'clientCertificateId': 'string',
    'stageName': 'string',
    'description': 'string',
    'cacheClusterEnabled': True|False,
    'cacheClusterSize': '0.5'|'1.6'|'6.1'|'13.5'|'28.4'|'58.2'|'118'|'237',
    'cacheClusterStatus': 'CREATE_IN_PROGRESS'|'AVAILABLE'|'DELETE_IN_PROGRESS'|'NOT_AVAILABLE'|'FLUSH_IN_PROGRESS',
    'methodSettings': {
        'string': {
            'metricsEnabled': True|False,
            'loggingLevel': 'string',
            'dataTraceEnabled': True|False,
            'throttlingBurstLimit': 123,
            'throttlingRateLimit': 123.0,
            'cachingEnabled': True|False,
            'cacheTtlInSeconds': 123,
            'cacheDataEncrypted': True|False,
            'requireAuthorizationForCacheControl': True|False,
            'unauthorizedCacheControlHeaderStrategy': 'FAIL_WITH_403'|'SUCCEED_WITH_RESPONSE_HEADER'|'SUCCEED_WITHOUT_RESPONSE_HEADER'
        }
    },
    'variables': {
        'string': 'string'
    },
    'documentationVersion': 'string',
    'accessLogSettings': {
        'format': 'string',
        'destinationArn': 'string'
    },
    'canarySettings': {
        'percentTraffic': 123.0,
        'deploymentId': 'string',
        'stageVariableOverrides': {
            'string': 'string'
        },
        'useStageCache': True|False
    },
    'createdDate': datetime(2015, 1, 1),
    'lastUpdatedDate': datetime(2015, 1, 1)
}

Response Structure

  • (dict) --

    Represents a unique identifier for a version of a deployed RestApi that is callable by users.

    Deploy an API

    • deploymentId (string) --

      The identifier of the Deployment that the stage points to.

    • clientCertificateId (string) --

      The identifier of a client certificate for an API stage.

    • stageName (string) --

      The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to Amazon API Gateway.

    • description (string) --

      The stage's description.

    • cacheClusterEnabled (boolean) --

      Specifies whether a cache cluster is enabled for the stage.

    • cacheClusterSize (string) --

      The size of the cache cluster for the stage, if enabled.

    • cacheClusterStatus (string) --

      The status of the cache cluster for the stage, if enabled.

    • methodSettings (dict) --

      A map that defines the method settings for a Stage resource. Keys (designated as /{method_setting_key below) are method paths defined as {resource_path}/{http_method} for an individual method override, or /\*/\* for overriding all methods in the stage.

      • (string) --

        • (dict) --

          Specifies the method setting properties.

          • metricsEnabled (boolean) --

            Specifies whether Amazon CloudWatch metrics are enabled for this method. The PATCH path for this setting is /{method_setting_key}/metrics/enabled , and the value is a Boolean.

          • loggingLevel (string) --

            Specifies the logging level for this method, which effects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/loglevel , and the available levels are OFF , ERROR , and INFO .

          • dataTraceEnabled (boolean) --

            Specifies whether data trace logging is enabled for this method, which effects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/dataTrace , and the value is a Boolean.

          • throttlingBurstLimit (integer) --

            Specifies the throttling burst limit. The PATCH path for this setting is /{method_setting_key}/throttling/burstLimit , and the value is an integer.

          • throttlingRateLimit (float) --

            Specifies the throttling rate limit. The PATCH path for this setting is /{method_setting_key}/throttling/rateLimit , and the value is a double.

          • cachingEnabled (boolean) --

            Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached. The PATCH path for this setting is /{method_setting_key}/caching/enabled , and the value is a Boolean.

          • cacheTtlInSeconds (integer) --

            Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached. The PATCH path for this setting is /{method_setting_key}/caching/ttlInSeconds , and the value is an integer.

          • cacheDataEncrypted (boolean) --

            Specifies whether the cached responses are encrypted. The PATCH path for this setting is /{method_setting_key}/caching/dataEncrypted , and the value is a Boolean.

          • requireAuthorizationForCacheControl (boolean) --

            Specifies whether authorization is required for a cache invalidation request. The PATCH path for this setting is /{method_setting_key}/caching/requireAuthorizationForCacheControl , and the value is a Boolean.

          • unauthorizedCacheControlHeaderStrategy (string) --

            Specifies how to handle unauthorized requests for cache invalidation. The PATCH path for this setting is /{method_setting_key}/caching/unauthorizedCacheControlHeaderStrategy , and the available values are FAIL_WITH_403 , SUCCEED_WITH_RESPONSE_HEADER , SUCCEED_WITHOUT_RESPONSE_HEADER .

    • variables (dict) --

      A map that defines the stage variables for a Stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+ .

      • (string) --

        • (string) --

    • documentationVersion (string) --

      The version of the associated API documentation.

    • accessLogSettings (dict) --

      Settings for logging access in this stage.

      • format (string) --

        A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId .

      • destinationArn (string) --

        The ARN of the CloudWatch Logs log group to receive access logs.

    • canarySettings (dict) --

      Settings for the canary deployment in this stage.

      • percentTraffic (float) --

        The percent (0-100) of traffic diverted to a canary deployment.

      • deploymentId (string) --

        The ID of the canary deployment.

      • stageVariableOverrides (dict) --

        Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.

        • (string) --

          • (string) --

      • useStageCache (boolean) --

        A Boolean flag to indicate whether the canary deployment uses the stage cache or not.

    • createdDate (datetime) --

      The timestamp when the stage was created.

    • lastUpdatedDate (datetime) --

      The timestamp when the stage last updated.