Class: AWSCDK::APIGateway::IntegrationProps

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type:, integration_http_method: nil, options: nil, uri: nil) ⇒ IntegrationProps

Returns a new instance of IntegrationProps.

Parameters:

  • type (AWSCDK::APIGateway::IntegrationType)

    Specifies an API method integration type.

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

    The integration's HTTP method type.

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

    Integration options.

  • uri (Object, nil) (defaults to: nil)

    The Uniform Resource Identifier (URI) for the integration.



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

def initialize(type:, integration_http_method: nil, options: nil, uri: nil)
  @type = type
  Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheS5JbnRlZ3JhdGlvblR5cGUifQ==")), "type")
  @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?
  @uri = uri
  Jsii::Type.check_type(@uri, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "uri") unless @uri.nil?
end

Instance Attribute Details

#integration_http_methodString? (readonly)

The integration's HTTP method type.

Required unless you use a MOCK integration.

Returns:

  • (String, nil)


30
31
32
# File 'api_gateway/integration_props.rb', line 30

def integration_http_method
  @integration_http_method
end

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

Integration options.



34
35
36
# File 'api_gateway/integration_props.rb', line 34

def options
  @options
end

#typeAWSCDK::APIGateway::IntegrationType (readonly)

Specifies an API method integration type.



24
25
26
# File 'api_gateway/integration_props.rb', line 24

def type
  @type
end

#uriObject? (readonly)

The Uniform Resource Identifier (URI) for the integration.

  • If you specify HTTP for the type property, specify the API endpoint URL.
  • If you specify MOCK for the type property, don't specify this property.
  • If you specify AWS for the type property, specify an AWS service that follows this form: arn:partition:apigateway:region:subdomain.service|service:path|action/service_api. For example, a Lambda function URI follows this form: arn:partition:apigateway:region:lambda:path/path. The path is usually in the form /2015-03-31/functions/LambdaFunctionARN/invocations.


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

def uri
  @uri
end

Class Method Details

.jsii_propertiesObject



49
50
51
52
53
54
55
56
# File 'api_gateway/integration_props.rb', line 49

def self.jsii_properties
  {
    :type => "type",
    :integration_http_method => "integrationHttpMethod",
    :options => "options",
    :uri => "uri",
  }
end

Instance Method Details

#to_jsiiObject



58
59
60
61
62
63
64
65
66
67
# File 'api_gateway/integration_props.rb', line 58

def to_jsii
  result = {}
  result.merge!({
    "type" => @type,
    "integrationHttpMethod" => @integration_http_method,
    "options" => @options,
    "uri" => @uri,
  })
  result.compact
end