/* * 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 { /// /// Describes a network interface. /// public partial class InstanceNetworkInterfaceSpecification { private bool? _associateCarrierIpAddress; private bool? _associatePublicIpAddress; private bool? _deleteOnTermination; private string _description; private int? _deviceIndex; private List _groups = new List(); private string _interfaceType; private int? _ipv4PrefixCount; private List _ipv4Prefixes = new List(); private int? _ipv6AddressCount; private List _ipv6Addresses = new List(); private int? _ipv6PrefixCount; private List _ipv6Prefixes = new List(); private int? _networkCardIndex; private string _networkInterfaceId; private string _privateIpAddress; private List _privateIpAddresses = new List(); private int? _secondaryPrivateIpAddressCount; private string _subnetId; /// /// Gets and sets the property AssociateCarrierIpAddress. /// /// Indicates whether to assign a carrier IP address to the network interface. /// /// /// /// You can only assign a carrier IP address to a network interface that is in a subnet /// in a Wavelength Zone. For more information about carrier IP addresses, see Carrier /// IP address in the Amazon Web Services Wavelength Developer Guide. /// /// public bool AssociateCarrierIpAddress { get { return this._associateCarrierIpAddress.GetValueOrDefault(); } set { this._associateCarrierIpAddress = value; } } // Check to see if AssociateCarrierIpAddress property is set internal bool IsSetAssociateCarrierIpAddress() { return this._associateCarrierIpAddress.HasValue; } /// /// Gets and sets the property AssociatePublicIpAddress. /// /// Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. /// The public IP address can only be assigned to a network interface for eth0, and can /// only be assigned to a new network interface, not an existing one. You cannot specify /// more than one network interface in the request. If launching into a default subnet, /// the default value is true. /// /// public bool AssociatePublicIpAddress { get { return this._associatePublicIpAddress.GetValueOrDefault(); } set { this._associatePublicIpAddress = value; } } // Check to see if AssociatePublicIpAddress property is set internal bool IsSetAssociatePublicIpAddress() { return this._associatePublicIpAddress.HasValue; } /// /// Gets and sets the property DeleteOnTermination. /// /// If set to true, the interface is deleted when the instance is terminated. /// You can specify true only if creating a new network interface when launching /// an instance. /// /// public bool DeleteOnTermination { get { return this._deleteOnTermination.GetValueOrDefault(); } set { this._deleteOnTermination = value; } } // Check to see if DeleteOnTermination property is set internal bool IsSetDeleteOnTermination() { return this._deleteOnTermination.HasValue; } /// /// Gets and sets the property Description. /// /// The description of the network interface. Applies only if creating a network interface /// when launching an instance. /// /// public string Description { get { return this._description; } set { this._description = value; } } // Check to see if Description property is set internal bool IsSetDescription() { return this._description != null; } /// /// Gets and sets the property DeviceIndex. /// /// The position of the network interface in the attachment order. A primary network interface /// has a device index of 0. /// /// /// /// If you specify a network interface when launching an instance, you must specify the /// device index. /// /// public int DeviceIndex { get { return this._deviceIndex.GetValueOrDefault(); } set { this._deviceIndex = value; } } // Check to see if DeviceIndex property is set internal bool IsSetDeviceIndex() { return this._deviceIndex.HasValue; } /// /// Gets and sets the property Groups. /// /// The IDs of the security groups for the network interface. Applies only if creating /// a network interface when launching an instance. /// /// public List Groups { get { return this._groups; } set { this._groups = value; } } // Check to see if Groups property is set internal bool IsSetGroups() { return this._groups != null && this._groups.Count > 0; } /// /// Gets and sets the property InterfaceType. /// /// The type of network interface. /// /// /// /// Valid values: interface | efa /// /// public string InterfaceType { get { return this._interfaceType; } set { this._interfaceType = value; } } // Check to see if InterfaceType property is set internal bool IsSetInterfaceType() { return this._interfaceType != null; } /// /// Gets and sets the property Ipv4PrefixCount. /// /// The number of IPv4 delegated prefixes to be automatically assigned to the network /// interface. You cannot use this option if you use the Ipv4Prefix 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. /// /// The IPv4 delegated prefixes to be 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 Ipv6AddressCount. /// /// A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses /// the IPv6 addresses from the range of the subnet. You cannot specify this option and /// the option to assign specific IPv6 addresses in the same request. You can specify /// this option if you've specified a minimum number of instances to launch. /// /// public int Ipv6AddressCount { get { return this._ipv6AddressCount.GetValueOrDefault(); } set { this._ipv6AddressCount = value; } } // Check to see if Ipv6AddressCount property is set internal bool IsSetIpv6AddressCount() { return this._ipv6AddressCount.HasValue; } /// /// Gets and sets the property Ipv6Addresses. /// /// The IPv6 addresses to assign to the network interface. You cannot specify this option /// and the option to assign a number of IPv6 addresses in the same request. You cannot /// specify this option if you've specified a minimum number of instances to launch. /// /// public List Ipv6Addresses { get { return this._ipv6Addresses; } set { this._ipv6Addresses = value; } } // Check to see if Ipv6Addresses property is set internal bool IsSetIpv6Addresses() { return this._ipv6Addresses != null && this._ipv6Addresses.Count > 0; } /// /// Gets and sets the property Ipv6PrefixCount. /// /// The number of IPv6 delegated prefixes to be automatically assigned to the network /// interface. You cannot use this option if you use the Ipv6Prefix option. /// /// public int Ipv6PrefixCount { get { return this._ipv6PrefixCount.GetValueOrDefault(); } set { this._ipv6PrefixCount = value; } } // Check to see if Ipv6PrefixCount property is set internal bool IsSetIpv6PrefixCount() { return this._ipv6PrefixCount.HasValue; } /// /// Gets and sets the property Ipv6Prefixes. /// /// The IPv6 delegated prefixes to be assigned to the network interface. You cannot use /// this option if you use the Ipv6PrefixCount option. /// /// public List Ipv6Prefixes { get { return this._ipv6Prefixes; } set { this._ipv6Prefixes = value; } } // Check to see if Ipv6Prefixes property is set internal bool IsSetIpv6Prefixes() { return this._ipv6Prefixes != null && this._ipv6Prefixes.Count > 0; } /// /// Gets and sets the property NetworkCardIndex. /// /// The index of the network card. Some instance types support multiple network cards. /// The primary network interface must be assigned to network card index 0. The default /// is network card index 0. /// /// /// /// If you are using RequestSpotInstances /// to create Spot Instances, omit this parameter because you can’t specify the network /// card index when using this API. To specify the network card index, use RunInstances. /// /// public int NetworkCardIndex { get { return this._networkCardIndex.GetValueOrDefault(); } set { this._networkCardIndex = value; } } // Check to see if NetworkCardIndex property is set internal bool IsSetNetworkCardIndex() { return this._networkCardIndex.HasValue; } /// /// Gets and sets the property NetworkInterfaceId. /// /// The ID of the network interface. /// /// /// /// If you are creating a Spot Fleet, omit this parameter because you can’t specify a /// network interface ID in a launch specification. /// /// 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 PrivateIpAddress. /// /// The private IPv4 address of the network interface. Applies only if creating a network /// interface when launching an instance. You cannot specify this option if you're launching /// more than one instance in a RunInstances /// request. /// /// public string PrivateIpAddress { get { return this._privateIpAddress; } set { this._privateIpAddress = value; } } // Check to see if PrivateIpAddress property is set internal bool IsSetPrivateIpAddress() { return this._privateIpAddress != null; } /// /// Gets and sets the property PrivateIpAddresses. /// /// The private IPv4 addresses to assign to the network interface. Only one private IPv4 /// address can be designated as primary. You cannot specify this option if you're launching /// more than one instance in a RunInstances /// request. /// /// 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 private IPv4 addresses. You can't specify this option and /// specify more than one private IP address using the private IP addresses option. You /// cannot specify this option if you're launching more than one instance in a RunInstances /// request. /// /// 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; } /// /// Gets and sets the property SubnetId. /// /// The ID of the subnet associated with the network interface. Applies only if creating /// a network interface when launching an instance. /// /// public string SubnetId { get { return this._subnetId; } set { this._subnetId = value; } } // Check to see if SubnetId property is set internal bool IsSetSubnetId() { return this._subnetId != null; } } }