Skip to content

list_resource_snapshots

list_resource_snapshots(
    catalog: CatalogIdentifier,
    engagement_identifier: EngagementIdentifier,
    *,
    config_overrides: Optional[PartnerCentralSellingClientConfig] = None,
    max_results: Optional[PageSize] = None,
    next_token: Optional[str] = None,
    resource_type: Optional[ResourceType] = None,
    resource_identifier: Optional[ResourceIdentifier] = None,
    resource_snapshot_template_identifier: Optional[ResourceTemplateName] = None,
    created_by: Optional[AwsAccount] = None,
) -> ListResourceSnapshotsResponse

Retrieves a list of resource view snapshots based on specified criteria. This operation supports various use cases, including:

  • Fetching all snapshots associated with an engagement.

  • Retrieving snapshots of a specific resource type within an engagement.

  • Obtaining snapshots for a particular resource using a specified template.

  • Accessing the latest snapshot of a resource within an engagement.

  • Filtering snapshots by resource owner.

Parameters:

  • catalog (CatalogIdentifier) –

    Specifies the catalog related to the request.

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

    The maximum number of results to return in a single call.

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

    The token for the next set of results.

  • engagement_identifier (EngagementIdentifier) –

    The unique identifier of the engagement associated with the snapshots.

  • resource_type (Optional[ResourceType], default: None ) –

    Filters the response to include only snapshots of the specified resource type.

  • resource_identifier (Optional[ResourceIdentifier], default: None ) –

    Filters the response to include only snapshots of the specified resource.

  • resource_snapshot_template_identifier (Optional[ResourceTemplateName], default: None ) –

    Filters the response to include only snapshots created using the specified template.

  • created_by (Optional[AwsAccount], default: None ) –

    Filters the response to include only snapshots of resources owned by the specified AWS account.

Raises:

  • AccessDeniedException –

    This error occurs when you don't have permission to perform the requested action.

    You don’t have access to this action or resource. Review IAM policies or contact your AWS administrator for assistance.

  • InternalServerException –

    This error occurs when the specified resource can’t be found or doesn't exist. Resource ID and type might be incorrect.

    Suggested action: This is usually a transient error. Retry after the provided retry delay or a short interval. If the problem persists, contact AWS support.

  • ResourceNotFoundException –

    This error occurs when the specified resource can't be found. The resource might not exist, or isn't visible with the current credentials.

    Suggested action: Verify that the resource ID is correct and the resource is in the expected AWS region. Check IAM permissions for accessing the resource.

  • ThrottlingException –

    This error occurs when there are too many requests sent. Review the provided quotas and adapt your usage to avoid throttling.

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

  • ValidationException –

    The input fails to satisfy the constraints specified by the service or business validation rules.

    Suggested action: Review the error message, including the failed fields and reasons, to correct the request payload.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_partnercentral_selling/_services/partner_central_selling.py
def list_resource_snapshots(
    self,
    catalog: "capo_partnercentral_selling.types.catalog_identifier.CatalogIdentifier",
    engagement_identifier: "capo_partnercentral_selling.types.engagement_identifier.EngagementIdentifier",
    *,
    config_overrides: Optional[PartnerCentralSellingClientConfig] = None,
    max_results: Optional[
        "capo_partnercentral_selling.types.page_size.PageSize"
    ] = None,
    next_token: Optional[str] = None,
    resource_type: Optional[
        "capo_partnercentral_selling.types.resource_type.ResourceType"
    ] = None,
    resource_identifier: Optional[
        "capo_partnercentral_selling.types.resource_identifier.ResourceIdentifier"
    ] = None,
    resource_snapshot_template_identifier: Optional[
        "capo_partnercentral_selling.types.resource_template_name.ResourceTemplateName"
    ] = None,
    created_by: Optional[
        "capo_partnercentral_selling.types.aws_account.AwsAccount"
    ] = None,
) -> "capo_partnercentral_selling.types.list_resource_snapshots_response.ListResourceSnapshotsResponse":
    """<p>Retrieves a list of resource view snapshots based on specified criteria. This operation supports various use cases, including: </p> <ul> <li> <p>Fetching all snapshots associated with an engagement.</p> </li> <li> <p>Retrieving snapshots of a specific resource type within an engagement.</p> </li> <li> <p>Obtaining snapshots for a particular resource using a specified template.</p> </li> <li> <p>Accessing the latest snapshot of a resource within an engagement.</p> </li> <li> <p>Filtering snapshots by resource owner.</p> </li> </ul>

    Args:
        catalog: <p> Specifies the catalog related to the request. </p>
        max_results: <p> The maximum number of results to return in a single call. </p>
        next_token: <p> The token for the next set of results. </p>
        engagement_identifier: <p> The unique identifier of the engagement associated with the snapshots. </p>
        resource_type: <p> Filters the response to include only snapshots of the specified resource type. </p>
        resource_identifier: <p> Filters the response to include only snapshots of the specified resource. </p>
        resource_snapshot_template_identifier: <p>Filters the response to include only snapshots created using the specified template.</p>
        created_by: <p>Filters the response to include only snapshots of resources owned by the specified AWS account. </p>

    Raises:
        capo_partnercentral_selling.errors.access_denied_exception.AccessDeniedException: <p>This error occurs when you don't have permission to perform the requested action.</p> <p>You don’t have access to this action or resource. Review IAM policies or contact your AWS administrator for assistance.</p>
        capo_partnercentral_selling.errors.internal_server_exception.InternalServerException: <p>This error occurs when the specified resource can’t be found or doesn't exist. Resource ID and type might be incorrect.</p> <p>Suggested action: This is usually a transient error. Retry after the provided retry delay or a short interval. If the problem persists, contact AWS support.</p>
        capo_partnercentral_selling.errors.resource_not_found_exception.ResourceNotFoundException: <p>This error occurs when the specified resource can't be found. The resource might not exist, or isn't visible with the current credentials.</p> <p>Suggested action: Verify that the resource ID is correct and the resource is in the expected AWS region. Check IAM permissions for accessing the resource.</p>
        capo_partnercentral_selling.errors.throttling_exception.ThrottlingException: <p>This error occurs when there are too many requests sent. Review the provided quotas and adapt your usage to avoid throttling.</p> <p>This error occurs when there are too many requests sent. Review the provided <a href="https://docs.aws.amazon.com/partner-central/latest/selling-api/quotas.html">Quotas</a> and retry after the provided delay.</p>
        capo_partnercentral_selling.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints specified by the service or business validation rules.</p> <p>Suggested action: Review the error message, including the failed fields and reasons, to correct the request payload.</p>
        capo_partnercentral_selling.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_partnercentral_selling.types.list_resource_snapshots_request.ListResourceSnapshotsRequest]",
    ) -> OperationResponse[
        "capo_partnercentral_selling.types.list_resource_snapshots_response.ListResourceSnapshotsResponse"
    ]:
        import capo_partnercentral_selling._operations.aws_partner_central_selling.list_resource_snapshots

        output, http_response = (
            capo_partnercentral_selling._operations.aws_partner_central_selling.list_resource_snapshots.list_resource_snapshots(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_partnercentral_selling.types.list_resource_snapshots_request.ListResourceSnapshotsRequest",
    ) -> dict[str, Any]:
        import capo_partnercentral_selling.types.list_resource_snapshots_request

        return capo_partnercentral_selling.types.list_resource_snapshots_request.redact_sensitive(
            input_
        )

    def _redact_output(
        output: "capo_partnercentral_selling.types.list_resource_snapshots_response.ListResourceSnapshotsResponse",
    ) -> dict[str, Any]:
        import capo_partnercentral_selling.types.list_resource_snapshots_response

        return capo_partnercentral_selling.types.list_resource_snapshots_response.redact_sensitive(
            output
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging(
            "ListResourceSnapshots",
            redact_input=_redact_input,
            redact_output=_redact_output,
        ),
    )
    input_: capo_partnercentral_selling.types.list_resource_snapshots_request.ListResourceSnapshotsRequest = {
        "catalog": catalog,
        "engagement_identifier": engagement_identifier,
    }
    if max_results is not None:
        input_["max_results"] = max_results
    if next_token is not None:
        input_["next_token"] = next_token
    if resource_type is not None:
        input_["resource_type"] = resource_type
    if resource_identifier is not None:
        input_["resource_identifier"] = resource_identifier
    if resource_snapshot_template_identifier is not None:
        input_["resource_snapshot_template_identifier"] = (
            resource_snapshot_template_identifier
        )
    if created_by is not None:
        input_["created_by"] = created_by

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