Class: AWSCDK::APIGatewayv2::HttpIntegrationProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
api_gatewayv2/http_integration_props.rb

Overview

The integration properties.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(http_api:, integration_type:, connection_id: nil, connection_type: nil, credentials: nil, integration_subtype: nil, integration_uri: nil, method: nil, parameter_mapping: nil, payload_format_version: nil, secure_server_name: nil, timeout: nil) ⇒ HttpIntegrationProps

Returns a new instance of HttpIntegrationProps.

Parameters:



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'api_gatewayv2/http_integration_props.rb', line 19

def initialize(http_api:, integration_type:, connection_id: nil, connection_type: nil, credentials: nil, integration_subtype: nil, integration_uri: nil, method: nil, parameter_mapping: nil, payload_format_version: nil, secure_server_name: nil, timeout: nil)
  @http_api = http_api
  Jsii::Type.check_type(@http_api, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheXYyLklIdHRwQXBpUmVmIn0=")), "httpApi")
  @integration_type = integration_type
  Jsii::Type.check_type(@integration_type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheXYyLkh0dHBJbnRlZ3JhdGlvblR5cGUifQ==")), "integrationType")
  @connection_id = connection_id
  Jsii::Type.check_type(@connection_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "connectionId") unless @connection_id.nil?
  @connection_type = connection_type
  Jsii::Type.check_type(@connection_type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheXYyLkh0dHBDb25uZWN0aW9uVHlwZSJ9")), "connectionType") unless @connection_type.nil?
  @credentials = credentials
  Jsii::Type.check_type(@credentials, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheXYyLkludGVncmF0aW9uQ3JlZGVudGlhbHMifQ==")), "credentials") unless @credentials.nil?
  @integration_subtype = integration_subtype
  Jsii::Type.check_type(@integration_subtype, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheXYyLkh0dHBJbnRlZ3JhdGlvblN1YnR5cGUifQ==")), "integrationSubtype") unless @integration_subtype.nil?
  @integration_uri = integration_uri
  Jsii::Type.check_type(@integration_uri, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "integrationUri") unless @integration_uri.nil?
  @method = method
  Jsii::Type.check_type(@method, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheXYyLkh0dHBNZXRob2QifQ==")), "method") unless @method.nil?
  @parameter_mapping = parameter_mapping
  Jsii::Type.check_type(@parameter_mapping, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheXYyLlBhcmFtZXRlck1hcHBpbmcifQ==")), "parameterMapping") unless @parameter_mapping.nil?
  @payload_format_version = payload_format_version
  Jsii::Type.check_type(@payload_format_version, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheXYyLlBheWxvYWRGb3JtYXRWZXJzaW9uIn0=")), "payloadFormatVersion") unless @payload_format_version.nil?
  @secure_server_name = secure_server_name
  Jsii::Type.check_type(@secure_server_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "secureServerName") unless @secure_server_name.nil?
  @timeout = timeout
  Jsii::Type.check_type(@timeout, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "timeout") unless @timeout.nil?
end

Instance Attribute Details

#connection_idString? (readonly)

Note:

Default: - undefined

The ID of the VPC link for a private integration.

Supported only for HTTP APIs.

Returns:

  • (String, nil)


60
61
62
# File 'api_gatewayv2/http_integration_props.rb', line 60

def connection_id
  @connection_id
end

#connection_typeAWSCDK::APIGatewayv2::HttpConnectionType? (readonly)

Note:

Default: HttpConnectionType.INTERNET

The type of the network connection to the integration endpoint.



65
66
67
# File 'api_gatewayv2/http_integration_props.rb', line 65

def connection_type
  @connection_type
end

#credentialsAWSCDK::APIGatewayv2::IntegrationCredentials? (readonly)

Note:

Default: - no credentials, use resource-based permissions on supported AWS services

The credentials with which to invoke the integration.



70
71
72
# File 'api_gatewayv2/http_integration_props.rb', line 70

def credentials
  @credentials
end

#http_apiAWSCDK::APIGatewayv2::IHttpAPIRef (readonly)

The HTTP API to which this integration should be bound.



49
50
51
# File 'api_gatewayv2/http_integration_props.rb', line 49

def http_api
  @http_api
end

#integration_subtypeAWSCDK::APIGatewayv2::HttpIntegrationSubtype? (readonly)

Note:

Default: - none, required if no integrationUri is defined.

Integration subtype.

Used for AWS Service integrations, specifies the target of the integration.



77
78
79
# File 'api_gatewayv2/http_integration_props.rb', line 77

def integration_subtype
  @integration_subtype
end

#integration_typeAWSCDK::APIGatewayv2::HttpIntegrationType (readonly)

Integration type.



53
54
55
# File 'api_gatewayv2/http_integration_props.rb', line 53

def integration_type
  @integration_type
end

#integration_uriString? (readonly)

Note:

Default: - none, required if no integrationSubtype is defined.

Integration URI.

This will be the function ARN in the case of HttpIntegrationType.AWS_PROXY, or HTTP URL in the case of HttpIntegrationType.HTTP_PROXY.

Returns:

  • (String, nil)


85
86
87
# File 'api_gatewayv2/http_integration_props.rb', line 85

def integration_uri
  @integration_uri
end

#methodAWSCDK::APIGatewayv2::HttpMethod? (readonly)

Note:

Default: - none. required if the integration type is HttpIntegrationType.HTTP_PROXY.

The HTTP method to use when calling the underlying HTTP proxy.



90
91
92
# File 'api_gatewayv2/http_integration_props.rb', line 90

def method
  @method
end

#parameter_mappingAWSCDK::APIGatewayv2::ParameterMapping? (readonly)

Note:

Default: undefined requests are sent to the backend unmodified

Specifies how to transform HTTP requests before sending them to the backend.



96
97
98
# File 'api_gatewayv2/http_integration_props.rb', line 96

def parameter_mapping
  @parameter_mapping
end

#payload_format_versionAWSCDK::APIGatewayv2::PayloadFormatVersion? (readonly)

Note:

Default: - defaults to latest in the case of HttpIntegrationType.AWS_PROXY`, irrelevant otherwise.

The version of the payload format.



102
103
104
# File 'api_gatewayv2/http_integration_props.rb', line 102

def payload_format_version
  @payload_format_version
end

#secure_server_nameString? (readonly)

Note:

Default: undefined private integration traffic will use HTTP protocol

Specifies the TLS configuration for a private integration.



108
109
110
# File 'api_gatewayv2/http_integration_props.rb', line 108

def secure_server_name
  @secure_server_name
end

#timeoutAWSCDK::Duration? (readonly)

Note:

Default: Duration.seconds(29)

The maximum amount of time an integration will run before it returns without a response.

Must be between 50 milliseconds and 29 seconds.

Returns:



115
116
117
# File 'api_gatewayv2/http_integration_props.rb', line 115

def timeout
  @timeout
end

Class Method Details

.jsii_propertiesObject



117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# File 'api_gatewayv2/http_integration_props.rb', line 117

def self.jsii_properties
  {
    :http_api => "httpApi",
    :integration_type => "integrationType",
    :connection_id => "connectionId",
    :connection_type => "connectionType",
    :credentials => "credentials",
    :integration_subtype => "integrationSubtype",
    :integration_uri => "integrationUri",
    :method => "method",
    :parameter_mapping => "parameterMapping",
    :payload_format_version => "payloadFormatVersion",
    :secure_server_name => "secureServerName",
    :timeout => "timeout",
  }
end

Instance Method Details

#to_jsiiObject



134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# File 'api_gatewayv2/http_integration_props.rb', line 134

def to_jsii
  result = {}
  result.merge!({
    "httpApi" => @http_api,
    "integrationType" => @integration_type,
    "connectionId" => @connection_id,
    "connectionType" => @connection_type,
    "credentials" => @credentials,
    "integrationSubtype" => @integration_subtype,
    "integrationUri" => @integration_uri,
    "method" => @method,
    "parameterMapping" => @parameter_mapping,
    "payloadFormatVersion" => @payload_format_version,
    "secureServerName" => @secure_server_name,
    "timeout" => @timeout,
  })
  result.compact
end