/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the firehose-2015-08-04.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.KinesisFirehose.Model { /// /// The details of the VPC of the Amazon ES destination. /// public partial class VpcConfigurationDescription { private string _roleARN; private List _securityGroupIds = new List(); private List _subnetIds = new List(); private string _vpcId; /// /// Gets and sets the property RoleARN. /// /// The ARN of the IAM role that the delivery stream uses 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:DescribeVpcs /// ///
  • /// /// ec2:DescribeVpcAttribute /// ///
  • /// /// ec2:DescribeSubnets /// ///
  • /// /// ec2:DescribeSecurityGroups /// ///
  • /// /// ec2:DescribeNetworkInterfaces /// ///
  • /// /// ec2:CreateNetworkInterface /// ///
  • /// /// ec2:CreateNetworkInterfacePermission /// ///
  • /// /// ec2: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. /// ///
[AWSProperty(Required=true, Min=1, Max=512)] public string RoleARN { get { return this._roleARN; } set { this._roleARN = value; } } // Check to see if RoleARN property is set internal bool IsSetRoleARN() { return this._roleARN != null; } /// /// Gets and sets the property SecurityGroupIds. /// /// The IDs of the security groups that Kinesis Data Firehose uses 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, /// 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. For more information about security group rules, see Security /// group rules in the Amazon VPC documentation. /// /// [AWSProperty(Required=true, Min=1, Max=5)] public List SecurityGroupIds { get { return this._securityGroupIds; } set { this._securityGroupIds = value; } } // Check to see if SecurityGroupIds property is set internal bool IsSetSecurityGroupIds() { return this._securityGroupIds != null && this._securityGroupIds.Count > 0; } /// /// Gets and sets the property SubnetIds. /// /// 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. For more information about ENI quota, see Network /// Interfaces in the Amazon VPC Quotas topic. /// /// [AWSProperty(Required=true, Min=1, Max=16)] public List SubnetIds { get { return this._subnetIds; } set { this._subnetIds = value; } } // Check to see if SubnetIds property is set internal bool IsSetSubnetIds() { return this._subnetIds != null && this._subnetIds.Count > 0; } /// /// Gets and sets the property VpcId. /// /// The ID of the Amazon ES destination's VPC. /// /// [AWSProperty(Required=true, Min=1, Max=1024)] public string VpcId { get { return this._vpcId; } set { this._vpcId = value; } } // Check to see if VpcId property is set internal bool IsSetVpcId() { return this._vpcId != null; } } }