Skip to content

describe_vpcs

describe_vpcs(
    *,
    config_overrides: Optional[EC2ClientConfig] = None,
    filters: Optional[FilterList] = None,
    vpc_ids: Optional[VpcIdStringList] = None,
    next_token: Optional[String] = None,
    max_results: Optional[DescribeVpcsMaxResults] = None,
    dry_run: Optional[Boolean] = None,
) -> DescribeVpcsResult

Describes your VPCs. The default is to describe all your VPCs. Alternatively, you can specify specific VPC IDs or filter the results to include only the VPCs that match specific criteria.

Parameters:

  • filters (Optional[FilterList], default: None ) –

    The filters.

    • cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you specify must exactly match the VPC's CIDR block for information to be returned for the VPC. Must contain the slash followed by one or two digits (for example, /28).

    • cidr-block-association.cidr-block - An IPv4 CIDR block associated with the VPC.

    • cidr-block-association.association-id - The association ID for an IPv4 CIDR block associated with the VPC.

    • cidr-block-association.state - The state of an IPv4 CIDR block associated with the VPC.

    • dhcp-options-id - The ID of a set of DHCP options.

    • ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated with the VPC.

    • ipv6-cidr-block-association.ipv6-pool - The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.

    • ipv6-cidr-block-association.association-id - The association ID for an IPv6 CIDR block associated with the VPC.

    • ipv6-cidr-block-association.state - The state of an IPv6 CIDR block associated with the VPC.

    • is-default - Indicates whether the VPC is the default VPC.

    • owner-id - The ID of the Amazon Web Services account that owns the VPC.

    • state - The state of the VPC (pending | available).

    • tag - 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 Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    • tag-key - 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.

    • vpc-id - The ID of the VPC.

  • vpc_ids (Optional[VpcIdStringList], default: None ) –

    The IDs of the VPCs.

  • next_token (Optional[String], default: None ) –

    The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

  • max_results (Optional[DescribeVpcsMaxResults], default: None ) –

    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 Pagination.

  • dry_run (Optional[Boolean], default: None ) –

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Raises:

Examples:

To describe a VPC This example describes the specified VPC.

>>> client.describe_vpcs(vpc_ids=['vpc-a01106c2'])
Source code in docs_src/capo_ec2/_services/ec2.py
def describe_vpcs(
    self,
    *,
    config_overrides: Optional[EC2ClientConfig] = None,
    filters: Optional["capo_ec2.types.filter_list.FilterList"] = None,
    vpc_ids: Optional["capo_ec2.types.vpc_id_string_list.VpcIdStringList"] = None,
    next_token: Optional["capo_ec2.types.string.String"] = None,
    max_results: Optional[
        "capo_ec2.types.describe_vpcs_max_results.DescribeVpcsMaxResults"
    ] = None,
    dry_run: Optional["capo_ec2.types.boolean.Boolean"] = None,
) -> "capo_ec2.types.describe_vpcs_result.DescribeVpcsResult":
    """<p>Describes your VPCs. The default is to describe all your VPCs. Alternatively, you can specify specific VPC IDs or filter the results to include only the VPCs that match specific criteria.</p>

    Args:
        filters: <p>The filters.</p> <ul> <li> <p> <code>cidr</code> - The primary IPv4 CIDR block of the VPC. The CIDR block you specify must exactly match the VPC's CIDR block for information to be returned for the VPC. Must contain the slash followed by one or two digits (for example, <code>/28</code>).</p> </li> <li> <p> <code>cidr-block-association.cidr-block</code> - An IPv4 CIDR block associated with the VPC.</p> </li> <li> <p> <code>cidr-block-association.association-id</code> - The association ID for an IPv4 CIDR block associated with the VPC.</p> </li> <li> <p> <code>cidr-block-association.state</code> - The state of an IPv4 CIDR block associated with the VPC.</p> </li> <li> <p> <code>dhcp-options-id</code> - The ID of a set of DHCP options.</p> </li> <li> <p> <code>ipv6-cidr-block-association.ipv6-cidr-block</code> - An IPv6 CIDR block associated with the VPC.</p> </li> <li> <p> <code>ipv6-cidr-block-association.ipv6-pool</code> - The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.</p> </li> <li> <p> <code>ipv6-cidr-block-association.association-id</code> - The association ID for an IPv6 CIDR block associated with the VPC.</p> </li> <li> <p> <code>ipv6-cidr-block-association.state</code> - The state of an IPv6 CIDR block associated with the VPC.</p> </li> <li> <p> <code>is-default</code> - Indicates whether the VPC is the default VPC.</p> </li> <li> <p> <code>owner-id</code> - The ID of the Amazon Web Services account that owns the VPC.</p> </li> <li> <p> <code>state</code> - The state of the VPC (<code>pending</code> | <code>available</code>).</p> </li> <li> <p> <code>tag</code> - 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.</p> </li> <li> <p> <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.</p> </li> <li> <p> <code>vpc-id</code> - The ID of the VPC.</p> </li> </ul>
        vpc_ids: <p>The IDs of the VPCs.</p>
        next_token: <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
        max_results: <p>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>.</p>
        dry_run: <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>

    Raises:
        capo_ec2.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        To describe a VPC
        This example describes the specified VPC.

        >>> client.describe_vpcs(vpc_ids=['vpc-a01106c2'])
    """

    def _handler(
        req: "OperationRequest[capo_ec2.types.describe_vpcs_request.DescribeVpcsRequest]",
    ) -> OperationResponse[
        "capo_ec2.types.describe_vpcs_result.DescribeVpcsResult"
    ]:
        import capo_ec2._operations.amazon_ec2.describe_vpcs

        output, http_response = (
            capo_ec2._operations.amazon_ec2.describe_vpcs.describe_vpcs(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("DescribeVpcs")
    )
    input_: capo_ec2.types.describe_vpcs_request.DescribeVpcsRequest = {}
    if filters is not None:
        input_["filters"] = filters
    if vpc_ids is not None:
        input_["vpc_ids"] = vpc_ids
    if next_token is not None:
        input_["next_token"] = next_token
    if max_results is not None:
        input_["max_results"] = max_results
    if dry_run is not None:
        input_["dry_run"] = dry_run

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output