/* * 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 AssignPrivateIpAddresses operation. /// Assigns one or more secondary private IP addresses to the specified network interface. /// /// /// /// You can specify one or more specific secondary IP addresses, or you can specify the /// number of secondary IP addresses to be automatically assigned within the subnet's /// CIDR block range. The number of secondary IP addresses that you can assign to an instance /// varies by instance type. For information about instance types, see Instance /// Types in the Amazon Elastic Compute Cloud User Guide. For more information /// about Elastic IP addresses, see Elastic /// IP Addresses in the Amazon Elastic Compute Cloud User Guide. /// /// /// /// When you move a secondary private IP address to another network interface, any Elastic /// IP address that is associated with the IP address is also moved. /// /// /// /// Remapping an IP address is an asynchronous operation. When you move an IP address /// from one network interface to another, check network/interfaces/macs/mac/local-ipv4s /// in the instance metadata to confirm that the remapping is complete. /// /// /// /// You must specify either the IP addresses or the IP address count in the request. /// /// /// /// You can optionally use Prefix Delegation on the network interface. You must specify /// either the IPv4 Prefix Delegation prefixes, or the IPv4 Prefix Delegation count. For /// information, see /// Assigning prefixes to Amazon EC2 network interfaces in the Amazon Elastic Compute /// Cloud User Guide. /// /// public partial class AssignPrivateIpAddressesRequest : AmazonEC2Request { private bool? _allowReassignment; private int? _ipv4PrefixCount; private List _ipv4Prefixes = new List(); private string _networkInterfaceId; private List _privateIpAddresses = new List(); private int? _secondaryPrivateIpAddressCount; /// /// Gets and sets the property AllowReassignment. /// /// Indicates whether to allow an IP address that is already assigned to another network /// interface or instance to be reassigned to the specified network interface. /// /// public bool AllowReassignment { get { return this._allowReassignment.GetValueOrDefault(); } set { this._allowReassignment = value; } } // Check to see if AllowReassignment property is set internal bool IsSetAllowReassignment() { return this._allowReassignment.HasValue; } /// /// Gets and sets the property Ipv4PrefixCount. /// /// The number of IPv4 prefixes that Amazon Web Services automatically assigns to the /// network interface. You cannot use this option if you use the Ipv4 Prefixes /// option. /// /// public int Ipv4PrefixCount { get { return this._ipv4PrefixCount.GetValueOrDefault(); } set { this._ipv4PrefixCount = value; } } // Check to see if Ipv4PrefixCount property is set internal bool IsSetIpv4PrefixCount() { return this._ipv4PrefixCount.HasValue; } /// /// Gets and sets the property Ipv4Prefixes. /// /// One or more IPv4 prefixes assigned to the network interface. You cannot use this option /// if you use the Ipv4PrefixCount option. /// /// public List Ipv4Prefixes { get { return this._ipv4Prefixes; } set { this._ipv4Prefixes = value; } } // Check to see if Ipv4Prefixes property is set internal bool IsSetIpv4Prefixes() { return this._ipv4Prefixes != null && this._ipv4Prefixes.Count > 0; } /// /// Gets and sets the property NetworkInterfaceId. /// /// The ID of the network interface. /// /// [AWSProperty(Required=true)] public string NetworkInterfaceId { get { return this._networkInterfaceId; } set { this._networkInterfaceId = value; } } // Check to see if NetworkInterfaceId property is set internal bool IsSetNetworkInterfaceId() { return this._networkInterfaceId != null; } /// /// Gets and sets the property PrivateIpAddresses. /// /// The IP addresses to be assigned as a secondary private IP address to the network interface. /// You can't specify this parameter when also specifying a number of secondary IP addresses. /// /// /// /// If you don't specify an IP address, Amazon EC2 automatically selects an IP address /// within the subnet range. /// /// public List PrivateIpAddresses { get { return this._privateIpAddresses; } set { this._privateIpAddresses = value; } } // Check to see if PrivateIpAddresses property is set internal bool IsSetPrivateIpAddresses() { return this._privateIpAddresses != null && this._privateIpAddresses.Count > 0; } /// /// Gets and sets the property SecondaryPrivateIpAddressCount. /// /// The number of secondary IP addresses to assign to the network interface. You can't /// specify this parameter when also specifying private IP addresses. /// /// public int SecondaryPrivateIpAddressCount { get { return this._secondaryPrivateIpAddressCount.GetValueOrDefault(); } set { this._secondaryPrivateIpAddressCount = value; } } // Check to see if SecondaryPrivateIpAddressCount property is set internal bool IsSetSecondaryPrivateIpAddressCount() { return this._secondaryPrivateIpAddressCount.HasValue; } } }