Class: AWSCDK::APIGateway::CfnDeployment::MethodSettingProperty

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

Overview

The MethodSetting property type configures settings for all methods in a stage.

If you modify this property type, you must create a new deployment for your API.

The MethodSettings property of the Amazon API Gateway Deployment StageDescription property type contains a list of MethodSetting property types.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cache_data_encrypted: nil, cache_ttl_in_seconds: nil, caching_enabled: nil, data_trace_enabled: nil, http_method: nil, logging_level: nil, metrics_enabled: nil, resource_path: nil, throttling_burst_limit: nil, throttling_rate_limit: nil) ⇒ MethodSettingProperty

Returns a new instance of MethodSettingProperty.

Parameters:

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

    Specifies whether the cached responses are encrypted.

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

    Specifies the time to live (TTL), in seconds, for cached responses.

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

    Specifies whether responses should be cached and returned for requests.

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

    Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs.

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

    The HTTP method.

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

    Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs.

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

    Specifies whether Amazon CloudWatch metrics are enabled for this method.

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

    The resource path for this method.

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

    Specifies the throttling burst limit.

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

    Specifies the throttling rate limit.



732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
# File 'api_gateway/cfn_deployment.rb', line 732

def initialize(cache_data_encrypted: nil, cache_ttl_in_seconds: nil, caching_enabled: nil, data_trace_enabled: nil, http_method: nil, logging_level: nil, metrics_enabled: nil, resource_path: nil, throttling_burst_limit: nil, throttling_rate_limit: 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?
  @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?
  @http_method = http_method
  Jsii::Type.check_type(@http_method, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "httpMethod") unless @http_method.nil?
  @logging_level = logging_level
  Jsii::Type.check_type(@logging_level, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "loggingLevel") unless @logging_level.nil?
  @metrics_enabled = metrics_enabled
  Jsii::Type.check_type(@metrics_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "metricsEnabled") unless @metrics_enabled.nil?
  @resource_path = resource_path
  Jsii::Type.check_type(@resource_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resourcePath") unless @resource_path.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?
end

Instance Attribute Details

#cache_data_encryptedBoolean, ... (readonly)

Specifies whether the cached responses are encrypted.



759
760
761
# File 'api_gateway/cfn_deployment.rb', line 759

def cache_data_encrypted
  @cache_data_encrypted
end

#cache_ttl_in_secondsNumeric? (readonly)

Specifies the time to live (TTL), in seconds, for cached responses.

The higher the TTL, the longer the response will be cached.



766
767
768
# File 'api_gateway/cfn_deployment.rb', line 766

def cache_ttl_in_seconds
  @cache_ttl_in_seconds
end

#caching_enabledBoolean, ... (readonly)

Specifies whether responses should be cached and returned for requests.

A cache cluster must be enabled on the stage for responses to be cached.



773
774
775
# File 'api_gateway/cfn_deployment.rb', line 773

def caching_enabled
  @caching_enabled
end

#data_trace_enabledBoolean, ... (readonly)

Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs.

This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs.



780
781
782
# File 'api_gateway/cfn_deployment.rb', line 780

def data_trace_enabled
  @data_trace_enabled
end

#http_methodString? (readonly)

The HTTP method.



785
786
787
# File 'api_gateway/cfn_deployment.rb', line 785

def http_method
  @http_method
end

#logging_levelString? (readonly)

Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs.

Valid values are OFF , ERROR , and INFO . Choose ERROR to write only error-level entries to CloudWatch Logs, or choose INFO to include all ERROR events as well as extra informational events.



792
793
794
# File 'api_gateway/cfn_deployment.rb', line 792

def logging_level
  @logging_level
end

#metrics_enabledBoolean, ... (readonly)

Specifies whether Amazon CloudWatch metrics are enabled for this method.



797
798
799
# File 'api_gateway/cfn_deployment.rb', line 797

def metrics_enabled
  @metrics_enabled
end

#resource_pathString? (readonly)

The resource path for this method.

Forward slashes ( / ) are encoded as ~1 and the initial slash must include a forward slash. For example, the path value /resource/subresource must be encoded as /~1resource~1subresource . To specify the root path, use only a slash ( / ).



804
805
806
# File 'api_gateway/cfn_deployment.rb', line 804

def resource_path
  @resource_path
end

#throttling_burst_limitNumeric? (readonly)

Specifies the throttling burst limit.



809
810
811
# File 'api_gateway/cfn_deployment.rb', line 809

def throttling_burst_limit
  @throttling_burst_limit
end

#throttling_rate_limitNumeric? (readonly)

Specifies the throttling rate limit.



814
815
816
# File 'api_gateway/cfn_deployment.rb', line 814

def throttling_rate_limit
  @throttling_rate_limit
end

Class Method Details

.jsii_propertiesObject



816
817
818
819
820
821
822
823
824
825
826
827
828
829
# File 'api_gateway/cfn_deployment.rb', line 816

def self.jsii_properties
  {
    :cache_data_encrypted => "cacheDataEncrypted",
    :cache_ttl_in_seconds => "cacheTtlInSeconds",
    :caching_enabled => "cachingEnabled",
    :data_trace_enabled => "dataTraceEnabled",
    :http_method => "httpMethod",
    :logging_level => "loggingLevel",
    :metrics_enabled => "metricsEnabled",
    :resource_path => "resourcePath",
    :throttling_burst_limit => "throttlingBurstLimit",
    :throttling_rate_limit => "throttlingRateLimit",
  }
end

Instance Method Details

#to_jsiiObject



831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
# File 'api_gateway/cfn_deployment.rb', line 831

def to_jsii
  result = {}
  result.merge!({
    "cacheDataEncrypted" => @cache_data_encrypted,
    "cacheTtlInSeconds" => @cache_ttl_in_seconds,
    "cachingEnabled" => @caching_enabled,
    "dataTraceEnabled" => @data_trace_enabled,
    "httpMethod" => @http_method,
    "loggingLevel" => @logging_level,
    "metricsEnabled" => @metrics_enabled,
    "resourcePath" => @resource_path,
    "throttlingBurstLimit" => @throttling_burst_limit,
    "throttlingRateLimit" => @throttling_rate_limit,
  })
  result.compact
end