Class: AWSCDK::APIGatewayv2::EndpointOptions

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

Overview

properties for creating a domain name endpoint.

Direct Known Subclasses

DomainNameProps

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(certificate:, certificate_name: nil, endpoint_type: nil, ip_address_type: nil, ownership_certificate: nil, security_policy: nil) ⇒ EndpointOptions

Returns a new instance of EndpointOptions.

Parameters:



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'api_gatewayv2/endpoint_options.rb', line 13

def initialize(certificate:, certificate_name: nil, endpoint_type: nil, ip_address_type: nil, ownership_certificate: nil, security_policy: nil)
  @certificate = certificate
  Jsii::Type.check_type(@certificate, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19jZXJ0aWZpY2F0ZW1hbmFnZXIuSUNlcnRpZmljYXRlUmVmIn0=")), "certificate")
  @certificate_name = certificate_name
  Jsii::Type.check_type(@certificate_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "certificateName") unless @certificate_name.nil?
  @endpoint_type = endpoint_type
  Jsii::Type.check_type(@endpoint_type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheXYyLkVuZHBvaW50VHlwZSJ9")), "endpointType") unless @endpoint_type.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?
  @ownership_certificate = ownership_certificate
  Jsii::Type.check_type(@ownership_certificate, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19jZXJ0aWZpY2F0ZW1hbmFnZXIuSUNlcnRpZmljYXRlUmVmIn0=")), "ownershipCertificate") unless @ownership_certificate.nil?
  @security_policy = security_policy
  Jsii::Type.check_type(@security_policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheXYyLlNlY3VyaXR5UG9saWN5In0=")), "securityPolicy") unless @security_policy.nil?
end

Instance Attribute Details

#certificateAWSCDK::Interfaces::AWSCertificatemanager::ICertificateRef (readonly)

The ACM certificate for this domain name.

Certificate can be both ACM issued or imported.



33
34
35
# File 'api_gatewayv2/endpoint_options.rb', line 33

def certificate
  @certificate
end

#certificate_nameString? (readonly)

Note:

Default: - No friendly certificate name

The user-friendly name of the certificate that will be used by the endpoint for this domain name.

Returns:

  • (String, nil)


38
39
40
# File 'api_gatewayv2/endpoint_options.rb', line 38

def certificate_name
  @certificate_name
end

#endpoint_typeAWSCDK::APIGatewayv2::EndpointType? (readonly)

Note:

Default: EndpointType.REGIONAL

The type of endpoint for this DomainName.



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

def endpoint_type
  @endpoint_type
end

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

Note:

Default: undefined - AWS default is IPV4

The IP address types that can invoke the API.



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

def ip_address_type
  @ip_address_type
end

#ownership_certificateAWSCDK::Interfaces::AWSCertificatemanager::ICertificateRef? (readonly)

Note:

Default: - only required when configuring mTLS

A public certificate issued by ACM to validate that you own a custom domain.

This parameter is required only when you configure mutual TLS authentication and you specify an ACM imported or private CA certificate for certificate. The ownership certificate validates that you have permissions to use the domain name.



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

def ownership_certificate
  @ownership_certificate
end

#security_policyAWSCDK::APIGatewayv2::SecurityPolicy? (readonly)

Note:

Default: SecurityPolicy.TLS_1_2

The Transport Layer Security (TLS) version + cipher suite for this domain name.



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

def security_policy
  @security_policy
end

Class Method Details

.jsii_propertiesObject



65
66
67
68
69
70
71
72
73
74
# File 'api_gatewayv2/endpoint_options.rb', line 65

def self.jsii_properties
  {
    :certificate => "certificate",
    :certificate_name => "certificateName",
    :endpoint_type => "endpointType",
    :ip_address_type => "ipAddressType",
    :ownership_certificate => "ownershipCertificate",
    :security_policy => "securityPolicy",
  }
end

Instance Method Details

#to_jsiiObject



76
77
78
79
80
81
82
83
84
85
86
87
# File 'api_gatewayv2/endpoint_options.rb', line 76

def to_jsii
  result = {}
  result.merge!({
    "certificate" => @certificate,
    "certificateName" => @certificate_name,
    "endpointType" => @endpoint_type,
    "ipAddressType" => @ip_address_type,
    "ownershipCertificate" => @ownership_certificate,
    "securityPolicy" => @security_policy,
  })
  result.compact
end