Class: AWSCDK::APIGateway::ProxyResourceOptions

Inherits:
ResourceOptions
  • Object
show all
Defined in:
api_gateway/proxy_resource_options.rb

Direct Known Subclasses

ProxyResourceProps

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(default_cors_preflight_options: nil, default_integration: nil, default_method_options: nil, any_method: nil) ⇒ ProxyResourceOptions

Returns a new instance of ProxyResourceOptions.

Parameters:

  • default_cors_preflight_options (AWSCDK::APIGateway::CorsOptions, nil) (defaults to: nil)

    Adds a CORS preflight OPTIONS method to this resource and all child resources.

  • default_integration (AWSCDK::APIGateway::Integration, nil) (defaults to: nil)

    An integration to use as a default for all methods created within this API unless an integration is specified.

  • default_method_options (AWSCDK::APIGateway::MethodOptions, nil) (defaults to: nil)

    Method options to use as a default for all methods created within this API unless custom options are specified.

  • any_method (Boolean, nil) (defaults to: nil)

    Adds an "ANY" method to this resource.



10
11
12
13
14
15
16
17
18
19
# File 'api_gateway/proxy_resource_options.rb', line 10

def initialize(default_cors_preflight_options: nil, default_integration: nil, default_method_options: nil, any_method: nil)
  @default_cors_preflight_options = default_cors_preflight_options.is_a?(Hash) ? ::AWSCDK::APIGateway::CorsOptions.new(**default_cors_preflight_options.transform_keys(&:to_sym)) : default_cors_preflight_options
  Jsii::Type.check_type(@default_cors_preflight_options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheS5Db3JzT3B0aW9ucyJ9")), "defaultCorsPreflightOptions") unless @default_cors_preflight_options.nil?
  @default_integration = default_integration
  Jsii::Type.check_type(@default_integration, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheS5JbnRlZ3JhdGlvbiJ9")), "defaultIntegration") unless @default_integration.nil?
  @default_method_options = default_method_options.is_a?(Hash) ? ::AWSCDK::APIGateway::MethodOptions.new(**default_method_options.transform_keys(&:to_sym)) : default_method_options
  Jsii::Type.check_type(@default_method_options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheS5NZXRob2RPcHRpb25zIn0=")), "defaultMethodOptions") unless @default_method_options.nil?
  @any_method = any_method
  Jsii::Type.check_type(@any_method, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "anyMethod") unless @any_method.nil?
end

Instance Attribute Details

#any_methodBoolean? (readonly)

Note:

Default: true

Adds an "ANY" method to this resource.

If set to false, you will have to explicitly add methods to this resource after it's created.

Returns:

  • (Boolean, nil)


45
46
47
# File 'api_gateway/proxy_resource_options.rb', line 45

def any_method
  @any_method
end

#default_cors_preflight_optionsAWSCDK::APIGateway::CorsOptions? (readonly)

Note:

Default: - CORS is disabled

Adds a CORS preflight OPTIONS method to this resource and all child resources.

You can add CORS at the resource-level using add_cors_preflight.



27
28
29
# File 'api_gateway/proxy_resource_options.rb', line 27

def default_cors_preflight_options
  @default_cors_preflight_options
end

#default_integrationAWSCDK::APIGateway::Integration? (readonly)

Note:

Default: - Inherited from parent.

An integration to use as a default for all methods created within this API unless an integration is specified.



32
33
34
# File 'api_gateway/proxy_resource_options.rb', line 32

def default_integration
  @default_integration
end

#default_method_optionsAWSCDK::APIGateway::MethodOptions? (readonly)

Note:

Default: - Inherited from parent.

Method options to use as a default for all methods created within this API unless custom options are specified.



37
38
39
# File 'api_gateway/proxy_resource_options.rb', line 37

def default_method_options
  @default_method_options
end

Class Method Details

.jsii_propertiesObject



47
48
49
50
51
52
53
54
# File 'api_gateway/proxy_resource_options.rb', line 47

def self.jsii_properties
  {
    :default_cors_preflight_options => "defaultCorsPreflightOptions",
    :default_integration => "defaultIntegration",
    :default_method_options => "defaultMethodOptions",
    :any_method => "anyMethod",
  }
end

Instance Method Details

#to_jsiiObject



56
57
58
59
60
61
62
63
64
65
66
# File 'api_gateway/proxy_resource_options.rb', line 56

def to_jsii
  result = {}
  result.merge!(super)
  result.merge!({
    "defaultCorsPreflightOptions" => @default_cors_preflight_options,
    "defaultIntegration" => @default_integration,
    "defaultMethodOptions" => @default_method_options,
    "anyMethod" => @any_method,
  })
  result.compact
end