Class: AWSCDK::Route53Resolver::CfnResolverEndpointProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Route53Resolver::CfnResolverEndpointProps
- Defined in:
- route53_resolver/cfn_resolver_endpoint_props.rb
Overview
Properties for defining a CfnResolverEndpoint.
Instance Attribute Summary collapse
-
#direction ⇒ String
readonly
Indicates whether the Resolver endpoint allows inbound or outbound DNS queries:.
-
#dns64_enabled ⇒ Boolean, ...
readonly
Specifies whether DNS64 is enabled for the Inbound Resolver Endpoint.
-
#ip_addresses ⇒ AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::Route53Resolver::CfnResolverEndpoint::IPAddressRequestProperty>
readonly
The subnets and IP addresses in your VPC that DNS queries originate from (for outbound endpoints) or that you forward DNS queries to (for inbound endpoints).
-
#ipv6_internet_access_enabled ⇒ Boolean, ...
readonly
Specifies whether IPv6 Internet Gateway access is enabled through the Outbound Resolver Endpoint.
-
#name ⇒ String?
readonly
A friendly name that lets you easily find a configuration in the Resolver dashboard in the Route 53 console.
-
#outpost_arn ⇒ String?
readonly
The ARN (Amazon Resource Name) for the Outpost.
-
#preferred_instance_type ⇒ String?
readonly
The Amazon EC2 instance type.
-
#protocols ⇒ Array<String>?
readonly
Protocols used for the endpoint.
-
#resolver_endpoint_type ⇒ String?
readonly
The Resolver endpoint IP address type.
-
#rni_enhanced_metrics_enabled ⇒ Boolean, ...
readonly
Indicates whether RNI enhanced metrics are enabled for the Resolver endpoint.
-
#security_group_ids ⇒ Array<String>
readonly
The ID of one or more security groups that control access to this VPC.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
Route 53 Resolver doesn't support updating tags through CloudFormation.
-
#target_name_server_metrics_enabled ⇒ Boolean, ...
readonly
Indicates whether target name server metrics are enabled for the outbound Resolver endpoint.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(direction:, ip_addresses:, security_group_ids:, dns64_enabled: nil, ipv6_internet_access_enabled: nil, name: nil, outpost_arn: nil, preferred_instance_type: nil, protocols: nil, resolver_endpoint_type: nil, rni_enhanced_metrics_enabled: nil, tags: nil, target_name_server_metrics_enabled: nil) ⇒ CfnResolverEndpointProps
constructor
A new instance of CfnResolverEndpointProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(direction:, ip_addresses:, security_group_ids:, dns64_enabled: nil, ipv6_internet_access_enabled: nil, name: nil, outpost_arn: nil, preferred_instance_type: nil, protocols: nil, resolver_endpoint_type: nil, rni_enhanced_metrics_enabled: nil, tags: nil, target_name_server_metrics_enabled: nil) ⇒ CfnResolverEndpointProps
Returns a new instance of CfnResolverEndpointProps.
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'route53_resolver/cfn_resolver_endpoint_props.rb', line 22 def initialize(direction:, ip_addresses:, security_group_ids:, dns64_enabled: nil, ipv6_internet_access_enabled: nil, name: nil, outpost_arn: nil, preferred_instance_type: nil, protocols: nil, resolver_endpoint_type: nil, rni_enhanced_metrics_enabled: nil, tags: nil, target_name_server_metrics_enabled: nil) @direction = direction Jsii::Type.check_type(@direction, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "direction") @ip_addresses = ip_addresses Jsii::Type.check_type(@ip_addresses, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfcm91dGU1M3Jlc29sdmVyLkNmblJlc29sdmVyRW5kcG9pbnQuSXBBZGRyZXNzUmVxdWVzdFByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "ipAddresses") @security_group_ids = security_group_ids Jsii::Type.check_type(@security_group_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "securityGroupIds") @dns64_enabled = dns64_enabled Jsii::Type.check_type(@dns64_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "dns64Enabled") unless @dns64_enabled.nil? @ipv6_internet_access_enabled = ipv6_internet_access_enabled Jsii::Type.check_type(@ipv6_internet_access_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "ipv6InternetAccessEnabled") unless @ipv6_internet_access_enabled.nil? @name = name Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") unless @name.nil? @outpost_arn = outpost_arn Jsii::Type.check_type(@outpost_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "outpostArn") unless @outpost_arn.nil? @preferred_instance_type = preferred_instance_type Jsii::Type.check_type(@preferred_instance_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "preferredInstanceType") unless @preferred_instance_type.nil? @protocols = protocols Jsii::Type.check_type(@protocols, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "protocols") unless @protocols.nil? @resolver_endpoint_type = resolver_endpoint_type Jsii::Type.check_type(@resolver_endpoint_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resolverEndpointType") unless @resolver_endpoint_type.nil? @rni_enhanced_metrics_enabled = rni_enhanced_metrics_enabled Jsii::Type.check_type(@rni_enhanced_metrics_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "rniEnhancedMetricsEnabled") unless @rni_enhanced_metrics_enabled.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? @target_name_server_metrics_enabled = target_name_server_metrics_enabled Jsii::Type.check_type(@target_name_server_metrics_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "targetNameServerMetricsEnabled") unless @target_name_server_metrics_enabled.nil? end |
Instance Attribute Details
#direction ⇒ String (readonly)
Indicates whether the Resolver endpoint allows inbound or outbound DNS queries:.
INBOUND: allows DNS queries to your VPC from your networkOUTBOUND: allows DNS queries from your VPC to your networkINBOUND_DELEGATION: Resolver delegates queries to Route 53 private hosted zones from your network.
59 60 61 |
# File 'route53_resolver/cfn_resolver_endpoint_props.rb', line 59 def direction @direction end |
#dns64_enabled ⇒ Boolean, ... (readonly)
Specifies whether DNS64 is enabled for the Inbound Resolver Endpoint.
When set to true, if a DNS AAAA query is made for a domain that has only an A (IPv4) record, the resolver automatically synthesizes an AAAA (IPv6) response by embedding the IPv4 address into the well-known prefix 64:ff9b::/96. Default is false.
82 83 84 |
# File 'route53_resolver/cfn_resolver_endpoint_props.rb', line 82 def dns64_enabled @dns64_enabled end |
#ip_addresses ⇒ AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::Route53Resolver::CfnResolverEndpoint::IPAddressRequestProperty> (readonly)
The subnets and IP addresses in your VPC that DNS queries originate from (for outbound endpoints) or that you forward DNS queries to (for inbound endpoints).
The subnet ID uniquely identifies a VPC.
Even though the minimum is 1, RouteĀ 53 requires that you create at least two.
68 69 70 |
# File 'route53_resolver/cfn_resolver_endpoint_props.rb', line 68 def ip_addresses @ip_addresses end |
#ipv6_internet_access_enabled ⇒ Boolean, ... (readonly)
Specifies whether IPv6 Internet Gateway access is enabled through the Outbound Resolver Endpoint.
When set to true, this property allows your Endpoint ENIs to reach public IPv6 target nameservers through an internet gateway. Default is false.
89 90 91 |
# File 'route53_resolver/cfn_resolver_endpoint_props.rb', line 89 def ipv6_internet_access_enabled @ipv6_internet_access_enabled end |
#name ⇒ String? (readonly)
A friendly name that lets you easily find a configuration in the Resolver dashboard in the Route 53 console.
94 95 96 |
# File 'route53_resolver/cfn_resolver_endpoint_props.rb', line 94 def name @name end |
#outpost_arn ⇒ String? (readonly)
The ARN (Amazon Resource Name) for the Outpost.
99 100 101 |
# File 'route53_resolver/cfn_resolver_endpoint_props.rb', line 99 def outpost_arn @outpost_arn end |
#preferred_instance_type ⇒ String? (readonly)
The Amazon EC2 instance type.
104 105 106 |
# File 'route53_resolver/cfn_resolver_endpoint_props.rb', line 104 def preferred_instance_type @preferred_instance_type end |
#protocols ⇒ Array<String>? (readonly)
Protocols used for the endpoint. DoH-FIPS is applicable for a default inbound endpoints only.
For an inbound endpoint you can apply the protocols as follows:
- Do53 and DoH in combination.
- Do53 and DoH-FIPS in combination.
- Do53 alone.
- DoH alone.
- DoH-FIPS alone.
- None, which is treated as Do53.
For a delegation inbound endpoint you can use Do53 only.
For an outbound endpoint you can apply the protocols as follows:
- Do53 and DoH in combination.
- Do53 alone.
- DoH alone.
- None, which is treated as Do53.
127 128 129 |
# File 'route53_resolver/cfn_resolver_endpoint_props.rb', line 127 def protocols @protocols end |
#resolver_endpoint_type ⇒ String? (readonly)
The Resolver endpoint IP address type.
132 133 134 |
# File 'route53_resolver/cfn_resolver_endpoint_props.rb', line 132 def resolver_endpoint_type @resolver_endpoint_type end |
#rni_enhanced_metrics_enabled ⇒ Boolean, ... (readonly)
Indicates whether RNI enhanced metrics are enabled for the Resolver endpoint.
When enabled, one-minute granular metrics are published in CloudWatch for each RNI associated with this endpoint. When disabled, these metrics are not published.
139 140 141 |
# File 'route53_resolver/cfn_resolver_endpoint_props.rb', line 139 def rni_enhanced_metrics_enabled @rni_enhanced_metrics_enabled end |
#security_group_ids ⇒ Array<String> (readonly)
The ID of one or more security groups that control access to this VPC.
The security group must include one or more inbound rules (for inbound endpoints) or outbound rules (for outbound endpoints). Inbound and outbound rules must allow TCP and UDP access. For inbound access, open port 53. For outbound access, open the port that you're using for DNS queries on your network.
75 76 77 |
# File 'route53_resolver/cfn_resolver_endpoint_props.rb', line 75 def security_group_ids @security_group_ids end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
Route 53 Resolver doesn't support updating tags through CloudFormation.
144 145 146 |
# File 'route53_resolver/cfn_resolver_endpoint_props.rb', line 144 def @tags end |
#target_name_server_metrics_enabled ⇒ Boolean, ... (readonly)
Indicates whether target name server metrics are enabled for the outbound Resolver endpoint.
When enabled, one-minute granular metrics are published in CloudWatch for each target name server associated with this endpoint. When disabled, these metrics are not published. This feature is not supported for inbound Resolver endpoint.
151 152 153 |
# File 'route53_resolver/cfn_resolver_endpoint_props.rb', line 151 def target_name_server_metrics_enabled @target_name_server_metrics_enabled end |
Class Method Details
.jsii_properties ⇒ Object
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 |
# File 'route53_resolver/cfn_resolver_endpoint_props.rb', line 153 def self.jsii_properties { :direction => "direction", :ip_addresses => "ipAddresses", :security_group_ids => "securityGroupIds", :dns64_enabled => "dns64Enabled", :ipv6_internet_access_enabled => "ipv6InternetAccessEnabled", :name => "name", :outpost_arn => "outpostArn", :preferred_instance_type => "preferredInstanceType", :protocols => "protocols", :resolver_endpoint_type => "resolverEndpointType", :rni_enhanced_metrics_enabled => "rniEnhancedMetricsEnabled", :tags => "tags", :target_name_server_metrics_enabled => "targetNameServerMetricsEnabled", } end |
Instance Method Details
#to_jsii ⇒ Object
171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 |
# File 'route53_resolver/cfn_resolver_endpoint_props.rb', line 171 def to_jsii result = {} result.merge!({ "direction" => @direction, "ipAddresses" => @ip_addresses, "securityGroupIds" => @security_group_ids, "dns64Enabled" => @dns64_enabled, "ipv6InternetAccessEnabled" => @ipv6_internet_access_enabled, "name" => @name, "outpostArn" => @outpost_arn, "preferredInstanceType" => @preferred_instance_type, "protocols" => @protocols, "resolverEndpointType" => @resolver_endpoint_type, "rniEnhancedMetricsEnabled" => @rni_enhanced_metrics_enabled, "tags" => @tags, "targetNameServerMetricsEnabled" => @target_name_server_metrics_enabled, }) result.compact end |