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:
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
- ChangeSetTags
-
A list of objects specifying each key name and value for the
ChangeSetTags
property.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 | APPLY
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
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: