View a markdown version of this page

StartResourceStateUpdate - EC2 Image Builder

StartResourceStateUpdate

Begin asynchronous resource state update for lifecycle changes to the specified image resources.

Request Syntax

PUT /StartResourceStateUpdate HTTP/1.1 Content-type: application/json { "clientToken": "string", "exclusionRules": { "amis": { "isPublic": boolean, "lastLaunched": { "unit": "string", "value": number }, "regions": [ "string" ], "sharedAccounts": [ "string" ], "tagMap": { "string" : "string" } } }, "executionRole": "string", "includeResources": { "amis": boolean, "containers": boolean, "snapshots": boolean }, "resourceArn": "string", "state": { "status": "string" }, "updateAt": number }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

clientToken

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see Ensuring idempotency in the Amazon EC2 API Reference.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Required: Yes

exclusionRules

Skip action on the image resource and associated resources if specified exclusion rules are met.

Type: ResourceStateUpdateExclusionRules object

Required: No

executionRole

The name or Amazon Resource Name (ARN) of the IAM role that’s used to update image state.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 2048.

Pattern: ^(?:arn:aws(?:-[a-z]+)*:iam::[0-9]{12}:role/)?[a-zA-Z_0-9+=,.@\-_/]+$

Required: No

includeResources

Specifies which image resources to include in the state update. When specified, the lifecycle action applies to underlying resources. These resources include AMIs, snapshots, and containers in addition to the Image Builder image resource. Requires executionRole to also be specified. To delete an image and its underlying resources, you must specify includeResources. To delete only the Image Builder image record without affecting underlying resources, use the DeleteImage API instead.

Type: ResourceStateUpdateIncludeResources object

Required: No

resourceArn

The Amazon Resource Name (ARN) of the image build version to update. The image must be in one of these terminal states: AVAILABLE, DEPRECATED, DISABLED, FAILED, or CANCELLED. Images with FAILED or CANCELLED status can transition only to DELETED.

Type: String

Pattern: ^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws(?:-[a-z-]+)?):image/[a-z0-9-_]+/[0-9]+\.[0-9]+\.[0-9]+/[0-9]+$

Required: Yes

state

Specifies the lifecycle action to take for this request. For AMI-based images, valid values are AVAILABLE, DEPRECATED, DISABLED, and DELETED. For container-based images, only DELETED is supported.

Type: ResourceState object

Required: Yes

updateAt

Specifies the timestamp when the state transition takes effect. Use this parameter only when the target status is DEPRECATED. The value must be a future time.

Type: Timestamp

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "lifecycleExecutionId": "string", "resourceArn": "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.

lifecycleExecutionId

Identifies the lifecycle runtime instance that started the resource state update.

Type: String

Pattern: ^lce-[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$

resourceArn

The requested Amazon Resource Name (ARN) of the Image Builder resource for the asynchronous update.

Type: String

Pattern: ^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws(?:-[a-z-]+)?):image/[a-z0-9-_]+/[0-9]+\.[0-9]+\.[0-9]+/[0-9]+$

Errors

For information about the errors that are common to all actions, see Common Error Types.

CallRateLimitExceededException

You have exceeded the permitted request rate for the specific operation.

HTTP Status Code: 429

ClientException

These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an invalid resource identifier.

HTTP Status Code: 400

ForbiddenException

You are not authorized to perform the requested operation.

HTTP Status Code: 403

IdempotentParameterMismatchException

You have specified a client token for an operation using parameter values that differ from a previous request that used the same client token.

HTTP Status Code: 400

InvalidRequestException

You have requested an action that that the service doesn't support.

HTTP Status Code: 400

ResourceInUseException

The resource that you are trying to operate on is currently in use. Review the message details and retry later.

HTTP Status Code: 400

ResourceNotFoundException

At least one of the resources referenced by your request does not exist.

HTTP Status Code: 404

ServiceException

This exception is thrown when the service encounters an unrecoverable exception.

HTTP Status Code: 500

ServiceUnavailableException

The service is unable to process your request at this time.

HTTP Status Code: 503

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: