Class: AWSCDK::APIGatewayv2::WebSocketAPIProps

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

Overview

Props for WebSocket API.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_key_selection_expression: nil, api_name: nil, connect_route_options: nil, default_route_options: nil, description: nil, disable_schema_validation: nil, disconnect_route_options: nil, ip_address_type: nil, route_selection_expression: nil) ⇒ WebSocketAPIProps

Returns a new instance of WebSocketAPIProps.

Parameters:



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

def initialize(api_key_selection_expression: nil, api_name: nil, connect_route_options: nil, default_route_options: nil, description: nil, disable_schema_validation: nil, disconnect_route_options: nil, ip_address_type: nil, route_selection_expression: nil)
  @api_key_selection_expression = api_key_selection_expression
  Jsii::Type.check_type(@api_key_selection_expression, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheXYyLldlYlNvY2tldEFwaUtleVNlbGVjdGlvbkV4cHJlc3Npb24ifQ==")), "apiKeySelectionExpression") unless @api_key_selection_expression.nil?
  @api_name = api_name
  Jsii::Type.check_type(@api_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "apiName") unless @api_name.nil?
  @connect_route_options = connect_route_options.is_a?(Hash) ? ::AWSCDK::APIGatewayv2::WebSocketRouteOptions.new(**connect_route_options.transform_keys(&:to_sym)) : connect_route_options
  Jsii::Type.check_type(@connect_route_options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheXYyLldlYlNvY2tldFJvdXRlT3B0aW9ucyJ9")), "connectRouteOptions") unless @connect_route_options.nil?
  @default_route_options = default_route_options.is_a?(Hash) ? ::AWSCDK::APIGatewayv2::WebSocketRouteOptions.new(**default_route_options.transform_keys(&:to_sym)) : default_route_options
  Jsii::Type.check_type(@default_route_options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheXYyLldlYlNvY2tldFJvdXRlT3B0aW9ucyJ9")), "defaultRouteOptions") unless @default_route_options.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @disable_schema_validation = disable_schema_validation
  Jsii::Type.check_type(@disable_schema_validation, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "disableSchemaValidation") unless @disable_schema_validation.nil?
  @disconnect_route_options = disconnect_route_options.is_a?(Hash) ? ::AWSCDK::APIGatewayv2::WebSocketRouteOptions.new(**disconnect_route_options.transform_keys(&:to_sym)) : disconnect_route_options
  Jsii::Type.check_type(@disconnect_route_options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheXYyLldlYlNvY2tldFJvdXRlT3B0aW9ucyJ9")), "disconnectRouteOptions") unless @disconnect_route_options.nil?
  @ip_address_type = ip_address_type
  Jsii::Type.check_type(@ip_address_type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheXYyLklwQWRkcmVzc1R5cGUifQ==")), "ipAddressType") unless @ip_address_type.nil?
  @route_selection_expression = route_selection_expression
  Jsii::Type.check_type(@route_selection_expression, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "routeSelectionExpression") unless @route_selection_expression.nil?
end

Instance Attribute Details

#api_key_selection_expressionAWSCDK::APIGatewayv2::WebSocketAPIKeySelectionExpression? (readonly)

Note:

Default: - Key is not required to access these APIs

An API key selection expression.

Providing this option will require an API Key be provided to access the API.



43
44
45
# File 'api_gatewayv2/web_socket_api_props.rb', line 43

def api_key_selection_expression
  @api_key_selection_expression
end

#api_nameString? (readonly)

Note:

Default: - id of the WebSocketApi construct.

Name for the WebSocket API resource.

Returns:

  • (String, nil)


48
49
50
# File 'api_gatewayv2/web_socket_api_props.rb', line 48

def api_name
  @api_name
end

#connect_route_optionsAWSCDK::APIGatewayv2::WebSocketRouteOptions? (readonly)

Note:

Default: - no '$connect' route configured

Options to configure a '$connect' route.



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

def connect_route_options
  @connect_route_options
end

#default_route_optionsAWSCDK::APIGatewayv2::WebSocketRouteOptions? (readonly)

Note:

Default: - no '$default' route configured

Options to configure a '$default' route.



58
59
60
# File 'api_gatewayv2/web_socket_api_props.rb', line 58

def default_route_options
  @default_route_options
end

#descriptionString? (readonly)

Note:

Default: - none

The description of the API.

Returns:

  • (String, nil)


63
64
65
# File 'api_gatewayv2/web_socket_api_props.rb', line 63

def description
  @description
end

#disable_schema_validationBoolean? (readonly)

Note:

Default: false

Avoid validating models when creating a deployment.

Returns:

  • (Boolean, nil)


68
69
70
# File 'api_gatewayv2/web_socket_api_props.rb', line 68

def disable_schema_validation
  @disable_schema_validation
end

#disconnect_route_optionsAWSCDK::APIGatewayv2::WebSocketRouteOptions? (readonly)

Note:

Default: - no '$disconnect' route configured

Options to configure a '$disconnect' route.



73
74
75
# File 'api_gatewayv2/web_socket_api_props.rb', line 73

def disconnect_route_options
  @disconnect_route_options
end

#ip_address_typeAWSCDK::APIGatewayv2::IPAddressType? (readonly)

Note:

Default: undefined - AWS default is IPV4

The IP address types that can invoke the API.



79
80
81
# File 'api_gatewayv2/web_socket_api_props.rb', line 79

def ip_address_type
  @ip_address_type
end

#route_selection_expressionString? (readonly)

Note:

Default: '$request.body.action'

The route selection expression for the API.

Returns:

  • (String, nil)


84
85
86
# File 'api_gatewayv2/web_socket_api_props.rb', line 84

def route_selection_expression
  @route_selection_expression
end

Class Method Details

.jsii_propertiesObject



86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'api_gatewayv2/web_socket_api_props.rb', line 86

def self.jsii_properties
  {
    :api_key_selection_expression => "apiKeySelectionExpression",
    :api_name => "apiName",
    :connect_route_options => "connectRouteOptions",
    :default_route_options => "defaultRouteOptions",
    :description => "description",
    :disable_schema_validation => "disableSchemaValidation",
    :disconnect_route_options => "disconnectRouteOptions",
    :ip_address_type => "ipAddressType",
    :route_selection_expression => "routeSelectionExpression",
  }
end

Instance Method Details

#to_jsiiObject



100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# File 'api_gatewayv2/web_socket_api_props.rb', line 100

def to_jsii
  result = {}
  result.merge!({
    "apiKeySelectionExpression" => @api_key_selection_expression,
    "apiName" => @api_name,
    "connectRouteOptions" => @connect_route_options,
    "defaultRouteOptions" => @default_route_options,
    "description" => @description,
    "disableSchemaValidation" => @disable_schema_validation,
    "disconnectRouteOptions" => @disconnect_route_options,
    "ipAddressType" => @ip_address_type,
    "routeSelectionExpression" => @route_selection_expression,
  })
  result.compact
end