StartChangeSet
Allows you to request changes for your entities. Within a single
ChangeSet, you can't 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 change set has completed (either
succeeded, cancelled, or failed). If you try to start a change set containing a change
against an entity that is already locked, you will receive a
ResourceInUseException error.
For example, you can't start the ChangeSet described in the example later in this topic because it contains two changes to run 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. For information about change types for single-AMI products, see Working with single-AMI products. Also, for more information about change types available for container-based products, see Working with container products.
To download "DetailsDocument" shapes, see Python
Request Syntax
POST /StartChangeSet HTTP/1.1
Content-type: application/json
{
"Catalog": "string",
"ChangeSet": [
{
"ChangeName": "string",
"ChangeType": "string",
"Details": "string",
"DetailsDocument": JSON value,
"Entity": {
"Identifier": "string",
"Type": "string"
},
"EntityTags": [
{
"Key": "string",
"Value": "string"
}
]
}
],
"ChangeSetName": "string",
"ChangeSetTags": [
{
"Key": "string",
"Value": "string"
}
],
"ClientRequestToken": "string",
"Intent": "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:
AWSMarketplaceType: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
^[a-zA-Z]+$Required: Yes
- ChangeSet
-
Array of
changeobject.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
- ChangeSetTags
-
A list of objects specifying each key name and value for the
ChangeSetTagsproperty.Type: Array of Tag objects
Array Members: Minimum number of 1 item. Maximum number of 200 items.
Required: No
- ClientRequestToken
-
A unique token to identify the request to ensure idempotency.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
^[!-~]+$Required: No
- Intent
-
The intent related to the request. The default is
APPLY. To test your request before applying changes to your entities, useVALIDATE. This feature is currently available for adding versions to single-AMI products. For more information, see Add a new version.Type: String
Valid Values:
VALIDATE | APPLYRequired: 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
HTTP Status Code: 403
- InternalServiceException
-
There was an internal service exception.
HTTP status code: 500
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
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
HTTP Status Code: 429
- ValidationException
-
An error occurred during validation.
HTTP status code: 422
HTTP Status Code: 422
Examples
Example
You can't start this ChangeSet because it contains two changes to
run 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: