/* * 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 ec2-2016-11-15.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.EC2.Model { /// /// Container for the parameters to the AssociateVpcCidrBlock operation. /// Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block, /// an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from an IPv6 address pool /// that you provisioned through bring your own IP addresses (BYOIP). /// The IPv6 CIDR block size is fixed at /56. /// /// /// /// You must specify one of the following in the request: an IPv4 CIDR block, an IPv6 /// pool, or an Amazon-provided IPv6 CIDR block. /// /// /// /// For more information about associating CIDR blocks with your VPC and applicable restrictions, /// see IP /// addressing for your VPCs and subnets in the Amazon VPC User Guide. /// /// public partial class AssociateVpcCidrBlockRequest : AmazonEC2Request { private bool? _amazonProvidedIpv6CidrBlock; private string _cidrBlock; private string _ipv4IpamPoolId; private int? _ipv4NetmaskLength; private string _ipv6CidrBlock; private string _ipv6CidrBlockNetworkBorderGroup; private string _ipv6IpamPoolId; private int? _ipv6NetmaskLength; private string _ipv6Pool; private string _vpcId; /// /// Gets and sets the property AmazonProvidedIpv6CidrBlock. /// /// Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. /// You cannot specify the range of IPv6 addresses, or the size of the CIDR block. /// /// public bool AmazonProvidedIpv6CidrBlock { get { return this._amazonProvidedIpv6CidrBlock.GetValueOrDefault(); } set { this._amazonProvidedIpv6CidrBlock = value; } } // Check to see if AmazonProvidedIpv6CidrBlock property is set internal bool IsSetAmazonProvidedIpv6CidrBlock() { return this._amazonProvidedIpv6CidrBlock.HasValue; } /// /// Gets and sets the property CidrBlock. /// /// An IPv4 CIDR block to associate with the VPC. /// /// public string CidrBlock { get { return this._cidrBlock; } set { this._cidrBlock = value; } } // Check to see if CidrBlock property is set internal bool IsSetCidrBlock() { return this._cidrBlock != null; } /// /// Gets and sets the property Ipv4IpamPoolId. /// /// Associate a CIDR allocated from an IPv4 IPAM pool to a VPC. For more information about /// Amazon VPC IP Address Manager (IPAM), see What /// is IPAM? in the Amazon VPC IPAM User Guide. /// /// public string Ipv4IpamPoolId { get { return this._ipv4IpamPoolId; } set { this._ipv4IpamPoolId = value; } } // Check to see if Ipv4IpamPoolId property is set internal bool IsSetIpv4IpamPoolId() { return this._ipv4IpamPoolId != null; } /// /// Gets and sets the property Ipv4NetmaskLength. /// /// The netmask length of the IPv4 CIDR you would like to associate from an Amazon VPC /// IP Address Manager (IPAM) pool. For more information about IPAM, see What /// is IPAM? in the Amazon VPC IPAM User Guide. /// /// public int Ipv4NetmaskLength { get { return this._ipv4NetmaskLength.GetValueOrDefault(); } set { this._ipv4NetmaskLength = value; } } // Check to see if Ipv4NetmaskLength property is set internal bool IsSetIpv4NetmaskLength() { return this._ipv4NetmaskLength.HasValue; } /// /// Gets and sets the property Ipv6CidrBlock. /// /// An IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool /// in the request. /// /// /// /// To let Amazon choose the IPv6 CIDR block for you, omit this parameter. /// /// public string Ipv6CidrBlock { get { return this._ipv6CidrBlock; } set { this._ipv6CidrBlock = value; } } // Check to see if Ipv6CidrBlock property is set internal bool IsSetIpv6CidrBlock() { return this._ipv6CidrBlock != null; } /// /// Gets and sets the property Ipv6CidrBlockNetworkBorderGroup. /// /// The name of the location from which we advertise the IPV6 CIDR block. Use this parameter /// to limit the CIDR block to this location. /// /// /// /// You must set AmazonProvidedIpv6CidrBlock to true to use /// this parameter. /// /// /// /// You can have one IPv6 CIDR block association per network border group. /// /// public string Ipv6CidrBlockNetworkBorderGroup { get { return this._ipv6CidrBlockNetworkBorderGroup; } set { this._ipv6CidrBlockNetworkBorderGroup = value; } } // Check to see if Ipv6CidrBlockNetworkBorderGroup property is set internal bool IsSetIpv6CidrBlockNetworkBorderGroup() { return this._ipv6CidrBlockNetworkBorderGroup != null; } /// /// Gets and sets the property Ipv6IpamPoolId. /// /// Associates a CIDR allocated from an IPv6 IPAM pool to a VPC. For more information /// about Amazon VPC IP Address Manager (IPAM), see What /// is IPAM? in the Amazon VPC IPAM User Guide. /// /// public string Ipv6IpamPoolId { get { return this._ipv6IpamPoolId; } set { this._ipv6IpamPoolId = value; } } // Check to see if Ipv6IpamPoolId property is set internal bool IsSetIpv6IpamPoolId() { return this._ipv6IpamPoolId != null; } /// /// Gets and sets the property Ipv6NetmaskLength. /// /// The netmask length of the IPv6 CIDR you would like to associate from an Amazon VPC /// IP Address Manager (IPAM) pool. For more information about IPAM, see What /// is IPAM? in the Amazon VPC IPAM User Guide. /// /// public int Ipv6NetmaskLength { get { return this._ipv6NetmaskLength.GetValueOrDefault(); } set { this._ipv6NetmaskLength = value; } } // Check to see if Ipv6NetmaskLength property is set internal bool IsSetIpv6NetmaskLength() { return this._ipv6NetmaskLength.HasValue; } /// /// Gets and sets the property Ipv6Pool. /// /// The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block. /// /// public string Ipv6Pool { get { return this._ipv6Pool; } set { this._ipv6Pool = value; } } // Check to see if Ipv6Pool property is set internal bool IsSetIpv6Pool() { return this._ipv6Pool != null; } /// /// Gets and sets the property VpcId. /// /// The ID of the VPC. /// /// [AWSProperty(Required=true)] 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; } } }