Class: AWSCDK::APIGateway::AWSIntegrationProps

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(service:, action: nil, action_parameters: nil, integration_http_method: nil, options: nil, path: nil, proxy: nil, region: nil, subdomain: nil) ⇒ AWSIntegrationProps

Returns a new instance of AWSIntegrationProps.

Parameters:

  • service (String)

    The name of the integrated AWS service (e.g. s3).

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

    The AWS action to perform in the integration.

  • action_parameters (Hash{String => String}, nil) (defaults to: nil)

    Parameters for the action.

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

    The integration's HTTP method type.

  • options (AWSCDK::APIGateway::IntegrationOptions, nil) (defaults to: nil)

    Integration options, such as content handling, request/response mapping, etc.

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

    The path to use for path-base APIs.

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

    Use AWS_PROXY integration.

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

    The region of the integrated AWS service.

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

    A designated subdomain supported by certain AWS service for fast host-name lookup.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'api_gateway/aws_integration_props.rb', line 15

def initialize(service:, action: nil, action_parameters: nil, integration_http_method: nil, options: nil, path: nil, proxy: nil, region: nil, subdomain: nil)
  @service = service
  Jsii::Type.check_type(@service, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "service")
  @action = action
  Jsii::Type.check_type(@action, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "action") unless @action.nil?
  @action_parameters = action_parameters
  Jsii::Type.check_type(@action_parameters, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "actionParameters") unless @action_parameters.nil?
  @integration_http_method = integration_http_method
  Jsii::Type.check_type(@integration_http_method, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "integrationHttpMethod") unless @integration_http_method.nil?
  @options = options.is_a?(Hash) ? ::AWSCDK::APIGateway::IntegrationOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(@options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheS5JbnRlZ3JhdGlvbk9wdGlvbnMifQ==")), "options") unless @options.nil?
  @path = path
  Jsii::Type.check_type(@path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "path") unless @path.nil?
  @proxy = proxy
  Jsii::Type.check_type(@proxy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "proxy") unless @proxy.nil?
  @region = region
  Jsii::Type.check_type(@region, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "region") unless @region.nil?
  @subdomain = subdomain
  Jsii::Type.check_type(@subdomain, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "subdomain") unless @subdomain.nil?
end

Instance Attribute Details

#actionString? (readonly)

The AWS action to perform in the integration.

Use action_params to specify key-value params for the action.

Mutually exclusive with path.

Returns:

  • (String, nil)


47
48
49
# File 'api_gateway/aws_integration_props.rb', line 47

def action
  @action
end

#action_parametersHash{String => String}? (readonly)

Parameters for the action.

action must be set, and path must be undefined. The action params will be URL encoded.

Returns:

  • (Hash{String => String}, nil)


54
55
56
# File 'api_gateway/aws_integration_props.rb', line 54

def action_parameters
  @action_parameters
end

#integration_http_methodString? (readonly)

Note:

Default: POST

The integration's HTTP method type.

Returns:

  • (String, nil)


59
60
61
# File 'api_gateway/aws_integration_props.rb', line 59

def integration_http_method
  @integration_http_method
end

#optionsAWSCDK::APIGateway::IntegrationOptions? (readonly)

Integration options, such as content handling, request/response mapping, etc.



63
64
65
# File 'api_gateway/aws_integration_props.rb', line 63

def options
  @options
end

#pathString? (readonly)

The path to use for path-base APIs.

For example, for S3 GET, you can set path to bucket/key. For lambda, you can set path to 2015-03-31/functions/${function-arn}/invocations

Mutually exclusive with the action options.

Returns:

  • (String, nil)


72
73
74
# File 'api_gateway/aws_integration_props.rb', line 72

def path
  @path
end

#proxyBoolean? (readonly)

Note:

Default: false

Use AWS_PROXY integration.

Returns:

  • (Boolean, nil)


77
78
79
# File 'api_gateway/aws_integration_props.rb', line 77

def proxy
  @proxy
end

#regionString? (readonly)

Note:

Default: - same region as the stack

The region of the integrated AWS service.

Returns:

  • (String, nil)


82
83
84
# File 'api_gateway/aws_integration_props.rb', line 82

def region
  @region
end

#serviceString (readonly)

The name of the integrated AWS service (e.g. s3).

Returns:

  • (String)


39
40
41
# File 'api_gateway/aws_integration_props.rb', line 39

def service
  @service
end

#subdomainString? (readonly)

A designated subdomain supported by certain AWS service for fast host-name lookup.

Returns:

  • (String, nil)


86
87
88
# File 'api_gateway/aws_integration_props.rb', line 86

def subdomain
  @subdomain
end

Class Method Details

.jsii_propertiesObject



88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'api_gateway/aws_integration_props.rb', line 88

def self.jsii_properties
  {
    :service => "service",
    :action => "action",
    :action_parameters => "actionParameters",
    :integration_http_method => "integrationHttpMethod",
    :options => "options",
    :path => "path",
    :proxy => "proxy",
    :region => "region",
    :subdomain => "subdomain",
  }
end

Instance Method Details

#to_jsiiObject



102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'api_gateway/aws_integration_props.rb', line 102

def to_jsii
  result = {}
  result.merge!({
    "service" => @service,
    "action" => @action,
    "actionParameters" => @action_parameters,
    "integrationHttpMethod" => @integration_http_method,
    "options" => @options,
    "path" => @path,
    "proxy" => @proxy,
    "region" => @region,
    "subdomain" => @subdomain,
  })
  result.compact
end