Class: AWSCDK::EC2::CfnVPCEndpointProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::EC2::CfnVPCEndpointProps
- Defined in:
- ec2/cfn_vpc_endpoint_props.rb
Overview
Properties for defining a CfnVPCEndpoint.
Instance Attribute Summary collapse
-
#dns_options ⇒ AWSCDK::IResolvable, ...
readonly
Describes the DNS options for an endpoint.
-
#ip_address_type ⇒ String?
readonly
The supported IP address types.
-
#policy_document ⇒ Object?
readonly
An endpoint policy, which controls access to the service from the VPC.
-
#private_dns_enabled ⇒ Boolean, ...
readonly
Indicate whether to associate a private hosted zone with the specified VPC.
-
#resource_configuration_arn ⇒ String?
readonly
The Amazon Resource Name (ARN) of the resource configuration.
-
#route_table_ids ⇒ Array<String, AWSCDK::Interfaces::AWSEC2::IRouteTableRef>?
readonly
The IDs of the route tables.
-
#security_group_ids ⇒ Array<String, AWSCDK::Interfaces::AWSEC2::ISecurityGroupRef>?
readonly
The IDs of the security groups to associate with the endpoint network interfaces.
-
#service_name ⇒ String?
readonly
The name of the endpoint service.
-
#service_network_arn ⇒ String?
readonly
The Amazon Resource Name (ARN) of the service network.
-
#service_region ⇒ String?
readonly
Describes a Region.
-
#subnet_ids ⇒ Array<String, AWSCDK::Interfaces::AWSEC2::ISubnetRef>?
readonly
The IDs of the subnets in which to create endpoint network interfaces.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
The tags to associate with the endpoint.
-
#vpc_endpoint_type ⇒ String?
readonly
The type of endpoint.
-
#vpc_id ⇒ String, AWSCDK::Interfaces::AWSEC2::IVPCRef
readonly
The ID of the VPC.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(vpc_id:, dns_options: nil, ip_address_type: nil, policy_document: nil, private_dns_enabled: nil, resource_configuration_arn: nil, route_table_ids: nil, security_group_ids: nil, service_name: nil, service_network_arn: nil, service_region: nil, subnet_ids: nil, tags: nil, vpc_endpoint_type: nil) ⇒ CfnVPCEndpointProps
constructor
A new instance of CfnVPCEndpointProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(vpc_id:, dns_options: nil, ip_address_type: nil, policy_document: nil, private_dns_enabled: nil, resource_configuration_arn: nil, route_table_ids: nil, security_group_ids: nil, service_name: nil, service_network_arn: nil, service_region: nil, subnet_ids: nil, tags: nil, vpc_endpoint_type: nil) ⇒ CfnVPCEndpointProps
Returns a new instance of CfnVPCEndpointProps.
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 50 51 52 |
# File 'ec2/cfn_vpc_endpoint_props.rb', line 23 def initialize(vpc_id:, dns_options: nil, ip_address_type: nil, policy_document: nil, private_dns_enabled: nil, resource_configuration_arn: nil, route_table_ids: nil, security_group_ids: nil, service_name: nil, service_network_arn: nil, service_region: nil, subnet_ids: nil, tags: nil, vpc_endpoint_type: nil) @vpc_id = vpc_id Jsii::Type.check_type(@vpc_id, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19lYzIuSVZQQ1JlZiJ9XX19")), "vpcId") @dns_options = .is_a?(Hash) ? ::AWSCDK::EC2::CfnVPCEndpoint::DNSOptionsSpecificationProperty.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(@dns_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuVlBDRW5kcG9pbnQuRG5zT3B0aW9uc1NwZWNpZmljYXRpb25Qcm9wZXJ0eSJ9XX19")), "dnsOptions") unless @dns_options.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? @policy_document = policy_document Jsii::Type.check_type(@policy_document, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "policyDocument") unless @policy_document.nil? @private_dns_enabled = private_dns_enabled Jsii::Type.check_type(@private_dns_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "privateDnsEnabled") unless @private_dns_enabled.nil? @resource_configuration_arn = resource_configuration_arn Jsii::Type.check_type(@resource_configuration_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resourceConfigurationArn") unless @resource_configuration_arn.nil? @route_table_ids = route_table_ids Jsii::Type.check_type(@route_table_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InVuaW9uIjp7InR5cGVzIjpbeyJwcmltaXRpdmUiOiJzdHJpbmcifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2VjMi5JUm91dGVUYWJsZVJlZiJ9XX19LCJraW5kIjoiYXJyYXkifX0=")), "routeTableIds") unless @route_table_ids.nil? @security_group_ids = security_group_ids Jsii::Type.check_type(@security_group_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InVuaW9uIjp7InR5cGVzIjpbeyJwcmltaXRpdmUiOiJzdHJpbmcifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2VjMi5JU2VjdXJpdHlHcm91cFJlZiJ9XX19LCJraW5kIjoiYXJyYXkifX0=")), "securityGroupIds") unless @security_group_ids.nil? @service_name = service_name Jsii::Type.check_type(@service_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serviceName") unless @service_name.nil? @service_network_arn = service_network_arn Jsii::Type.check_type(@service_network_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serviceNetworkArn") unless @service_network_arn.nil? @service_region = service_region Jsii::Type.check_type(@service_region, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serviceRegion") unless @service_region.nil? @subnet_ids = subnet_ids Jsii::Type.check_type(@subnet_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InVuaW9uIjp7InR5cGVzIjpbeyJwcmltaXRpdmUiOiJzdHJpbmcifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2VjMi5JU3VibmV0UmVmIn1dfX0sImtpbmQiOiJhcnJheSJ9fQ==")), "subnetIds") unless @subnet_ids.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? @vpc_endpoint_type = vpc_endpoint_type Jsii::Type.check_type(@vpc_endpoint_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "vpcEndpointType") unless @vpc_endpoint_type.nil? end |
Instance Attribute Details
#dns_options ⇒ AWSCDK::IResolvable, ... (readonly)
Describes the DNS options for an endpoint.
63 64 65 |
# File 'ec2/cfn_vpc_endpoint_props.rb', line 63 def @dns_options end |
#ip_address_type ⇒ String? (readonly)
The supported IP address types.
68 69 70 |
# File 'ec2/cfn_vpc_endpoint_props.rb', line 68 def ip_address_type @ip_address_type end |
#policy_document ⇒ Object? (readonly)
An endpoint policy, which controls access to the service from the VPC.
The default endpoint policy allows full access to the service. Endpoint policies are supported only for gateway and interface endpoints.
For CloudFormation templates in YAML, you can provide the policy in JSON or YAML format. For example, if you have a JSON policy, you can convert it to YAML before including it in the YAML template, and AWS CloudFormation converts the policy to JSON format before calling the API actions for AWS PrivateLink . Alternatively, you can include the JSON directly in the YAML, as shown in the following Properties section:
Properties: VpcEndpointType: 'Interface' ServiceName: !Sub 'com.amazonaws.${AWS::Region}.logs' PolicyDocument: '{ "Version":"2012-10-17", "Statement": [{ "Effect":"Allow", "Principal":"*", "Action":["logs:Describe*","logs:Get*","logs:List*","logs:FilterLogEvents"], "Resource":"*" }] }'
79 80 81 |
# File 'ec2/cfn_vpc_endpoint_props.rb', line 79 def policy_document @policy_document end |
#private_dns_enabled ⇒ Boolean, ... (readonly)
Indicate whether to associate a private hosted zone with the specified VPC.
The private hosted zone contains a record set for the default public DNS name for the service for the Region (for example, kinesis.us-east-1.amazonaws.com ), which resolves to the private IP addresses of the endpoint network interfaces in the VPC. This enables you to make requests to the default public DNS name for the service instead of the public DNS names that are automatically generated by the VPC endpoint service.
To use a private hosted zone, you must set the following VPC attributes to true : enable_dns_hostnames and enable_dns_support .
This property is supported only for interface endpoints.
Default: false
92 93 94 |
# File 'ec2/cfn_vpc_endpoint_props.rb', line 92 def private_dns_enabled @private_dns_enabled end |
#resource_configuration_arn ⇒ String? (readonly)
The Amazon Resource Name (ARN) of the resource configuration.
97 98 99 |
# File 'ec2/cfn_vpc_endpoint_props.rb', line 97 def resource_configuration_arn @resource_configuration_arn end |
#route_table_ids ⇒ Array<String, AWSCDK::Interfaces::AWSEC2::IRouteTableRef>? (readonly)
The IDs of the route tables.
Routing is supported only for gateway endpoints.
104 105 106 |
# File 'ec2/cfn_vpc_endpoint_props.rb', line 104 def route_table_ids @route_table_ids end |
#security_group_ids ⇒ Array<String, AWSCDK::Interfaces::AWSEC2::ISecurityGroupRef>? (readonly)
The IDs of the security groups to associate with the endpoint network interfaces.
If this parameter is not specified, we use the default security group for the VPC. Security groups are supported only for interface endpoints.
111 112 113 |
# File 'ec2/cfn_vpc_endpoint_props.rb', line 111 def security_group_ids @security_group_ids end |
#service_name ⇒ String? (readonly)
The name of the endpoint service.
116 117 118 |
# File 'ec2/cfn_vpc_endpoint_props.rb', line 116 def service_name @service_name end |
#service_network_arn ⇒ String? (readonly)
The Amazon Resource Name (ARN) of the service network.
121 122 123 |
# File 'ec2/cfn_vpc_endpoint_props.rb', line 121 def service_network_arn @service_network_arn end |
#service_region ⇒ String? (readonly)
Describes a Region.
126 127 128 |
# File 'ec2/cfn_vpc_endpoint_props.rb', line 126 def service_region @service_region end |
#subnet_ids ⇒ Array<String, AWSCDK::Interfaces::AWSEC2::ISubnetRef>? (readonly)
The IDs of the subnets in which to create endpoint network interfaces.
You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet.
133 134 135 |
# File 'ec2/cfn_vpc_endpoint_props.rb', line 133 def subnet_ids @subnet_ids end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
The tags to associate with the endpoint.
138 139 140 |
# File 'ec2/cfn_vpc_endpoint_props.rb', line 138 def @tags end |
#vpc_endpoint_type ⇒ String? (readonly)
The type of endpoint.
Default: Gateway
145 146 147 |
# File 'ec2/cfn_vpc_endpoint_props.rb', line 145 def vpc_endpoint_type @vpc_endpoint_type end |
#vpc_id ⇒ String, AWSCDK::Interfaces::AWSEC2::IVPCRef (readonly)
The ID of the VPC.
58 59 60 |
# File 'ec2/cfn_vpc_endpoint_props.rb', line 58 def vpc_id @vpc_id end |
Class Method Details
.jsii_properties ⇒ Object
147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 |
# File 'ec2/cfn_vpc_endpoint_props.rb', line 147 def self.jsii_properties { :vpc_id => "vpcId", :dns_options => "dnsOptions", :ip_address_type => "ipAddressType", :policy_document => "policyDocument", :private_dns_enabled => "privateDnsEnabled", :resource_configuration_arn => "resourceConfigurationArn", :route_table_ids => "routeTableIds", :security_group_ids => "securityGroupIds", :service_name => "serviceName", :service_network_arn => "serviceNetworkArn", :service_region => "serviceRegion", :subnet_ids => "subnetIds", :tags => "tags", :vpc_endpoint_type => "vpcEndpointType", } end |
Instance Method Details
#to_jsii ⇒ Object
166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 |
# File 'ec2/cfn_vpc_endpoint_props.rb', line 166 def to_jsii result = {} result.merge!({ "vpcId" => @vpc_id, "dnsOptions" => @dns_options, "ipAddressType" => @ip_address_type, "policyDocument" => @policy_document, "privateDnsEnabled" => @private_dns_enabled, "resourceConfigurationArn" => @resource_configuration_arn, "routeTableIds" => @route_table_ids, "securityGroupIds" => @security_group_ids, "serviceName" => @service_name, "serviceNetworkArn" => @service_network_arn, "serviceRegion" => @service_region, "subnetIds" => @subnet_ids, "tags" => @tags, "vpcEndpointType" => @vpc_endpoint_type, }) result.compact end |