Skip to content

get_resource_snapshot

get_resource_snapshot(
    catalog: CatalogIdentifier,
    engagement_identifier: EngagementIdentifier,
    resource_type: ResourceType,
    resource_identifier: ResourceIdentifier,
    resource_snapshot_template_identifier: ResourceTemplateName,
    *,
    config_overrides: Optional[PartnerCentralSellingClientConfig] = None,
    revision: Optional[ResourceSnapshotRevision] = None,
) -> GetResourceSnapshotResponse

Use this action to retrieve a specific snapshot record.

Parameters:

  • catalog (CatalogIdentifier) –

    Specifies the catalog related to the request. Valid values are:

    • AWS: Retrieves the snapshot from the production AWS environment.

    • Sandbox: Retrieves the snapshot from a sandbox environment used for testing or development purposes.

  • engagement_identifier (EngagementIdentifier) –

    The unique identifier of the engagement associated with the snapshot. This field links the snapshot to a specific engagement context.

  • resource_type (ResourceType) –

    Specifies the type of resource that was snapshotted. This field determines the structure and content of the snapshot payload. Valid value includes:Opportunity: For opportunity-related data.

  • resource_identifier (ResourceIdentifier) –

    The unique identifier of the specific resource that was snapshotted. The format and constraints of this identifier depend on the ResourceType specified. For Opportunity type, it will be an opportunity ID

  • resource_snapshot_template_identifier (ResourceTemplateName) –

    he name of the template that defines the schema for the snapshot. This template determines which subset of the resource data is included in the snapshot and must correspond to an existing and valid template for the specified ResourceType.

  • revision (Optional[ResourceSnapshotRevision], default: None ) –

    Specifies which revision of the snapshot to retrieve. If omitted returns the latest revision.

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 get_resource_snapshot(
    self,
    catalog: "capo_partnercentral_selling.types.catalog_identifier.CatalogIdentifier",
    engagement_identifier: "capo_partnercentral_selling.types.engagement_identifier.EngagementIdentifier",
    resource_type: "capo_partnercentral_selling.types.resource_type.ResourceType",
    resource_identifier: "capo_partnercentral_selling.types.resource_identifier.ResourceIdentifier",
    resource_snapshot_template_identifier: "capo_partnercentral_selling.types.resource_template_name.ResourceTemplateName",
    *,
    config_overrides: Optional[PartnerCentralSellingClientConfig] = None,
    revision: Optional[
        "capo_partnercentral_selling.types.resource_snapshot_revision.ResourceSnapshotRevision"
    ] = None,
) -> "capo_partnercentral_selling.types.get_resource_snapshot_response.GetResourceSnapshotResponse":
    """<p>Use this action to retrieve a specific snapshot record.</p>

    Args:
        catalog: <p>Specifies the catalog related to the request. Valid values are:</p> <ul> <li> <p>AWS: Retrieves the snapshot from the production AWS environment.</p> </li> <li> <p>Sandbox: Retrieves the snapshot from a sandbox environment used for testing or development purposes.</p> </li> </ul>
        engagement_identifier: <p>The unique identifier of the engagement associated with the snapshot. This field links the snapshot to a specific engagement context.</p>
        resource_type: <p>Specifies the type of resource that was snapshotted. This field determines the structure and content of the snapshot payload. Valid value includes:<code>Opportunity</code>: For opportunity-related data. </p>
        resource_identifier: <p>The unique identifier of the specific resource that was snapshotted. The format and constraints of this identifier depend on the ResourceType specified. For <code>Opportunity</code> type, it will be an <code>opportunity ID</code> </p>
        resource_snapshot_template_identifier: <p>he name of the template that defines the schema for the snapshot. This template determines which subset of the resource data is included in the snapshot and must correspond to an existing and valid template for the specified <code>ResourceType</code>.</p>
        revision: <p>Specifies which revision of the snapshot to retrieve. If omitted returns the latest revision.</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.get_resource_snapshot_request.GetResourceSnapshotRequest]",
    ) -> OperationResponse[
        "capo_partnercentral_selling.types.get_resource_snapshot_response.GetResourceSnapshotResponse"
    ]:
        import capo_partnercentral_selling._operations.aws_partner_central_selling.get_resource_snapshot

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

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

        return capo_partnercentral_selling.types.get_resource_snapshot_response.redact_sensitive(
            output
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("GetResourceSnapshot", redact_output=_redact_output),
    )
    input_: capo_partnercentral_selling.types.get_resource_snapshot_request.GetResourceSnapshotRequest = {
        "catalog": catalog,
        "engagement_identifier": engagement_identifier,
        "resource_type": resource_type,
        "resource_identifier": resource_identifier,
        "resource_snapshot_template_identifier": resource_snapshot_template_identifier,
    }
    if revision is not None:
        input_["revision"] = revision

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