/* * 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 ModifySubnetAttribute operation. /// Modifies a subnet attribute. You can only modify one attribute at a time. /// /// /// /// Use this action to modify subnets on Amazon Web Services Outposts. /// /// /// /// For more information about Amazon Web Services Outposts, see the following: /// /// /// public partial class ModifySubnetAttributeRequest : AmazonEC2Request { private bool? _assignIpv6AddressOnCreation; private string _customerOwnedIpv4Pool; private bool? _disableLniAtDeviceIndex; private bool? _enableDns64; private int? _enableLniAtDeviceIndex; private bool? _enableResourceNameDnsAAAARecordOnLaunch; private bool? _enableResourceNameDnsARecordOnLaunch; private bool? _mapCustomerOwnedIpOnLaunch; private bool? _mapPublicIpOnLaunch; private HostnameType _privateDnsHostnameTypeOnLaunch; private string _subnetId; /// /// Gets and sets the property AssignIpv6AddressOnCreation. /// /// Specify true to indicate that network interfaces created in the specified /// subnet should be assigned an IPv6 address. This includes a network interface that's /// created when launching an instance into the subnet (the instance therefore receives /// an IPv6 address). /// /// /// /// If you enable the IPv6 addressing feature for your subnet, your network interface /// or instance only receives an IPv6 address if it's created using version 2016-11-15 /// or later of the Amazon EC2 API. /// /// public bool AssignIpv6AddressOnCreation { get { return this._assignIpv6AddressOnCreation.GetValueOrDefault(); } set { this._assignIpv6AddressOnCreation = value; } } // Check to see if AssignIpv6AddressOnCreation property is set internal bool IsSetAssignIpv6AddressOnCreation() { return this._assignIpv6AddressOnCreation.HasValue; } /// /// Gets and sets the property CustomerOwnedIpv4Pool. /// /// The customer-owned IPv4 address pool associated with the subnet. /// /// /// /// You must set this value when you specify true for MapCustomerOwnedIpOnLaunch. /// /// public string CustomerOwnedIpv4Pool { get { return this._customerOwnedIpv4Pool; } set { this._customerOwnedIpv4Pool = value; } } // Check to see if CustomerOwnedIpv4Pool property is set internal bool IsSetCustomerOwnedIpv4Pool() { return this._customerOwnedIpv4Pool != null; } /// /// Gets and sets the property DisableLniAtDeviceIndex. /// /// Specify true to indicate that local network interfaces at the current /// position should be disabled. /// /// public bool DisableLniAtDeviceIndex { get { return this._disableLniAtDeviceIndex.GetValueOrDefault(); } set { this._disableLniAtDeviceIndex = value; } } // Check to see if DisableLniAtDeviceIndex property is set internal bool IsSetDisableLniAtDeviceIndex() { return this._disableLniAtDeviceIndex.HasValue; } /// /// Gets and sets the property EnableDns64. /// /// Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet /// should return synthetic IPv6 addresses for IPv4-only destinations. /// /// public bool EnableDns64 { get { return this._enableDns64.GetValueOrDefault(); } set { this._enableDns64 = value; } } // Check to see if EnableDns64 property is set internal bool IsSetEnableDns64() { return this._enableDns64.HasValue; } /// /// Gets and sets the property EnableLniAtDeviceIndex. /// /// Indicates the device position for local network interfaces in this subnet. For example, /// 1 indicates local network interfaces in this subnet are the secondary /// network interface (eth1). A local network interface cannot be the primary network /// interface (eth0). /// /// public int EnableLniAtDeviceIndex { get { return this._enableLniAtDeviceIndex.GetValueOrDefault(); } set { this._enableLniAtDeviceIndex = value; } } // Check to see if EnableLniAtDeviceIndex property is set internal bool IsSetEnableLniAtDeviceIndex() { return this._enableLniAtDeviceIndex.HasValue; } /// /// Gets and sets the property EnableResourceNameDnsAAAARecordOnLaunch. /// /// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. /// /// public bool EnableResourceNameDnsAAAARecordOnLaunch { get { return this._enableResourceNameDnsAAAARecordOnLaunch.GetValueOrDefault(); } set { this._enableResourceNameDnsAAAARecordOnLaunch = value; } } // Check to see if EnableResourceNameDnsAAAARecordOnLaunch property is set internal bool IsSetEnableResourceNameDnsAAAARecordOnLaunch() { return this._enableResourceNameDnsAAAARecordOnLaunch.HasValue; } /// /// Gets and sets the property EnableResourceNameDnsARecordOnLaunch. /// /// Indicates whether to respond to DNS queries for instance hostnames with DNS A records. /// /// public bool EnableResourceNameDnsARecordOnLaunch { get { return this._enableResourceNameDnsARecordOnLaunch.GetValueOrDefault(); } set { this._enableResourceNameDnsARecordOnLaunch = value; } } // Check to see if EnableResourceNameDnsARecordOnLaunch property is set internal bool IsSetEnableResourceNameDnsARecordOnLaunch() { return this._enableResourceNameDnsARecordOnLaunch.HasValue; } /// /// Gets and sets the property MapCustomerOwnedIpOnLaunch. /// /// Specify true to indicate that network interfaces attached to instances /// created in the specified subnet should be assigned a customer-owned IPv4 address. /// /// /// /// When this value is true, you must specify the customer-owned IP pool /// using CustomerOwnedIpv4Pool. /// /// public bool MapCustomerOwnedIpOnLaunch { get { return this._mapCustomerOwnedIpOnLaunch.GetValueOrDefault(); } set { this._mapCustomerOwnedIpOnLaunch = value; } } // Check to see if MapCustomerOwnedIpOnLaunch property is set internal bool IsSetMapCustomerOwnedIpOnLaunch() { return this._mapCustomerOwnedIpOnLaunch.HasValue; } /// /// Gets and sets the property MapPublicIpOnLaunch. /// /// Specify true to indicate that network interfaces attached to instances /// created in the specified subnet should be assigned a public IPv4 address. /// /// public bool MapPublicIpOnLaunch { get { return this._mapPublicIpOnLaunch.GetValueOrDefault(); } set { this._mapPublicIpOnLaunch = value; } } // Check to see if MapPublicIpOnLaunch property is set internal bool IsSetMapPublicIpOnLaunch() { return this._mapPublicIpOnLaunch.HasValue; } /// /// Gets and sets the property PrivateDnsHostnameTypeOnLaunch. /// /// The type of hostname to assign to instances in the subnet at launch. For IPv4-only /// and dual-stack (IPv4 and IPv6) subnets, an instance DNS name can be based on the instance /// IPv4 address (ip-name) or the instance ID (resource-name). For IPv6 only subnets, /// an instance DNS name must be based on the instance ID (resource-name). /// /// public HostnameType PrivateDnsHostnameTypeOnLaunch { get { return this._privateDnsHostnameTypeOnLaunch; } set { this._privateDnsHostnameTypeOnLaunch = value; } } // Check to see if PrivateDnsHostnameTypeOnLaunch property is set internal bool IsSetPrivateDnsHostnameTypeOnLaunch() { return this._privateDnsHostnameTypeOnLaunch != null; } /// /// Gets and sets the property SubnetId. /// /// The ID of the subnet. /// /// [AWSProperty(Required=true)] 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; } } }