Skip to content

get_ipam_prefix_list_resolver_versions async

get_ipam_prefix_list_resolver_versions(
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = None,
    dry_run: Optional[Boolean] = None,
    ipam_prefix_list_resolver_id: Optional[IpamPrefixListResolverId] = None,
    ipam_prefix_list_resolver_versions: Optional[
        IpamPrefixListResolverVersionNumberSet
    ] = None,
    max_results: Optional[IpamMaxResults] = None,
    filters: Optional[FilterList] = None,
    next_token: Optional[NextToken] = None,
) -> GetIpamPrefixListResolverVersionsResult

Retrieves version information for an IPAM prefix list resolver.

Each version is a snapshot of what CIDRs matched your rules at that moment in time. The version number increments every time the CIDR list changes due to infrastructure changes.

Version example:

Initial State (Version 1)

Production environment:

  • vpc-prod-web (10.1.0.0/16) - tagged env=prod

  • vpc-prod-db (10.2.0.0/16) - tagged env=prod

Resolver rule: Include all VPCs tagged env=prod

Version 1 CIDRs: 10.1.0.0/16, 10.2.0.0/16

Infrastructure Change (Version 2)

New VPC added:

  • vpc-prod-api (10.3.0.0/16) - tagged env=prod

IPAM automatically detects the change and creates a new version.

Version 2 CIDRs: 10.1.0.0/16, 10.2.0.0/16, 10.3.0.0/16

Parameters:

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

    A check for 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.

  • ipam_prefix_list_resolver_id (Optional[IpamPrefixListResolverId], default: None ) –

    The ID of the IPAM prefix list resolver whose versions you want to retrieve.

  • ipam_prefix_list_resolver_versions (Optional[IpamPrefixListResolverVersionNumberSet], default: None ) –

    Specific version numbers to retrieve. If not specified, all versions are returned.

  • max_results (Optional[IpamMaxResults], 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.

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

    One or more filters to limit the results.

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

    The token for the next page of results.

Raises:

Source code in docs_src/capo_ec2/_services/async_ec2.py
async def get_ipam_prefix_list_resolver_versions(
    self,
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = None,
    dry_run: Optional["capo_ec2.types.boolean.Boolean"] = None,
    ipam_prefix_list_resolver_id: Optional[
        "capo_ec2.types.ipam_prefix_list_resolver_id.IpamPrefixListResolverId"
    ] = None,
    ipam_prefix_list_resolver_versions: Optional[
        "capo_ec2.types.ipam_prefix_list_resolver_version_number_set.IpamPrefixListResolverVersionNumberSet"
    ] = None,
    max_results: Optional["capo_ec2.types.ipam_max_results.IpamMaxResults"] = None,
    filters: Optional["capo_ec2.types.filter_list.FilterList"] = None,
    next_token: Optional["capo_ec2.types.next_token.NextToken"] = None,
) -> "capo_ec2.types.get_ipam_prefix_list_resolver_versions_result.GetIpamPrefixListResolverVersionsResult":
    """<p>Retrieves version information for an IPAM prefix list resolver.</p> <p>Each version is a snapshot of what CIDRs matched your rules at that moment in time. The version number increments every time the CIDR list changes due to infrastructure changes.</p> <p> <b>Version example:</b> </p> <p> <b>Initial State (Version 1)</b> </p> <p>Production environment:</p> <ul> <li> <p>vpc-prod-web (10.1.0.0/16) - tagged env=prod</p> </li> <li> <p>vpc-prod-db (10.2.0.0/16) - tagged env=prod</p> </li> </ul> <p>Resolver rule: Include all VPCs tagged env=prod</p> <p> <b>Version 1 CIDRs:</b> 10.1.0.0/16, 10.2.0.0/16</p> <p> <b>Infrastructure Change (Version 2)</b> </p> <p>New VPC added:</p> <ul> <li> <p>vpc-prod-api (10.3.0.0/16) - tagged env=prod</p> </li> </ul> <p>IPAM automatically detects the change and creates a new version.</p> <p> <b>Version 2 CIDRs:</b> 10.1.0.0/16, 10.2.0.0/16, 10.3.0.0/16</p>

    Args:
        dry_run: <p>A check for 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>
        ipam_prefix_list_resolver_id: <p>The ID of the IPAM prefix list resolver whose versions you want to retrieve.</p>
        ipam_prefix_list_resolver_versions: <p>Specific version numbers to retrieve. If not specified, all versions are returned.</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>
        filters: <p>One or more filters to limit the results.</p>
        next_token: <p>The token for the next page of results.</p>

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

    async def _handler(
        req: "AsyncOperationRequest[capo_ec2.types.get_ipam_prefix_list_resolver_versions_request.GetIpamPrefixListResolverVersionsRequest]",
    ) -> AsyncOperationResponse[
        "capo_ec2.types.get_ipam_prefix_list_resolver_versions_result.GetIpamPrefixListResolverVersionsResult"
    ]:
        import capo_ec2._operations.amazon_ec2.get_ipam_prefix_list_resolver_versions

        (
            output,
            http_response,
        ) = await capo_ec2._operations.amazon_ec2.get_ipam_prefix_list_resolver_versions.async_get_ipam_prefix_list_resolver_versions(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("GetIpamPrefixListResolverVersions")
    )
    input_: capo_ec2.types.get_ipam_prefix_list_resolver_versions_request.GetIpamPrefixListResolverVersionsRequest = {}
    if dry_run is not None:
        input_["dry_run"] = dry_run
    if ipam_prefix_list_resolver_id is not None:
        input_["ipam_prefix_list_resolver_id"] = ipam_prefix_list_resolver_id
    if ipam_prefix_list_resolver_versions is not None:
        input_["ipam_prefix_list_resolver_versions"] = (
            ipam_prefix_list_resolver_versions
        )
    if max_results is not None:
        input_["max_results"] = max_results
    if filters is not None:
        input_["filters"] = filters
    if next_token is not None:
        input_["next_token"] = next_token

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output