All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.ec2.model.DescribeSubnetsRequest Maven / Gradle / Ivy

Go to download

The AWS SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-2016 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.
 */
package com.amazonaws.services.ec2.model;

import java.io.Serializable;
import com.amazonaws.AmazonWebServiceRequest;
import com.amazonaws.Request;
import com.amazonaws.services.ec2.model.transform.DescribeSubnetsRequestMarshaller;

/**
 * 

* Contains the parameters for DescribeSubnets. *

*/ public class DescribeSubnetsRequest extends AmazonWebServiceRequest implements Serializable, Cloneable, DryRunSupportedRequest { /** *

* One or more subnet IDs. *

*

* Default: Describes all your subnets. *

*/ private com.amazonaws.internal.SdkInternalList subnetIds; /** *

* One or more filters. *

*
    *
  • *

    * availabilityZone - The Availability Zone for the subnet. You * can also use availability-zone as the filter name. *

    *
  • *
  • *

    * available-ip-address-count - The number of IP addresses in * the subnet that are available. *

    *
  • *
  • *

    * cidrBlock - The 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 cidr or * cidr-block as the filter names. *

    *
  • *
  • *

    * defaultForAz - Indicates whether this is the default subnet * for the Availability Zone. You can also use default-for-az * as the filter name. *

    *
  • *
  • *

    * state - The state of the subnet (pending | * available). *

    *
  • *
  • *

    * subnet-id - The ID of the subnet. *

    *
  • *
  • *

    * tag:key=value - The key/value combination of a * tag assigned to the resource. *

    *
  • *
  • *

    * tag-key - The key of a tag assigned to the resource. This * filter is independent of the tag-value filter. For example, * if you use both the filter "tag-key=Purpose" and the filter * "tag-value=X", you get any resources assigned both the tag key Purpose * (regardless of what the tag's value is), and the tag value X (regardless * of what the tag's key is). If you want to list only resources where * Purpose is X, see the tag:key=value filter. *

    *
  • *
  • *

    * tag-value - The value of a tag assigned to the resource. * This filter is independent of the tag-key filter. *

    *
  • *
  • *

    * vpc-id - The ID of the VPC for the subnet. *

    *
  • *
*/ private com.amazonaws.internal.SdkInternalList filters; /** *

* One or more subnet IDs. *

*

* Default: Describes all your subnets. *

* * @return One or more subnet IDs.

*

* Default: Describes all your subnets. */ public java.util.List getSubnetIds() { if (subnetIds == null) { subnetIds = new com.amazonaws.internal.SdkInternalList(); } return subnetIds; } /** *

* One or more subnet IDs. *

*

* Default: Describes all your subnets. *

* * @param subnetIds * One or more subnet IDs.

*

* Default: Describes all your subnets. */ public void setSubnetIds(java.util.Collection subnetIds) { if (subnetIds == null) { this.subnetIds = null; return; } this.subnetIds = new com.amazonaws.internal.SdkInternalList( subnetIds); } /** *

* One or more subnet IDs. *

*

* Default: Describes all your subnets. *

*

* NOTE: This method appends the values to the existing list (if * any). Use {@link #setSubnetIds(java.util.Collection)} or * {@link #withSubnetIds(java.util.Collection)} if you want to override the * existing values. *

* * @param subnetIds * One or more subnet IDs.

*

* Default: Describes all your subnets. * @return Returns a reference to this object so that method calls can be * chained together. */ public DescribeSubnetsRequest withSubnetIds(String... subnetIds) { if (this.subnetIds == null) { setSubnetIds(new com.amazonaws.internal.SdkInternalList( subnetIds.length)); } for (String ele : subnetIds) { this.subnetIds.add(ele); } return this; } /** *

* One or more subnet IDs. *

*

* Default: Describes all your subnets. *

* * @param subnetIds * One or more subnet IDs.

*

* Default: Describes all your subnets. * @return Returns a reference to this object so that method calls can be * chained together. */ public DescribeSubnetsRequest withSubnetIds( java.util.Collection subnetIds) { setSubnetIds(subnetIds); return this; } /** *

* One or more filters. *

*
    *
  • *

    * availabilityZone - The Availability Zone for the subnet. You * can also use availability-zone as the filter name. *

    *
  • *
  • *

    * available-ip-address-count - The number of IP addresses in * the subnet that are available. *

    *
  • *
  • *

    * cidrBlock - The 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 cidr or * cidr-block as the filter names. *

    *
  • *
  • *

    * defaultForAz - Indicates whether this is the default subnet * for the Availability Zone. You can also use default-for-az * as the filter name. *

    *
  • *
  • *

    * state - The state of the subnet (pending | * available). *

    *
  • *
  • *

    * subnet-id - The ID of the subnet. *

    *
  • *
  • *

    * tag:key=value - The key/value combination of a * tag assigned to the resource. *

    *
  • *
  • *

    * tag-key - The key of a tag assigned to the resource. This * filter is independent of the tag-value filter. For example, * if you use both the filter "tag-key=Purpose" and the filter * "tag-value=X", you get any resources assigned both the tag key Purpose * (regardless of what the tag's value is), and the tag value X (regardless * of what the tag's key is). If you want to list only resources where * Purpose is X, see the tag:key=value filter. *

    *
  • *
  • *

    * tag-value - The value of a tag assigned to the resource. * This filter is independent of the tag-key filter. *

    *
  • *
  • *

    * vpc-id - The ID of the VPC for the subnet. *

    *
  • *
* * @return One or more filters.

*
    *
  • *

    * availabilityZone - The Availability Zone for the * subnet. You can also use availability-zone as the * filter name. *

    *
  • *
  • *

    * available-ip-address-count - The number of IP * addresses in the subnet that are available. *

    *
  • *
  • *

    * cidrBlock - The 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 * cidr or cidr-block as the filter names. *

    *
  • *
  • *

    * defaultForAz - Indicates whether this is the default * subnet for the Availability Zone. You can also use * default-for-az as the filter name. *

    *
  • *
  • *

    * state - The state of the subnet ( * pending | available). *

    *
  • *
  • *

    * subnet-id - The ID of the subnet. *

    *
  • *
  • *

    * tag:key=value - The key/value * combination of a tag assigned to the resource. *

    *
  • *
  • *

    * tag-key - The key of a tag assigned to the resource. * This filter is independent of the tag-value filter. * For example, if you use both the filter "tag-key=Purpose" and the * filter "tag-value=X", you get any resources assigned both the tag * key Purpose (regardless of what the tag's value is), and the tag * value X (regardless of what the tag's key is). If you want to * list only resources where Purpose is X, see the tag * :key=value filter. *

    *
  • *
  • *

    * tag-value - The value of a tag assigned to the * resource. This filter is independent of the tag-key * filter. *

    *
  • *
  • *

    * vpc-id - The ID of the VPC for the subnet. *

    *
  • */ public java.util.List getFilters() { if (filters == null) { filters = new com.amazonaws.internal.SdkInternalList(); } return filters; } /** *

    * One or more filters. *

    *
      *
    • *

      * availabilityZone - The Availability Zone for the subnet. You * can also use availability-zone as the filter name. *

      *
    • *
    • *

      * available-ip-address-count - The number of IP addresses in * the subnet that are available. *

      *
    • *
    • *

      * cidrBlock - The 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 cidr or * cidr-block as the filter names. *

      *
    • *
    • *

      * defaultForAz - Indicates whether this is the default subnet * for the Availability Zone. You can also use default-for-az * as the filter name. *

      *
    • *
    • *

      * state - The state of the subnet (pending | * available). *

      *
    • *
    • *

      * subnet-id - The ID of the subnet. *

      *
    • *
    • *

      * tag:key=value - The key/value combination of a * tag assigned to the resource. *

      *
    • *
    • *

      * tag-key - The key of a tag assigned to the resource. This * filter is independent of the tag-value filter. For example, * if you use both the filter "tag-key=Purpose" and the filter * "tag-value=X", you get any resources assigned both the tag key Purpose * (regardless of what the tag's value is), and the tag value X (regardless * of what the tag's key is). If you want to list only resources where * Purpose is X, see the tag:key=value filter. *

      *
    • *
    • *

      * tag-value - The value of a tag assigned to the resource. * This filter is independent of the tag-key filter. *

      *
    • *
    • *

      * vpc-id - The ID of the VPC for the subnet. *

      *
    • *
    * * @param filters * One or more filters.

    *
      *
    • *

      * availabilityZone - The Availability Zone for the * subnet. You can also use availability-zone as the * filter name. *

      *
    • *
    • *

      * available-ip-address-count - The number of IP * addresses in the subnet that are available. *

      *
    • *
    • *

      * cidrBlock - The 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 * cidr or cidr-block as the filter names. *

      *
    • *
    • *

      * defaultForAz - Indicates whether this is the default * subnet for the Availability Zone. You can also use * default-for-az as the filter name. *

      *
    • *
    • *

      * state - The state of the subnet (pending * | available). *

      *
    • *
    • *

      * subnet-id - The ID of the subnet. *

      *
    • *
    • *

      * tag:key=value - The key/value * combination of a tag assigned to the resource. *

      *
    • *
    • *

      * tag-key - The key of a tag assigned to the resource. * This filter is independent of the tag-value filter. * For example, if you use both the filter "tag-key=Purpose" and the * filter "tag-value=X", you get any resources assigned both the tag * key Purpose (regardless of what the tag's value is), and the tag * value X (regardless of what the tag's key is). If you want to list * only resources where Purpose is X, see the tag * :key=value filter. *

      *
    • *
    • *

      * tag-value - The value of a tag assigned to the * resource. This filter is independent of the tag-key * filter. *

      *
    • *
    • *

      * vpc-id - The ID of the VPC for the subnet. *

      *
    • */ public void setFilters(java.util.Collection filters) { if (filters == null) { this.filters = null; return; } this.filters = new com.amazonaws.internal.SdkInternalList( filters); } /** *

      * One or more filters. *

      *
        *
      • *

        * availabilityZone - The Availability Zone for the subnet. You * can also use availability-zone as the filter name. *

        *
      • *
      • *

        * available-ip-address-count - The number of IP addresses in * the subnet that are available. *

        *
      • *
      • *

        * cidrBlock - The 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 cidr or * cidr-block as the filter names. *

        *
      • *
      • *

        * defaultForAz - Indicates whether this is the default subnet * for the Availability Zone. You can also use default-for-az * as the filter name. *

        *
      • *
      • *

        * state - The state of the subnet (pending | * available). *

        *
      • *
      • *

        * subnet-id - The ID of the subnet. *

        *
      • *
      • *

        * tag:key=value - The key/value combination of a * tag assigned to the resource. *

        *
      • *
      • *

        * tag-key - The key of a tag assigned to the resource. This * filter is independent of the tag-value filter. For example, * if you use both the filter "tag-key=Purpose" and the filter * "tag-value=X", you get any resources assigned both the tag key Purpose * (regardless of what the tag's value is), and the tag value X (regardless * of what the tag's key is). If you want to list only resources where * Purpose is X, see the tag:key=value filter. *

        *
      • *
      • *

        * tag-value - The value of a tag assigned to the resource. * This filter is independent of the tag-key filter. *

        *
      • *
      • *

        * vpc-id - The ID of the VPC for the subnet. *

        *
      • *
      *

      * NOTE: This method appends the values to the existing list (if * any). Use {@link #setFilters(java.util.Collection)} or * {@link #withFilters(java.util.Collection)} if you want to override the * existing values. *

      * * @param filters * One or more filters.

      *
        *
      • *

        * availabilityZone - The Availability Zone for the * subnet. You can also use availability-zone as the * filter name. *

        *
      • *
      • *

        * available-ip-address-count - The number of IP * addresses in the subnet that are available. *

        *
      • *
      • *

        * cidrBlock - The 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 * cidr or cidr-block as the filter names. *

        *
      • *
      • *

        * defaultForAz - Indicates whether this is the default * subnet for the Availability Zone. You can also use * default-for-az as the filter name. *

        *
      • *
      • *

        * state - The state of the subnet (pending * | available). *

        *
      • *
      • *

        * subnet-id - The ID of the subnet. *

        *
      • *
      • *

        * tag:key=value - The key/value * combination of a tag assigned to the resource. *

        *
      • *
      • *

        * tag-key - The key of a tag assigned to the resource. * This filter is independent of the tag-value filter. * For example, if you use both the filter "tag-key=Purpose" and the * filter "tag-value=X", you get any resources assigned both the tag * key Purpose (regardless of what the tag's value is), and the tag * value X (regardless of what the tag's key is). If you want to list * only resources where Purpose is X, see the tag * :key=value filter. *

        *
      • *
      • *

        * tag-value - The value of a tag assigned to the * resource. This filter is independent of the tag-key * filter. *

        *
      • *
      • *

        * vpc-id - The ID of the VPC for the subnet. *

        *
      • * @return Returns a reference to this object so that method calls can be * chained together. */ public DescribeSubnetsRequest withFilters(Filter... filters) { if (this.filters == null) { setFilters(new com.amazonaws.internal.SdkInternalList( filters.length)); } for (Filter ele : filters) { this.filters.add(ele); } return this; } /** *

        * One or more filters. *

        *
          *
        • *

          * availabilityZone - The Availability Zone for the subnet. You * can also use availability-zone as the filter name. *

          *
        • *
        • *

          * available-ip-address-count - The number of IP addresses in * the subnet that are available. *

          *
        • *
        • *

          * cidrBlock - The 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 cidr or * cidr-block as the filter names. *

          *
        • *
        • *

          * defaultForAz - Indicates whether this is the default subnet * for the Availability Zone. You can also use default-for-az * as the filter name. *

          *
        • *
        • *

          * state - The state of the subnet (pending | * available). *

          *
        • *
        • *

          * subnet-id - The ID of the subnet. *

          *
        • *
        • *

          * tag:key=value - The key/value combination of a * tag assigned to the resource. *

          *
        • *
        • *

          * tag-key - The key of a tag assigned to the resource. This * filter is independent of the tag-value filter. For example, * if you use both the filter "tag-key=Purpose" and the filter * "tag-value=X", you get any resources assigned both the tag key Purpose * (regardless of what the tag's value is), and the tag value X (regardless * of what the tag's key is). If you want to list only resources where * Purpose is X, see the tag:key=value filter. *

          *
        • *
        • *

          * tag-value - The value of a tag assigned to the resource. * This filter is independent of the tag-key filter. *

          *
        • *
        • *

          * vpc-id - The ID of the VPC for the subnet. *

          *
        • *
        * * @param filters * One or more filters.

        *
          *
        • *

          * availabilityZone - The Availability Zone for the * subnet. You can also use availability-zone as the * filter name. *

          *
        • *
        • *

          * available-ip-address-count - The number of IP * addresses in the subnet that are available. *

          *
        • *
        • *

          * cidrBlock - The 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 * cidr or cidr-block as the filter names. *

          *
        • *
        • *

          * defaultForAz - Indicates whether this is the default * subnet for the Availability Zone. You can also use * default-for-az as the filter name. *

          *
        • *
        • *

          * state - The state of the subnet (pending * | available). *

          *
        • *
        • *

          * subnet-id - The ID of the subnet. *

          *
        • *
        • *

          * tag:key=value - The key/value * combination of a tag assigned to the resource. *

          *
        • *
        • *

          * tag-key - The key of a tag assigned to the resource. * This filter is independent of the tag-value filter. * For example, if you use both the filter "tag-key=Purpose" and the * filter "tag-value=X", you get any resources assigned both the tag * key Purpose (regardless of what the tag's value is), and the tag * value X (regardless of what the tag's key is). If you want to list * only resources where Purpose is X, see the tag * :key=value filter. *

          *
        • *
        • *

          * tag-value - The value of a tag assigned to the * resource. This filter is independent of the tag-key * filter. *

          *
        • *
        • *

          * vpc-id - The ID of the VPC for the subnet. *

          *
        • * @return Returns a reference to this object so that method calls can be * chained together. */ public DescribeSubnetsRequest withFilters( java.util.Collection filters) { setFilters(filters); return this; } /** * This method is intended for internal use only. Returns the marshaled * request configured with additional parameters to enable operation * dry-run. */ @Override public Request getDryRunRequest() { Request request = new DescribeSubnetsRequestMarshaller() .marshall(this); request.addParameter("DryRun", Boolean.toString(true)); return request; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getSubnetIds() != null) sb.append("SubnetIds: " + getSubnetIds() + ","); if (getFilters() != null) sb.append("Filters: " + getFilters()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof DescribeSubnetsRequest == false) return false; DescribeSubnetsRequest other = (DescribeSubnetsRequest) obj; if (other.getSubnetIds() == null ^ this.getSubnetIds() == null) return false; if (other.getSubnetIds() != null && other.getSubnetIds().equals(this.getSubnetIds()) == false) return false; if (other.getFilters() == null ^ this.getFilters() == null) return false; if (other.getFilters() != null && other.getFilters().equals(this.getFilters()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getSubnetIds() == null) ? 0 : getSubnetIds().hashCode()); hashCode = prime * hashCode + ((getFilters() == null) ? 0 : getFilters().hashCode()); return hashCode; } @Override public DescribeSubnetsRequest clone() { return (DescribeSubnetsRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy