CreateResourceSnapshot
This action allows you to create an immutable snapshot of a specific resource, such as an opportunity, within the context of an engagement. The snapshot captures a subset of the resource's data based on the schema defined by the provided template.
Request Syntax
{
"Catalog": "string
",
"ClientToken": "string
",
"EngagementIdentifier": "string
",
"ResourceIdentifier": "string
",
"ResourceSnapshotTemplateIdentifier": "string
",
"ResourceType": "string
"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
Note
In the following list, the required parameters are described first.
- Catalog
-
Specifies the catalog where the snapshot is created. Valid values are
AWS
andSandbox
.Type: String
Pattern:
^[a-zA-Z]+$
Required: Yes
- ClientToken
-
Specifies a unique, client-generated UUID to ensure that the request is handled exactly once. This token helps prevent duplicate snapshot creations.
Type: String
Pattern:
^[!-~]{1,64}$
Required: Yes
- EngagementIdentifier
-
The unique identifier of the engagement associated with this snapshot. This field links the snapshot to a specific engagement context.
Type: String
Pattern:
^eng-[0-9a-z]{14}$
Required: Yes
- ResourceIdentifier
-
The unique identifier of the specific resource to be snapshotted. The format and constraints of this identifier depend on the
ResourceType
specified. For example: ForOpportunity
type, it will be an opportunity ID.Type: String
Pattern:
^O[0-9]{1,19}$
Required: Yes
- ResourceSnapshotTemplateIdentifier
-
The name of the template that defines the schema for the snapshot. This template determines which subset of the resource data will be included in the snapshot. Must correspond to an existing and valid template for the specified
ResourceType
.Type: String
Pattern:
^[a-zA-Z0-9]{3,80}$
Required: Yes
- ResourceType
-
Specifies the type of resource for which the snapshot is being created. This field determines the structure and content of the snapshot. Must be one of the supported resource types, such as:
Opportunity
.Type: String
Valid Values:
Opportunity
Required: Yes
Response Syntax
{
"Arn": "string",
"Revision": number
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- Arn
-
Specifies the Amazon Resource Name (ARN) that uniquely identifies the snapshot created.
Type: String
Pattern:
^arn:.*
- Revision
-
Specifies the revision number of the created snapshot. This field provides important information about the snapshot's place in the sequence of snapshots for the given resource.
Type: Integer
Valid Range: Minimum value of 1.
Errors
For information about the errors that are common to all actions, see Common Errors.
- 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.
HTTP Status Code: 400
- ConflictException
-
This error occurs when the request can’t be processed due to a conflict with the target resource's current state, which could result from updating or deleting the resource.
Suggested action: Fetch the latest state of the resource, verify the state, and retry the request.
HTTP Status Code: 400
- 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.
HTTP Status Code: 400
- ServiceQuotaExceededException
-
This error occurs when the request would cause a service quota to be exceeded. Service quotas represent the maximum allowed use of a specific resource, and this error indicates that the request would surpass that limit.
Suggested action: Review the Quotas for the resource, and either reduce usage or request a quota increase.
HTTP Status Code: 400
- 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.
HTTP Status Code: 400
- 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.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: