Class: AWSCDK::APIGateway::CfnDomainNameProps

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

Overview

Properties for defining a CfnDomainName.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(certificate_arn: nil, domain_name: nil, endpoint_access_mode: nil, endpoint_configuration: nil, mutual_tls_authentication: nil, ownership_verification_certificate_arn: nil, regional_certificate_arn: nil, routing_mode: nil, security_policy: nil, tags: nil) ⇒ CfnDomainNameProps

Returns a new instance of CfnDomainNameProps.

Parameters:

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

    The reference to an AWS -managed certificate that will be used by edge-optimized endpoint or private endpoint for this domain name.

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

    The custom domain name as an API host name, for example, my-api.example.com .

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

    The endpoint access mode for your DomainName.

  • endpoint_configuration (AWSCDK::IResolvable, AWSCDK::APIGateway::CfnDomainName::EndpointConfigurationProperty, nil) (defaults to: nil)

    The endpoint configuration of this DomainName showing the endpoint types and IP address types of the domain name.

  • mutual_tls_authentication (AWSCDK::IResolvable, AWSCDK::APIGateway::CfnDomainName::MutualTLSAuthenticationProperty, nil) (defaults to: nil)

    The mutual TLS authentication configuration for a custom domain name.

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

    The ARN of the public certificate issued by ACM to validate ownership of your custom domain.

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

    The reference to an AWS -managed certificate that will be used for validating the regional domain name.

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

    The routing mode for this domain name.

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

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

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    The collection of tags.



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'api_gateway/cfn_domain_name_props.rb', line 19

def initialize(certificate_arn: nil, domain_name: nil, endpoint_access_mode: nil, endpoint_configuration: nil, mutual_tls_authentication: nil, ownership_verification_certificate_arn: nil, regional_certificate_arn: nil, routing_mode: nil, security_policy: nil, tags: nil)
  @certificate_arn = certificate_arn
  Jsii::Type.check_type(@certificate_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "certificateArn") unless @certificate_arn.nil?
  @domain_name = domain_name
  Jsii::Type.check_type(@domain_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domainName") unless @domain_name.nil?
  @endpoint_access_mode = endpoint_access_mode
  Jsii::Type.check_type(@endpoint_access_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "endpointAccessMode") unless @endpoint_access_mode.nil?
  @endpoint_configuration = endpoint_configuration.is_a?(Hash) ? ::AWSCDK::APIGateway::CfnDomainName::EndpointConfigurationProperty.new(**endpoint_configuration.transform_keys(&:to_sym)) : endpoint_configuration
  Jsii::Type.check_type(@endpoint_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcGlnYXRld2F5LkNmbkRvbWFpbk5hbWUuRW5kcG9pbnRDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "endpointConfiguration") unless @endpoint_configuration.nil?
  @mutual_tls_authentication = mutual_tls_authentication.is_a?(Hash) ? ::AWSCDK::APIGateway::CfnDomainName::MutualTLSAuthenticationProperty.new(**mutual_tls_authentication.transform_keys(&:to_sym)) : mutual_tls_authentication
  Jsii::Type.check_type(@mutual_tls_authentication, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcGlnYXRld2F5LkNmbkRvbWFpbk5hbWUuTXV0dWFsVGxzQXV0aGVudGljYXRpb25Qcm9wZXJ0eSJ9XX19")), "mutualTlsAuthentication") unless @mutual_tls_authentication.nil?
  @ownership_verification_certificate_arn = ownership_verification_certificate_arn
  Jsii::Type.check_type(@ownership_verification_certificate_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ownershipVerificationCertificateArn") unless @ownership_verification_certificate_arn.nil?
  @regional_certificate_arn = regional_certificate_arn
  Jsii::Type.check_type(@regional_certificate_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "regionalCertificateArn") unless @regional_certificate_arn.nil?
  @routing_mode = routing_mode
  Jsii::Type.check_type(@routing_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "routingMode") unless @routing_mode.nil?
  @security_policy = security_policy
  Jsii::Type.check_type(@security_policy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "securityPolicy") unless @security_policy.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

#certificate_arnString? (readonly)

The reference to an AWS -managed certificate that will be used by edge-optimized endpoint or private endpoint for this domain name.

Certificate Manager is the only supported source.



48
49
50
# File 'api_gateway/cfn_domain_name_props.rb', line 48

def certificate_arn
  @certificate_arn
end

#domain_nameString? (readonly)

The custom domain name as an API host name, for example, my-api.example.com .



53
54
55
# File 'api_gateway/cfn_domain_name_props.rb', line 53

def domain_name
  @domain_name
end

#endpoint_access_modeString? (readonly)

The endpoint access mode for your DomainName.



58
59
60
# File 'api_gateway/cfn_domain_name_props.rb', line 58

def endpoint_access_mode
  @endpoint_access_mode
end

#endpoint_configurationAWSCDK::IResolvable, ... (readonly)

The endpoint configuration of this DomainName showing the endpoint types and IP address types of the domain name.



63
64
65
# File 'api_gateway/cfn_domain_name_props.rb', line 63

def endpoint_configuration
  @endpoint_configuration
end

#mutual_tls_authenticationAWSCDK::IResolvable, ... (readonly)

The mutual TLS authentication configuration for a custom domain name.

If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your API.



70
71
72
# File 'api_gateway/cfn_domain_name_props.rb', line 70

def mutual_tls_authentication
  @mutual_tls_authentication
end

#ownership_verification_certificate_arnString? (readonly)

The ARN of the public certificate issued by ACM to validate ownership of your custom domain.

Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the RegionalCertificateArn.



77
78
79
# File 'api_gateway/cfn_domain_name_props.rb', line 77

def ownership_verification_certificate_arn
  @ownership_verification_certificate_arn
end

#regional_certificate_arnString? (readonly)

The reference to an AWS -managed certificate that will be used for validating the regional domain name.

Certificate Manager is the only supported source.



84
85
86
# File 'api_gateway/cfn_domain_name_props.rb', line 84

def regional_certificate_arn
  @regional_certificate_arn
end

#routing_modeString? (readonly)

Note:

Default: - "BASE_PATH_MAPPING_ONLY"

The routing mode for this domain name.

The routing mode determines how API Gateway sends traffic from your custom domain name to your public APIs.



92
93
94
# File 'api_gateway/cfn_domain_name_props.rb', line 92

def routing_mode
  @routing_mode
end

#security_policyString? (readonly)

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



97
98
99
# File 'api_gateway/cfn_domain_name_props.rb', line 97

def security_policy
  @security_policy
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

The collection of tags.

Each tag element is associated with a given resource.



104
105
106
# File 'api_gateway/cfn_domain_name_props.rb', line 104

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'api_gateway/cfn_domain_name_props.rb', line 106

def self.jsii_properties
  {
    :certificate_arn => "certificateArn",
    :domain_name => "domainName",
    :endpoint_access_mode => "endpointAccessMode",
    :endpoint_configuration => "endpointConfiguration",
    :mutual_tls_authentication => "mutualTlsAuthentication",
    :ownership_verification_certificate_arn => "ownershipVerificationCertificateArn",
    :regional_certificate_arn => "regionalCertificateArn",
    :routing_mode => "routingMode",
    :security_policy => "securityPolicy",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# File 'api_gateway/cfn_domain_name_props.rb', line 121

def to_jsii
  result = {}
  result.merge!({
    "certificateArn" => @certificate_arn,
    "domainName" => @domain_name,
    "endpointAccessMode" => @endpoint_access_mode,
    "endpointConfiguration" => @endpoint_configuration,
    "mutualTlsAuthentication" => @mutual_tls_authentication,
    "ownershipVerificationCertificateArn" => @ownership_verification_certificate_arn,
    "regionalCertificateArn" => @regional_certificate_arn,
    "routingMode" => @routing_mode,
    "securityPolicy" => @security_policy,
    "tags" => @tags,
  })
  result.compact
end