Class: AWSCDK::EC2::CfnVPCEndpoint::DNSOptionsSpecificationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ec2/cfn_vpc_endpoint.rb

Overview

Describes the DNS options for an endpoint.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dns_record_ip_type: nil, private_dns_only_for_inbound_resolver_endpoint: nil, private_dns_preference: nil, private_dns_specified_domains: nil) ⇒ DNSOptionsSpecificationProperty

Returns a new instance of DNSOptionsSpecificationProperty.

Parameters:

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

    The DNS records created for the endpoint.

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

    Indicates whether to enable private DNS only for inbound endpoints.

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

    The preference for which private domains have a private hosted zone created for and associated with the specified VPC.

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

    Indicates which of the private domains to create private hosted zones for and associate with the specified VPC.



747
748
749
750
751
752
753
754
755
756
# File 'ec2/cfn_vpc_endpoint.rb', line 747

def initialize(dns_record_ip_type: nil, private_dns_only_for_inbound_resolver_endpoint: nil, private_dns_preference: nil, private_dns_specified_domains: nil)
  @dns_record_ip_type = dns_record_ip_type
  Jsii::Type.check_type(@dns_record_ip_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dnsRecordIpType") unless @dns_record_ip_type.nil?
  @private_dns_only_for_inbound_resolver_endpoint = private_dns_only_for_inbound_resolver_endpoint
  Jsii::Type.check_type(@private_dns_only_for_inbound_resolver_endpoint, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "privateDnsOnlyForInboundResolverEndpoint") unless @private_dns_only_for_inbound_resolver_endpoint.nil?
  @private_dns_preference = private_dns_preference
  Jsii::Type.check_type(@private_dns_preference, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "privateDnsPreference") unless @private_dns_preference.nil?
  @private_dns_specified_domains = private_dns_specified_domains
  Jsii::Type.check_type(@private_dns_specified_domains, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "privateDnsSpecifiedDomains") unless @private_dns_specified_domains.nil?
end

Instance Attribute Details

#dns_record_ip_typeString? (readonly)

The DNS records created for the endpoint.



762
763
764
# File 'ec2/cfn_vpc_endpoint.rb', line 762

def dns_record_ip_type
  @dns_record_ip_type
end

#private_dns_only_for_inbound_resolver_endpointString? (readonly)

Indicates whether to enable private DNS only for inbound endpoints.

This option is available only for services that support both gateway and interface endpoints. It routes traffic that originates from the VPC to the gateway endpoint and traffic that originates from on-premises to the interface endpoint.



769
770
771
# File 'ec2/cfn_vpc_endpoint.rb', line 769

def private_dns_only_for_inbound_resolver_endpoint
  @private_dns_only_for_inbound_resolver_endpoint
end

#private_dns_preferenceString? (readonly)

The preference for which private domains have a private hosted zone created for and associated with the specified VPC.

Only supported when private DNS is enabled and when the VPC endpoint type is ServiceNetwork or Resource.



776
777
778
# File 'ec2/cfn_vpc_endpoint.rb', line 776

def private_dns_preference
  @private_dns_preference
end

#private_dns_specified_domainsArray<String>? (readonly)

Indicates which of the private domains to create private hosted zones for and associate with the specified VPC.

Only supported when private DNS is enabled and the private DNS preference is VERIFIED_DOMAINS_AND_SPECIFIED_DOMAINS or SPECIFIED_DOMAINS_ONLY .



783
784
785
# File 'ec2/cfn_vpc_endpoint.rb', line 783

def private_dns_specified_domains
  @private_dns_specified_domains
end

Class Method Details

.jsii_propertiesObject



785
786
787
788
789
790
791
792
# File 'ec2/cfn_vpc_endpoint.rb', line 785

def self.jsii_properties
  {
    :dns_record_ip_type => "dnsRecordIpType",
    :private_dns_only_for_inbound_resolver_endpoint => "privateDnsOnlyForInboundResolverEndpoint",
    :private_dns_preference => "privateDnsPreference",
    :private_dns_specified_domains => "privateDnsSpecifiedDomains",
  }
end

Instance Method Details

#to_jsiiObject



794
795
796
797
798
799
800
801
802
803
# File 'ec2/cfn_vpc_endpoint.rb', line 794

def to_jsii
  result = {}
  result.merge!({
    "dnsRecordIpType" => @dns_record_ip_type,
    "privateDnsOnlyForInboundResolverEndpoint" => @private_dns_only_for_inbound_resolver_endpoint,
    "privateDnsPreference" => @private_dns_preference,
    "privateDnsSpecifiedDomains" => @private_dns_specified_domains,
  })
  result.compact
end