Class: AWSCDK::KinesisFirehose::CfnDeliveryStream::VPCConfigurationProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::KinesisFirehose::CfnDeliveryStream::VPCConfigurationProperty
- Defined in:
- kinesis_firehose/cfn_delivery_stream.rb
Overview
The details of the VPC of the Amazon ES destination.
Instance Attribute Summary collapse
-
#role_arn ⇒ String
readonly
The ARN of the IAM role that you want the delivery stream to use to create endpoints in the destination VPC.
-
#security_group_ids ⇒ Array<String>
readonly
The IDs of the security groups that you want Kinesis Data Firehose to use when it creates ENIs in the VPC of the Amazon ES destination.
-
#subnet_ids ⇒ Array<String>
readonly
The IDs of the subnets that Kinesis Data Firehose uses to create ENIs in the VPC of the Amazon ES destination.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(role_arn:, security_group_ids:, subnet_ids:) ⇒ VPCConfigurationProperty
constructor
A new instance of VPCConfigurationProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(role_arn:, security_group_ids:, subnet_ids:) ⇒ VPCConfigurationProperty
Returns a new instance of VPCConfigurationProperty.
5170 5171 5172 5173 5174 5175 5176 5177 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 5170 def initialize(role_arn:, security_group_ids:, subnet_ids:) @role_arn = role_arn Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "roleArn") @security_group_ids = security_group_ids Jsii::Type.check_type(@security_group_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "securityGroupIds") @subnet_ids = subnet_ids Jsii::Type.check_type(@subnet_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "subnetIds") end |
Instance Attribute Details
#role_arn ⇒ String (readonly)
The ARN of the IAM role that you want the delivery stream to use to create endpoints in the destination VPC.
You can use your existing Kinesis Data Firehose delivery role or you can specify a new role. In either case, make sure that the role trusts the Kinesis Data Firehose service principal and that it grants the following permissions:
ec2:DescribeVpcsec2:DescribeVpcAttributeec2:DescribeSubnetsec2:DescribeSecurityGroupsec2:DescribeNetworkInterfacesec2:CreateNetworkInterfaceec2:CreateNetworkInterfacePermissionec2:DeleteNetworkInterface
If you revoke these permissions after you create the delivery stream, Kinesis Data Firehose can't scale out by creating more ENIs when necessary. You might therefore see a degradation in performance.
5196 5197 5198 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 5196 def role_arn @role_arn end |
#security_group_ids ⇒ Array<String> (readonly)
The IDs of the security groups that you want Kinesis Data Firehose to use when it creates ENIs in the VPC of the Amazon ES destination.
You can use the same security group that the Amazon ES domain uses or different ones. If you specify different security groups here, ensure that they allow outbound HTTPS traffic to the Amazon ES domain's security group. Also ensure that the Amazon ES domain's security group allows HTTPS traffic from the security groups specified here. If you use the same security group for both your delivery stream and the Amazon ES domain, make sure the security group inbound rule allows HTTPS traffic.
5203 5204 5205 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 5203 def security_group_ids @security_group_ids end |
#subnet_ids ⇒ Array<String> (readonly)
The IDs of the subnets that Kinesis Data Firehose uses to create ENIs in the VPC of the Amazon ES destination.
Make sure that the routing tables and inbound and outbound rules allow traffic to flow from the subnets whose IDs are specified here to the subnets that have the destination Amazon ES endpoints. Kinesis Data Firehose creates at least one ENI in each of the subnets that are specified here. Do not delete or modify these ENIs.
The number of ENIs that Kinesis Data Firehose creates in the subnets specified here scales up and down automatically based on throughput. To enable Kinesis Data Firehose to scale up the number of ENIs to match throughput, ensure that you have sufficient quota. To help you calculate the quota you need, assume that Kinesis Data Firehose can create up to three ENIs for this delivery stream for each of the subnets specified here.
5212 5213 5214 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 5212 def subnet_ids @subnet_ids end |
Class Method Details
.jsii_properties ⇒ Object
5214 5215 5216 5217 5218 5219 5220 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 5214 def self.jsii_properties { :role_arn => "roleArn", :security_group_ids => "securityGroupIds", :subnet_ids => "subnetIds", } end |
Instance Method Details
#to_jsii ⇒ Object
5222 5223 5224 5225 5226 5227 5228 5229 5230 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 5222 def to_jsii result = {} result.merge!({ "roleArn" => @role_arn, "securityGroupIds" => @security_group_ids, "subnetIds" => @subnet_ids, }) result.compact end |