StartChangeSet - AWS Marketplace Catalog API

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 below because it contains two changes to execute the same change type (AddRevisions) against the same entity (entity-id@1).

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

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: