/* * 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 { /// <summary> /// Container for the parameters to the DescribeSubnets operation. /// Describes one or more of your subnets. /// /// /// <para> /// For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html">Subnets</a> /// in the <i>Amazon VPC User Guide</i>. /// </para> /// </summary> public partial class DescribeSubnetsRequest : AmazonEC2Request { private List<Filter> _filters = new List<Filter>(); private int? _maxResults; private string _nextToken; private List<string> _subnetIds = new List<string>(); /// <summary> /// Gets and sets the property Filters. /// <para> /// The filters. /// </para> /// <ul> <li> /// <para> /// <code>availability-zone</code> - The Availability Zone for the subnet. You can also /// use <code>availabilityZone</code> as the filter name. /// </para> /// </li> <li> /// <para> /// <code>availability-zone-id</code> - The ID of the Availability Zone for the subnet. /// You can also use <code>availabilityZoneId</code> as the filter name. /// </para> /// </li> <li> /// <para> /// <code>available-ip-address-count</code> - The number of IPv4 addresses in the subnet /// that are available. /// </para> /// </li> <li> /// <para> /// <code>cidr-block</code> - The IPv4 CIDR block of the subnet. The CIDR block you specify /// must exactly match the subnet's CIDR block for information to be returned for the /// subnet. You can also use <code>cidr</code> or <code>cidrBlock</code> as the filter /// names. /// </para> /// </li> <li> /// <para> /// <code>customer-owned-ipv4-pool</code> - The customer-owned IPv4 address pool associated /// with the subnet. /// </para> /// </li> <li> /// <para> /// <code>default-for-az</code> - Indicates whether this is the default subnet for the /// Availability Zone (<code>true</code> | <code>false</code>). You can also use <code>defaultForAz</code> /// as the filter name. /// </para> /// </li> <li> /// <para> /// <code>enable-dns64</code> - Indicates whether DNS queries made to the Amazon-provided /// DNS Resolver in this subnet should return synthetic IPv6 addresses for IPv4-only destinations. /// </para> /// </li> <li> /// <para> /// <code>enable-lni-at-device-index</code> - Indicates the device position for local /// network interfaces in this subnet. For example, <code>1</code> indicates local network /// interfaces in this subnet are the secondary network interface (eth1). /// </para> /// </li> <li> /// <para> /// <code>ipv6-cidr-block-association.ipv6-cidr-block</code> - An IPv6 CIDR block associated /// with the subnet. /// </para> /// </li> <li> /// <para> /// <code>ipv6-cidr-block-association.association-id</code> - An association ID for an /// IPv6 CIDR block associated with the subnet. /// </para> /// </li> <li> /// <para> /// <code>ipv6-cidr-block-association.state</code> - The state of an IPv6 CIDR block /// associated with the subnet. /// </para> /// </li> <li> /// <para> /// <code>ipv6-native</code> - Indicates whether this is an IPv6 only subnet (<code>true</code> /// | <code>false</code>). /// </para> /// </li> <li> /// <para> /// <code>map-customer-owned-ip-on-launch</code> - Indicates whether a network interface /// created in this subnet (including a network interface created by <a>RunInstances</a>) /// receives a customer-owned IPv4 address. /// </para> /// </li> <li> /// <para> /// <code>map-public-ip-on-launch</code> - Indicates whether instances launched in this /// subnet receive a public IPv4 address. /// </para> /// </li> <li> /// <para> /// <code>outpost-arn</code> - The Amazon Resource Name (ARN) of the Outpost. /// </para> /// </li> <li> /// <para> /// <code>owner-id</code> - The ID of the Amazon Web Services account that owns the subnet. /// </para> /// </li> <li> /// <para> /// <code>private-dns-name-options-on-launch.hostname-type</code> - 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). /// </para> /// </li> <li> /// <para> /// <code>private-dns-name-options-on-launch.enable-resource-name-dns-a-record</code> /// - Indicates whether to respond to DNS queries for instance hostnames with DNS A records. /// </para> /// </li> <li> /// <para> /// <code>private-dns-name-options-on-launch.enable-resource-name-dns-aaaa-record</code> /// - Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA /// records. /// </para> /// </li> <li> /// <para> /// <code>state</code> - The state of the subnet (<code>pending</code> | <code>available</code>). /// </para> /// </li> <li> /// <para> /// <code>subnet-arn</code> - The Amazon Resource Name (ARN) of the subnet. /// </para> /// </li> <li> /// <para> /// <code>subnet-id</code> - The ID of the subnet. /// </para> /// </li> <li> /// <para> /// <code>tag</code>:<key> - The key/value combination of a tag assigned to the /// resource. Use the tag key in the filter name and the tag value as the filter value. /// For example, to find all resources that have a tag with the key <code>Owner</code> /// and the value <code>TeamA</code>, specify <code>tag:Owner</code> for the filter name /// and <code>TeamA</code> for the filter value. /// </para> /// </li> <li> /// <para> /// <code>tag-key</code> - The key of a tag assigned to the resource. Use this filter /// to find all resources assigned a tag with a specific key, regardless of the tag value. /// </para> /// </li> <li> /// <para> /// <code>vpc-id</code> - The ID of the VPC for the subnet. /// </para> /// </li> </ul> /// </summary> public List<Filter> Filters { get { return this._filters; } set { this._filters = value; } } // Check to see if Filters property is set internal bool IsSetFilters() { return this._filters != null && this._filters.Count > 0; } /// <summary> /// Gets and sets the property MaxResults. /// <para> /// The maximum number of items to return for this request. To get the next page of items, /// make another request with the token returned in the output. For more information, /// see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>. /// </para> /// </summary> [AWSProperty(Min=5, Max=1000)] public int MaxResults { get { return this._maxResults.GetValueOrDefault(); } set { this._maxResults = value; } } // Check to see if MaxResults property is set internal bool IsSetMaxResults() { return this._maxResults.HasValue; } /// <summary> /// Gets and sets the property NextToken. /// <para> /// The token returned from a previous paginated request. Pagination continues from the /// end of the items returned by the previous request. /// </para> /// </summary> public string NextToken { get { return this._nextToken; } set { this._nextToken = value; } } // Check to see if NextToken property is set internal bool IsSetNextToken() { return this._nextToken != null; } /// <summary> /// Gets and sets the property SubnetIds. /// <para> /// The IDs of the subnets. /// </para> /// /// <para> /// Default: Describes all your subnets. /// </para> /// </summary> public List<string> 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; } } }