Class: AWSCDK::APIGatewayv2::DomainNameProps
- Inherits:
-
EndpointOptions
- Object
- EndpointOptions
- AWSCDK::APIGatewayv2::DomainNameProps
- Defined in:
- api_gatewayv2/domain_name_props.rb
Overview
properties used for creating the DomainName.
Instance Attribute Summary collapse
-
#certificate ⇒ AWSCDK::Interfaces::AWSCertificatemanager::ICertificateRef
readonly
The ACM certificate for this domain name.
-
#certificate_name ⇒ String?
readonly
The user-friendly name of the certificate that will be used by the endpoint for this domain name.
-
#domain_name ⇒ String
readonly
The custom domain name.
-
#endpoint_type ⇒ AWSCDK::APIGatewayv2::EndpointType?
readonly
The type of endpoint for this DomainName.
-
#ip_address_type ⇒ AWSCDK::APIGatewayv2::IPAddressType?
readonly
The IP address types that can invoke the API.
-
#mtls ⇒ AWSCDK::APIGatewayv2::MTLSConfig?
readonly
The mutual TLS authentication configuration for a custom domain name.
-
#ownership_certificate ⇒ AWSCDK::Interfaces::AWSCertificatemanager::ICertificateRef?
readonly
A public certificate issued by ACM to validate that you own a custom domain.
-
#security_policy ⇒ AWSCDK::APIGatewayv2::SecurityPolicy?
readonly
The Transport Layer Security (TLS) version + cipher suite for this domain name.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(certificate:, certificate_name: nil, endpoint_type: nil, ip_address_type: nil, ownership_certificate: nil, security_policy: nil, domain_name:, mtls: nil) ⇒ DomainNameProps
constructor
A new instance of DomainNameProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(certificate:, certificate_name: nil, endpoint_type: nil, ip_address_type: nil, ownership_certificate: nil, security_policy: nil, domain_name:, mtls: nil) ⇒ DomainNameProps
Returns a new instance of DomainNameProps.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'api_gatewayv2/domain_name_props.rb', line 15 def initialize(certificate:, certificate_name: nil, endpoint_type: nil, ip_address_type: nil, ownership_certificate: nil, security_policy: nil, domain_name:, mtls: 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? @domain_name = domain_name Jsii::Type.check_type(@domain_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domainName") @mtls = mtls.is_a?(Hash) ? ::AWSCDK::APIGatewayv2::MTLSConfig.new(**mtls.transform_keys(&:to_sym)) : mtls Jsii::Type.check_type(@mtls, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBpZ2F0ZXdheXYyLk1UTFNDb25maWcifQ==")), "mtls") unless @mtls.nil? end |
Instance Attribute Details
#certificate ⇒ AWSCDK::Interfaces::AWSCertificatemanager::ICertificateRef (readonly)
The ACM certificate for this domain name.
Certificate can be both ACM issued or imported.
39 40 41 |
# File 'api_gatewayv2/domain_name_props.rb', line 39 def certificate @certificate end |
#certificate_name ⇒ String? (readonly)
Default: - No friendly certificate name
The user-friendly name of the certificate that will be used by the endpoint for this domain name.
44 45 46 |
# File 'api_gatewayv2/domain_name_props.rb', line 44 def certificate_name @certificate_name end |
#domain_name ⇒ String (readonly)
The custom domain name.
73 74 75 |
# File 'api_gatewayv2/domain_name_props.rb', line 73 def domain_name @domain_name end |
#endpoint_type ⇒ AWSCDK::APIGatewayv2::EndpointType? (readonly)
Default: EndpointType.REGIONAL
The type of endpoint for this DomainName.
49 50 51 |
# File 'api_gatewayv2/domain_name_props.rb', line 49 def endpoint_type @endpoint_type end |
#ip_address_type ⇒ AWSCDK::APIGatewayv2::IPAddressType? (readonly)
Default: undefined - AWS default is IPV4
The IP address types that can invoke the API.
55 56 57 |
# File 'api_gatewayv2/domain_name_props.rb', line 55 def ip_address_type @ip_address_type end |
#mtls ⇒ AWSCDK::APIGatewayv2::MTLSConfig? (readonly)
Default: - mTLS is not configured.
The mutual TLS authentication configuration for a custom domain name.
78 79 80 |
# File 'api_gatewayv2/domain_name_props.rb', line 78 def mtls @mtls end |
#ownership_certificate ⇒ AWSCDK::Interfaces::AWSCertificatemanager::ICertificateRef? (readonly)
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.
64 65 66 |
# File 'api_gatewayv2/domain_name_props.rb', line 64 def ownership_certificate @ownership_certificate end |
#security_policy ⇒ AWSCDK::APIGatewayv2::SecurityPolicy? (readonly)
Default: SecurityPolicy.TLS_1_2
The Transport Layer Security (TLS) version + cipher suite for this domain name.
69 70 71 |
# File 'api_gatewayv2/domain_name_props.rb', line 69 def security_policy @security_policy end |
Class Method Details
.jsii_properties ⇒ Object
80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'api_gatewayv2/domain_name_props.rb', line 80 def self.jsii_properties { :certificate => "certificate", :certificate_name => "certificateName", :endpoint_type => "endpointType", :ip_address_type => "ipAddressType", :ownership_certificate => "ownershipCertificate", :security_policy => "securityPolicy", :domain_name => "domainName", :mtls => "mtls", } end |
Instance Method Details
#to_jsii ⇒ Object
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
# File 'api_gatewayv2/domain_name_props.rb', line 93 def to_jsii result = {} result.merge!(super) result.merge!({ "certificate" => @certificate, "certificateName" => @certificate_name, "endpointType" => @endpoint_type, "ipAddressType" => @ip_address_type, "ownershipCertificate" => @ownership_certificate, "securityPolicy" => @security_policy, "domainName" => @domain_name, "mtls" => @mtls, }) result.compact end |