Class: AWSCDK::APIGatewayv2::CfnDomainName::DomainNameConfigurationProperty

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

Overview

The DomainNameConfiguration property type specifies the configuration for an API's domain name.

DomainNameConfiguration is a property of the AWS::ApiGatewayV2::DomainName resource.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(certificate_arn: nil, certificate_name: nil, endpoint_type: nil, ip_address_type: nil, ownership_verification_certificate_arn: nil, security_policy: nil) ⇒ DomainNameConfigurationProperty

Returns a new instance of DomainNameConfigurationProperty.

Parameters:

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

    An AWS -managed certificate that will be used by the edge-optimized endpoint for this domain name.

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

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

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

    The endpoint type.

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

    The IP address types that can invoke the domain name.

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

    The Amazon resource name (ARN) for the public certificate issued by Certificate Manager .

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

    The Transport Layer Security (TLS) version of the security policy for this domain name.



622
623
624
625
626
627
628
629
630
631
632
633
634
635
# File 'api_gatewayv2/cfn_domain_name.rb', line 622

def initialize(certificate_arn: nil, certificate_name: nil, endpoint_type: nil, ip_address_type: nil, ownership_verification_certificate_arn: nil, security_policy: nil)
  @certificate_arn = certificate_arn
  Jsii::Type.check_type(@certificate_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "certificateArn") unless @certificate_arn.nil?
  @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("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "endpointType") unless @endpoint_type.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?
  @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?
  @security_policy = security_policy
  Jsii::Type.check_type(@security_policy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "securityPolicy") unless @security_policy.nil?
end

Instance Attribute Details

#certificate_arnString? (readonly)

An AWS -managed certificate that will be used by the edge-optimized endpoint for this domain name.

AWS Certificate Manager is the only supported source.



643
644
645
# File 'api_gatewayv2/cfn_domain_name.rb', line 643

def certificate_arn
  @certificate_arn
end

#certificate_nameString? (readonly)

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



648
649
650
# File 'api_gatewayv2/cfn_domain_name.rb', line 648

def certificate_name
  @certificate_name
end

#endpoint_typeString? (readonly)

The endpoint type.



653
654
655
# File 'api_gatewayv2/cfn_domain_name.rb', line 653

def endpoint_type
  @endpoint_type
end

#ip_address_typeString? (readonly)

The IP address types that can invoke the domain name.

Use ipv4 to allow only IPv4 addresses to invoke your domain name, or use dualstack to allow both IPv4 and IPv6 addresses to invoke your domain name.



660
661
662
# File 'api_gatewayv2/cfn_domain_name.rb', line 660

def ip_address_type
  @ip_address_type
end

#ownership_verification_certificate_arnString? (readonly)

The Amazon resource name (ARN) for the public certificate issued by Certificate Manager .

This ARN is used to validate custom domain ownership. It's required only if you configure mutual TLS and use either an ACM-imported or a private CA certificate ARN as the regionalCertificateArn.



667
668
669
# File 'api_gatewayv2/cfn_domain_name.rb', line 667

def ownership_verification_certificate_arn
  @ownership_verification_certificate_arn
end

#security_policyString? (readonly)

The Transport Layer Security (TLS) version of the security policy for this domain name.

The valid values are TLS_1_0 and TLS_1_2 .



674
675
676
# File 'api_gatewayv2/cfn_domain_name.rb', line 674

def security_policy
  @security_policy
end

Class Method Details

.jsii_propertiesObject



676
677
678
679
680
681
682
683
684
685
# File 'api_gatewayv2/cfn_domain_name.rb', line 676

def self.jsii_properties
  {
    :certificate_arn => "certificateArn",
    :certificate_name => "certificateName",
    :endpoint_type => "endpointType",
    :ip_address_type => "ipAddressType",
    :ownership_verification_certificate_arn => "ownershipVerificationCertificateArn",
    :security_policy => "securityPolicy",
  }
end

Instance Method Details

#to_jsiiObject



687
688
689
690
691
692
693
694
695
696
697
698
# File 'api_gatewayv2/cfn_domain_name.rb', line 687

def to_jsii
  result = {}
  result.merge!({
    "certificateArn" => @certificate_arn,
    "certificateName" => @certificate_name,
    "endpointType" => @endpoint_type,
    "ipAddressType" => @ip_address_type,
    "ownershipVerificationCertificateArn" => @ownership_verification_certificate_arn,
    "securityPolicy" => @security_policy,
  })
  result.compact
end