Class: AWSCDK::APIGateway::CfnDeployment::StageDescriptionProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
api_gateway/cfn_deployment.rb

Overview

StageDescription is a property of the AWS::ApiGateway::Deployment resource that configures a deployment stage.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(access_log_setting: nil, cache_cluster_enabled: nil, cache_cluster_size: nil, cache_data_encrypted: nil, cache_ttl_in_seconds: nil, caching_enabled: nil, canary_setting: nil, client_certificate_id: nil, data_trace_enabled: nil, description: nil, documentation_version: nil, logging_level: nil, method_settings: nil, metrics_enabled: nil, tags: nil, throttling_burst_limit: nil, throttling_rate_limit: nil, tracing_enabled: nil, variables: nil) ⇒ StageDescriptionProperty

Returns a new instance of StageDescriptionProperty.

Parameters:

  • access_log_setting (AWSCDK::IResolvable, AWSCDK::APIGateway::CfnDeployment::AccessLogSettingProperty, nil) (defaults to: nil)

    Specifies settings for logging access in this stage.

  • cache_cluster_enabled (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Specifies whether a cache cluster is enabled for the stage.

  • cache_cluster_size (String, nil) (defaults to: nil)

    The size of the stage's cache cluster.

  • cache_data_encrypted (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Indicates whether the cached responses are encrypted.

  • cache_ttl_in_seconds (Numeric, nil) (defaults to: nil)

    The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses.

  • caching_enabled (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Indicates whether responses are cached and returned for requests.

  • canary_setting (AWSCDK::IResolvable, AWSCDK::APIGateway::CfnDeployment::CanarySettingProperty, nil) (defaults to: nil)

    Specifies settings for the canary deployment in this stage.

  • client_certificate_id (String, nil) (defaults to: nil)

    The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage.

  • data_trace_enabled (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Indicates whether data trace logging is enabled for methods in the stage.

  • description (String, nil) (defaults to: nil)

    A description of the purpose of the stage.

  • documentation_version (String, nil) (defaults to: nil)

    The version identifier of the API documentation snapshot.

  • logging_level (String, nil) (defaults to: nil)

    The logging level for this method.

  • method_settings (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::APIGateway::CfnDeployment::MethodSettingProperty>, nil) (defaults to: nil)

    Configures settings for all of the stage's methods.

  • metrics_enabled (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    An array of arbitrary tags (key-value pairs) to associate with the stage.

  • throttling_burst_limit (Numeric, nil) (defaults to: nil)

    The target request burst rate limit.

  • throttling_rate_limit (Numeric, nil) (defaults to: nil)

    The target request steady-state rate limit.

  • tracing_enabled (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Specifies whether active tracing with X-ray is enabled for this stage.

  • variables (AWSCDK::IResolvable, Hash{String => String}, nil) (defaults to: nil)

    A map that defines the stage variables.



874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
# File 'api_gateway/cfn_deployment.rb', line 874

def initialize(access_log_setting: nil, cache_cluster_enabled: nil, cache_cluster_size: nil, cache_data_encrypted: nil, cache_ttl_in_seconds: nil, caching_enabled: nil, canary_setting: nil, client_certificate_id: nil, data_trace_enabled: nil, description: nil, documentation_version: nil, logging_level: nil, method_settings: nil, metrics_enabled: nil, tags: nil, throttling_burst_limit: nil, throttling_rate_limit: nil, tracing_enabled: nil, variables: nil)
  @access_log_setting = access_log_setting.is_a?(Hash) ? ::AWSCDK::APIGateway::CfnDeployment::AccessLogSettingProperty.new(**access_log_setting.transform_keys(&:to_sym)) : access_log_setting
  Jsii::Type.check_type(@access_log_setting, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcGlnYXRld2F5LkNmbkRlcGxveW1lbnQuQWNjZXNzTG9nU2V0dGluZ1Byb3BlcnR5In1dfX0=")), "accessLogSetting") unless @access_log_setting.nil?
  @cache_cluster_enabled = cache_cluster_enabled
  Jsii::Type.check_type(@cache_cluster_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "cacheClusterEnabled") unless @cache_cluster_enabled.nil?
  @cache_cluster_size = cache_cluster_size
  Jsii::Type.check_type(@cache_cluster_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "cacheClusterSize") unless @cache_cluster_size.nil?
  @cache_data_encrypted = cache_data_encrypted
  Jsii::Type.check_type(@cache_data_encrypted, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "cacheDataEncrypted") unless @cache_data_encrypted.nil?
  @cache_ttl_in_seconds = cache_ttl_in_seconds
  Jsii::Type.check_type(@cache_ttl_in_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "cacheTtlInSeconds") unless @cache_ttl_in_seconds.nil?
  @caching_enabled = caching_enabled
  Jsii::Type.check_type(@caching_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "cachingEnabled") unless @caching_enabled.nil?
  @canary_setting = canary_setting.is_a?(Hash) ? ::AWSCDK::APIGateway::CfnDeployment::CanarySettingProperty.new(**canary_setting.transform_keys(&:to_sym)) : canary_setting
  Jsii::Type.check_type(@canary_setting, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcGlnYXRld2F5LkNmbkRlcGxveW1lbnQuQ2FuYXJ5U2V0dGluZ1Byb3BlcnR5In1dfX0=")), "canarySetting") unless @canary_setting.nil?
  @client_certificate_id = client_certificate_id
  Jsii::Type.check_type(@client_certificate_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clientCertificateId") unless @client_certificate_id.nil?
  @data_trace_enabled = data_trace_enabled
  Jsii::Type.check_type(@data_trace_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "dataTraceEnabled") unless @data_trace_enabled.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @documentation_version = documentation_version
  Jsii::Type.check_type(@documentation_version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "documentationVersion") unless @documentation_version.nil?
  @logging_level = logging_level
  Jsii::Type.check_type(@logging_level, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "loggingLevel") unless @logging_level.nil?
  @method_settings = method_settings
  Jsii::Type.check_type(@method_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheS5DZm5EZXBsb3ltZW50Lk1ldGhvZFNldHRpbmdQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "methodSettings") unless @method_settings.nil?
  @metrics_enabled = metrics_enabled
  Jsii::Type.check_type(@metrics_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "metricsEnabled") unless @metrics_enabled.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @throttling_burst_limit = throttling_burst_limit
  Jsii::Type.check_type(@throttling_burst_limit, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "throttlingBurstLimit") unless @throttling_burst_limit.nil?
  @throttling_rate_limit = throttling_rate_limit
  Jsii::Type.check_type(@throttling_rate_limit, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "throttlingRateLimit") unless @throttling_rate_limit.nil?
  @tracing_enabled = tracing_enabled
  Jsii::Type.check_type(@tracing_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "tracingEnabled") unless @tracing_enabled.nil?
  @variables = variables
  Jsii::Type.check_type(@variables, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsicHJpbWl0aXZlIjoic3RyaW5nIn0sImtpbmQiOiJtYXAifX1dfX0=")), "variables") unless @variables.nil?
end

Instance Attribute Details

#access_log_settingAWSCDK::IResolvable, ... (readonly)

Specifies settings for logging access in this stage.



919
920
921
# File 'api_gateway/cfn_deployment.rb', line 919

def access_log_setting
  @access_log_setting
end

#cache_cluster_enabledBoolean, ... (readonly)

Specifies whether a cache cluster is enabled for the stage.

To activate a method-level cache, set CachingEnabled to true for a method.



926
927
928
# File 'api_gateway/cfn_deployment.rb', line 926

def cache_cluster_enabled
  @cache_cluster_enabled
end

#cache_cluster_sizeString? (readonly)

The size of the stage's cache cluster.

For more information, see cacheClusterSize in the API Gateway API Reference .



933
934
935
# File 'api_gateway/cfn_deployment.rb', line 933

def cache_cluster_size
  @cache_cluster_size
end

#cache_data_encryptedBoolean, ... (readonly)

Indicates whether the cached responses are encrypted.



938
939
940
# File 'api_gateway/cfn_deployment.rb', line 938

def cache_data_encrypted
  @cache_data_encrypted
end

#cache_ttl_in_secondsNumeric? (readonly)

The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses.



943
944
945
# File 'api_gateway/cfn_deployment.rb', line 943

def cache_ttl_in_seconds
  @cache_ttl_in_seconds
end

#caching_enabledBoolean, ... (readonly)

Indicates whether responses are cached and returned for requests.

You must enable a cache cluster on the stage to cache responses. For more information, see Enable API Gateway Caching in a Stage to Enhance API Performance in the API Gateway Developer Guide .



950
951
952
# File 'api_gateway/cfn_deployment.rb', line 950

def caching_enabled
  @caching_enabled
end

#canary_settingAWSCDK::IResolvable, ... (readonly)

Specifies settings for the canary deployment in this stage.



955
956
957
# File 'api_gateway/cfn_deployment.rb', line 955

def canary_setting
  @canary_setting
end

#client_certificate_idString? (readonly)

The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage.



960
961
962
# File 'api_gateway/cfn_deployment.rb', line 960

def client_certificate_id
  @client_certificate_id
end

#data_trace_enabledBoolean, ... (readonly)

Indicates whether data trace logging is enabled for methods in the stage.

API Gateway pushes these logs to Amazon CloudWatch Logs.



967
968
969
# File 'api_gateway/cfn_deployment.rb', line 967

def data_trace_enabled
  @data_trace_enabled
end

#descriptionString? (readonly)

A description of the purpose of the stage.



972
973
974
# File 'api_gateway/cfn_deployment.rb', line 972

def description
  @description
end

#documentation_versionString? (readonly)

The version identifier of the API documentation snapshot.



977
978
979
# File 'api_gateway/cfn_deployment.rb', line 977

def documentation_version
  @documentation_version
end

#logging_levelString? (readonly)

The logging level for this method.

For valid values, see the logging_level property of the MethodSetting resource in the Amazon API Gateway API Reference .



984
985
986
# File 'api_gateway/cfn_deployment.rb', line 984

def logging_level
  @logging_level
end

#method_settingsAWSCDK::IResolvable, ... (readonly)

Configures settings for all of the stage's methods.



989
990
991
# File 'api_gateway/cfn_deployment.rb', line 989

def method_settings
  @method_settings
end

#metrics_enabledBoolean, ... (readonly)

Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage.



994
995
996
# File 'api_gateway/cfn_deployment.rb', line 994

def metrics_enabled
  @metrics_enabled
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

An array of arbitrary tags (key-value pairs) to associate with the stage.



999
1000
1001
# File 'api_gateway/cfn_deployment.rb', line 999

def tags
  @tags
end

#throttling_burst_limitNumeric? (readonly)

The target request burst rate limit.

This allows more requests through for a period of time than the target rate limit. For more information, see Manage API Request Throttling in the API Gateway Developer Guide .



1006
1007
1008
# File 'api_gateway/cfn_deployment.rb', line 1006

def throttling_burst_limit
  @throttling_burst_limit
end

#throttling_rate_limitNumeric? (readonly)

The target request steady-state rate limit.

For more information, see Manage API Request Throttling in the API Gateway Developer Guide .



1013
1014
1015
# File 'api_gateway/cfn_deployment.rb', line 1013

def throttling_rate_limit
  @throttling_rate_limit
end

#tracing_enabledBoolean, ... (readonly)

Specifies whether active tracing with X-ray is enabled for this stage.

For more information, see Trace API Gateway API Execution with AWS X-Ray in the API Gateway Developer Guide .



1020
1021
1022
# File 'api_gateway/cfn_deployment.rb', line 1020

def tracing_enabled
  @tracing_enabled
end

#variablesAWSCDK::IResolvable, ... (readonly)

A map that defines the stage variables.

Variable names must consist of alphanumeric characters, and the values must match the following regular expression: [A-Za-z0-9-._~:/?#&=,]+ .



1027
1028
1029
# File 'api_gateway/cfn_deployment.rb', line 1027

def variables
  @variables
end

Class Method Details

.jsii_propertiesObject



1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
# File 'api_gateway/cfn_deployment.rb', line 1029

def self.jsii_properties
  {
    :access_log_setting => "accessLogSetting",
    :cache_cluster_enabled => "cacheClusterEnabled",
    :cache_cluster_size => "cacheClusterSize",
    :cache_data_encrypted => "cacheDataEncrypted",
    :cache_ttl_in_seconds => "cacheTtlInSeconds",
    :caching_enabled => "cachingEnabled",
    :canary_setting => "canarySetting",
    :client_certificate_id => "clientCertificateId",
    :data_trace_enabled => "dataTraceEnabled",
    :description => "description",
    :documentation_version => "documentationVersion",
    :logging_level => "loggingLevel",
    :method_settings => "methodSettings",
    :metrics_enabled => "metricsEnabled",
    :tags => "tags",
    :throttling_burst_limit => "throttlingBurstLimit",
    :throttling_rate_limit => "throttlingRateLimit",
    :tracing_enabled => "tracingEnabled",
    :variables => "variables",
  }
end

Instance Method Details

#to_jsiiObject



1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
# File 'api_gateway/cfn_deployment.rb', line 1053

def to_jsii
  result = {}
  result.merge!({
    "accessLogSetting" => @access_log_setting,
    "cacheClusterEnabled" => @cache_cluster_enabled,
    "cacheClusterSize" => @cache_cluster_size,
    "cacheDataEncrypted" => @cache_data_encrypted,
    "cacheTtlInSeconds" => @cache_ttl_in_seconds,
    "cachingEnabled" => @caching_enabled,
    "canarySetting" => @canary_setting,
    "clientCertificateId" => @client_certificate_id,
    "dataTraceEnabled" => @data_trace_enabled,
    "description" => @description,
    "documentationVersion" => @documentation_version,
    "loggingLevel" => @logging_level,
    "methodSettings" => @method_settings,
    "metricsEnabled" => @metrics_enabled,
    "tags" => @tags,
    "throttlingBurstLimit" => @throttling_burst_limit,
    "throttlingRateLimit" => @throttling_rate_limit,
    "tracingEnabled" => @tracing_enabled,
    "variables" => @variables,
  })
  result.compact
end