lifecycle_policies
Creates, updates, deletes, gets or lists a lifecycle_policies resource.
Overview
| Name | lifecycle_policies |
| Type | Resource |
| Id | aws.imagebuilder.lifecycle_policies |
Fields
The following fields are returned by SELECT queries:
- get_lifecycle_policy
- list_lifecycle_policies
| Name | Datatype | Description |
|---|---|---|
name | string | The name of the lifecycle policy. (pattern: <code>^[-_A-Za-z-0-9][-_A-Za-z0-9 ]{1,126}[-_A-Za-z-0-9]$</code>) |
arn | string | The Amazon Resource Name (ARN) of the lifecycle policy resource. (pattern: <code>^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws):lifecycle-policy/[a-z0-9-_]+$</code>) |
date_created | string (date-time) | The timestamp when Image Builder created the lifecycle policy resource. |
date_last_run | string (date-time) | The timestamp for the last time Image Builder ran the lifecycle policy. |
date_updated | string (date-time) | The timestamp when Image Builder updated the lifecycle policy resource. |
description | string | Optional description for the lifecycle policy. |
execution_role | string | The name or Amazon Resource Name (ARN) of the IAM role that Image Builder uses to run the lifecycle policy. This is a custom role that you create. (pattern: <code>^(?:arn:aws(?:-[a-z]+)*:iam::[0-9]{12}:role/)?[a-zA-Z_0-9+=,.@-_/]+$</code>) |
policy_details | array | The configuration details for a lifecycle policy resource. |
resource_selection | object | Resource selection criteria for the lifecycle policy. |
resource_type | string | The type of resources the lifecycle policy targets. (AMI_IMAGE, CONTAINER_IMAGE) |
status | string | Indicates whether the lifecycle policy resource is enabled. (DISABLED, ENABLED) |
tags | object | To help manage your lifecycle policy resources, you can assign your own metadata to each resource in the form of tags. Each tag consists of a key and an optional value, both of which you define. |
| Name | Datatype | Description |
|---|---|---|
name | string | The name of the lifecycle policy. (pattern: <code>^[-_A-Za-z-0-9][-_A-Za-z0-9 ]{1,126}[-_A-Za-z-0-9]$</code>) |
arn | string | The Amazon Resource Name (ARN) of the lifecycle policy summary resource. (pattern: <code>^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws):lifecycle-policy/[a-z0-9-_]+$</code>) |
date_created | string (date-time) | The timestamp when Image Builder created the lifecycle policy resource. |
date_last_run | string (date-time) | The timestamp for the last time Image Builder ran the lifecycle policy. |
date_updated | string (date-time) | The timestamp when Image Builder updated the lifecycle policy resource. |
description | string | Optional description for the lifecycle policy. |
execution_role | string | The name or Amazon Resource Name (ARN) of the IAM role that Image Builder uses to run the lifecycle policy. (pattern: <code>^(?:arn:aws(?:-[a-z]+)*:iam::[0-9]{12}:role/)?[a-zA-Z_0-9+=,.@-_/]+$</code>) |
resource_type | string | The type of resources the lifecycle policy targets. (AMI_IMAGE, CONTAINER_IMAGE) |
status | string | The lifecycle policy resource status. (DISABLED, ENABLED) |
tags | object | To help manage your lifecycle policy resources, you can assign your own metadata to each resource in the form of tags. Each tag consists of a key and an optional value, both of which you define. |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get_lifecycle_policy | select | lifecyclePolicyArn, region | Get details for the specified image lifecycle policy. | |
list_lifecycle_policies | select | region | Get a list of lifecycle policies in your Amazon Web Services account. | |
create_lifecycle_policy | insert | region, name, executionRole, resourceType, policyDetails, resourceSelection, clientToken | Create a lifecycle policy resource. | |
update_lifecycle_policy | update | region, lifecyclePolicyArn, executionRole, resourceType, policyDetails, resourceSelection, clientToken | Update the specified lifecycle policy. | |
delete_lifecycle_policy | delete | lifecyclePolicyArn, region | Delete the specified lifecycle policy resource. |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
lifecyclePolicyArn | string | The Amazon Resource Name (ARN) of the lifecycle policy resource to delete. |
region | string | AWS region (default: us-east-1) |
SELECT examples
- get_lifecycle_policy
- list_lifecycle_policies
Get details for the specified image lifecycle policy.
SELECT
name,
arn,
date_created,
date_last_run,
date_updated,
description,
execution_role,
policy_details,
resource_selection,
resource_type,
status,
tags
FROM aws.imagebuilder.lifecycle_policies
WHERE lifecyclePolicyArn = '{{ lifecyclePolicyArn }}' -- required
AND region = '{{ region }}' -- required
;
Get a list of lifecycle policies in your Amazon Web Services account.
SELECT
name,
arn,
date_created,
date_last_run,
date_updated,
description,
execution_role,
resource_type,
status,
tags
FROM aws.imagebuilder.lifecycle_policies
WHERE region = '{{ region }}' -- required
;
INSERT examples
- create_lifecycle_policy
- Manifest
Create a lifecycle policy resource.
INSERT INTO aws.imagebuilder.lifecycle_policies (
name,
description,
status,
executionRole,
resourceType,
policyDetails,
resourceSelection,
tags,
clientToken,
region
)
SELECT
'{{ name }}' /* required */,
'{{ description }}',
'{{ status }}',
'{{ executionRole }}' /* required */,
'{{ resourceType }}' /* required */,
'{{ policyDetails }}' /* required */,
'{{ resourceSelection }}' /* required */,
'{{ tags }}',
'{{ clientToken }}' /* required */,
'{{ region }}'
RETURNING
client_token,
lifecycle_policy_arn
;
# Description fields are for documentation purposes
- name: lifecycle_policies
props:
- name: region
value: "{{ region }}"
description: Required parameter for the lifecycle_policies resource.
- name: name
value: "{{ name }}"
- name: description
value: "{{ description }}"
- name: status
value: "{{ status }}"
valid_values: ['DISABLED', 'ENABLED']
- name: executionRole
value: "{{ executionRole }}"
- name: resourceType
value: "{{ resourceType }}"
valid_values: ['AMI_IMAGE', 'CONTAINER_IMAGE']
- name: policyDetails
value:
- action:
type_: "{{ type_ }}"
includeResources:
amis: {{ amis }}
snapshots: {{ snapshots }}
containers: {{ containers }}
filter:
type_: "{{ type_ }}"
value: {{ value }}
unit: "{{ unit }}"
retainAtLeast: {{ retainAtLeast }}
exclusionRules:
tagMap: "{{ tagMap }}"
amis:
isPublic: {{ isPublic }}
regions:
- "{{ regions }}"
sharedAccounts:
- "{{ sharedAccounts }}"
lastLaunched:
value: {{ value }}
unit: "{{ unit }}"
tagMap: "{{ tagMap }}"
- name: resourceSelection
description: |
Resource selection criteria for the lifecycle policy.
value:
recipes:
- name: "{{ name }}"
semanticVersion: "{{ semanticVersion }}"
tagMap: "{{ tagMap }}"
- name: tags
value: "{{ tags }}"
- name: clientToken
value: "{{ clientToken }}"
UPDATE examples
- update_lifecycle_policy
Update the specified lifecycle policy.
UPDATE aws.imagebuilder.lifecycle_policies
SET
lifecyclePolicyArn = '{{ lifecyclePolicyArn }}',
description = '{{ description }}',
status = '{{ status }}',
executionRole = '{{ executionRole }}',
resourceType = '{{ resourceType }}',
policyDetails = '{{ policyDetails }}',
resourceSelection = '{{ resourceSelection }}',
clientToken = '{{ clientToken }}'
WHERE
region = '{{ region }}' --required
AND lifecyclePolicyArn = '{{ lifecyclePolicyArn }}' --required
AND executionRole = '{{ executionRole }}' --required
AND resourceType = '{{ resourceType }}' --required
AND policyDetails = '{{ policyDetails }}' --required
AND resourceSelection = '{{ resourceSelection }}' --required
AND clientToken = '{{ clientToken }}' --required
RETURNING
lifecycle_policy_arn;
DELETE examples
- delete_lifecycle_policy
Delete the specified lifecycle policy resource.
DELETE FROM aws.imagebuilder.lifecycle_policies
WHERE lifecyclePolicyArn = '{{ lifecyclePolicyArn }}' --required
AND region = '{{ region }}' --required
;