Class: AWSCDK::APIGateway::CfnRestAPI::EndpointConfigurationProperty

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

Overview

The EndpointConfiguration property type specifies the endpoint types and IP address types of a REST API.

EndpointConfiguration is a property of the AWS::ApiGateway::RestApi resource.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ip_address_type: nil, types: nil, vpc_endpoint_ids: nil) ⇒ EndpointConfigurationProperty

Returns a new instance of EndpointConfigurationProperty.

Parameters:

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

    The IP address types that can invoke an API (RestApi).

  • types (Array<String>, nil) (defaults to: nil)

    A list of endpoint types of an API (RestApi) or its custom domain name (DomainName).

  • vpc_endpoint_ids (Array<String>, nil) (defaults to: nil)

    A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes.



756
757
758
759
760
761
762
763
# File 'api_gateway/cfn_rest_api.rb', line 756

def initialize(ip_address_type: nil, types: nil, vpc_endpoint_ids: nil)
  @ip_address_type = ip_address_type
  Jsii::Type.check_type(@ip_address_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ipAddressType") unless @ip_address_type.nil?
  @types = types
  Jsii::Type.check_type(@types, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "types") unless @types.nil?
  @vpc_endpoint_ids = vpc_endpoint_ids
  Jsii::Type.check_type(@vpc_endpoint_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "vpcEndpointIds") unless @vpc_endpoint_ids.nil?
end

Instance Attribute Details

#ip_address_typeString? (readonly)

The IP address types that can invoke an API (RestApi).

Use ipv4 to allow only IPv4 addresses to invoke an API, or use dualstack to allow both IPv4 and IPv6 addresses to invoke an API. For the PRIVATE endpoint type, only dualstack is supported.



771
772
773
# File 'api_gateway/cfn_rest_api.rb', line 771

def ip_address_type
  @ip_address_type
end

#typesArray<String>? (readonly)

A list of endpoint types of an API (RestApi) or its custom domain name (DomainName).

For an edge-optimized API and its custom domain name, the endpoint type is "EDGE" . For a regional API and its custom domain name, the endpoint type is REGIONAL . For a private API, the endpoint type is PRIVATE .



778
779
780
# File 'api_gateway/cfn_rest_api.rb', line 778

def types
  @types
end

#vpc_endpoint_idsArray<String>? (readonly)

A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes.

It is only supported for PRIVATE endpoint type.



785
786
787
# File 'api_gateway/cfn_rest_api.rb', line 785

def vpc_endpoint_ids
  @vpc_endpoint_ids
end

Class Method Details

.jsii_propertiesObject



787
788
789
790
791
792
793
# File 'api_gateway/cfn_rest_api.rb', line 787

def self.jsii_properties
  {
    :ip_address_type => "ipAddressType",
    :types => "types",
    :vpc_endpoint_ids => "vpcEndpointIds",
  }
end

Instance Method Details

#to_jsiiObject



795
796
797
798
799
800
801
802
803
# File 'api_gateway/cfn_rest_api.rb', line 795

def to_jsii
  result = {}
  result.merge!({
    "ipAddressType" => @ip_address_type,
    "types" => @types,
    "vpcEndpointIds" => @vpc_endpoint_ids,
  })
  result.compact
end