StartChangeSet
This operation allows you to request changes for your entities. Within a single
ChangeSet, you cannot start the same change type against the same entity multiple
times.
Additionally, when a ChangeSet is running, all the entities targeted by the different
changes are locked until the ChangeSet has completed (either succeeded, cancelled,
or failed). If
you try to start a ChangeSet containing a change against an entity that is already
locked, you will receive a ResourceInUseException
.
For example, you cannot start the ChangeSet described in the example later in this topic, because it contains two changes to execute the same change
type (AddRevisions
) against the same entity
(entity-id@1)
.
For more information about working with change sets, see Working with change sets.
Request Syntax
POST /StartChangeSet HTTP/1.1
Content-type: application/json
{
"Catalog": "string
",
"ChangeSet": [
{
"ChangeType": "string
",
"Details": "string
",
"Entity": {
"Identifier": "string
",
"Type": "string
"
}
}
],
"ChangeSetName": "string
",
"ClientRequestToken": "string
"
}
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- Catalog
-
The catalog related to the request. Fixed value:
AWSMarketplace
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
^[a-zA-Z]+$
Required: Yes
- ChangeSet
-
Array of
change
object.Type: Array of Change objects
Array Members: Minimum number of 1 item. Maximum number of 20 items.
Required: Yes
- ChangeSetName
-
Optional case sensitive string of up to 100 ASCII characters. The change set name can be used to filter the list of change sets.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 100.
Pattern:
^[\w\s+=.:@-]+$
Required: No
- ClientRequestToken
-
A unique token to identify the request to ensure idempotency.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 36.
Pattern:
^[\w\-]+$
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"ChangeSetArn": "string",
"ChangeSetId": "string"
}
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.
- ChangeSetArn
-
The ARN associated to the unique identifier generated for the request.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 2048.
Pattern:
^[a-zA-Z0-9:*/-]+$
- ChangeSetId
-
Unique identifier generated for the request.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern:
^[\w\-]+$
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
Access is denied.
HTTP Status Code: 403
- InternalServiceException
-
There was an internal service exception.
HTTP Status Code: 500
- ResourceInUseException
-
The resource is currently in use.
HTTP Status Code: 423
- ResourceNotFoundException
-
The specified resource wasn't found.
HTTP Status Code: 404
- ServiceQuotaExceededException
-
The maximum number of open requests per account has been exceeded.
HTTP Status Code: 402
- ThrottlingException
-
Too many requests.
HTTP Status Code: 429
- ValidationException
-
An error occurred during validation.
HTTP Status Code: 422
Examples
Example
You cannot start this ChangeSet because it contains two changes to execute the
same change type (AddRevisions
) against the same entity
(entity-id@1)
.
{ "Catalog": "AWSMarketplace", "ChangeSetName": "Adding revisions to my test Data Product", "ChangeSet": [ { "ChangeType": "AddRevisions", "Entity": { "Identifier": "entity-id@1", "Type": "DataProduct@1.0" }, "Details": "{\"DataSetArn\": \"data-set-arn\", \"RevisionArns\": [\"revision-arn\", \"revision-arn-2\"] }" }, { "ChangeType": "AddRevisions", "Entity": { "Identifier": "entity-id@1", "Type": "DataProduct@1.0" }, "Details": "{\"DataSetArn\": \"data-set-arn\", \"RevisionArns\": [\"revision-arn3\"] }" } ] }
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: