snapshots
Creates, updates, deletes or gets a snapshot resource or lists snapshots in a region
Overview
| Name | snapshots |
| Type | Resource |
| Description | Resource Type definition for AWS::RedshiftServerless::Snapshot Resource Type. |
| Id | awscc.redshiftserverless.snapshots |
Fields
- get (all properties)
- list (identifiers only)
| Name | Datatype | Description |
|---|---|---|
snapshot_name | string | The name of the snapshot. |
namespace_name | string | The namespace the snapshot is associated with. |
owner_account | string | The owner account of the snapshot. |
retention_period | integer | The retention period of the snapshot. |
tags | array | An array of key-value pairs to apply to this resource. |
snapshot | object | Definition for snapshot resource |
region | string | AWS region. |
| Name | Datatype | Description |
|---|---|---|
snapshot_name | string | The name of the snapshot. |
snapshot | object | Definition for snapshot resource |
region | string | AWS region. |
For more information, see AWS::RedshiftServerless::Snapshot.
Methods
| Name | Resource | Accessible by | Required Params |
|---|---|---|---|
create_resource | snapshots | INSERT | SnapshotName, region |
delete_resource | snapshots | DELETE | Identifier, region |
update_resource | snapshots | UPDATE | Identifier, PatchDocument, region |
list_resources | snapshots_list_only | SELECT | region |
get_resource | snapshots | SELECT | Identifier, region |
SELECT examples
- get (all properties)
- list (identifiers only)
Gets all properties from an individual snapshot.
SELECT
region,
snapshot_name,
namespace_name,
owner_account,
retention_period,
tags,
snapshot
FROM awscc.redshiftserverless.snapshots
WHERE
region = 'us-east-1' AND
Identifier = '{{ snapshot_name }}';
Lists all snapshots in a region.
SELECT
region,
snapshot_name
FROM awscc.redshiftserverless.snapshots_list_only
WHERE
region = 'us-east-1';
INSERT example
Use the following StackQL query and manifest file to create a new snapshot resource, using stack-deploy.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO awscc.redshiftserverless.snapshots (
SnapshotName,
region
)
SELECT
'{{ snapshot_name }}',
'{{ region }}';
/*+ create */
INSERT INTO awscc.redshiftserverless.snapshots (
SnapshotName,
NamespaceName,
RetentionPeriod,
Tags,
region
)
SELECT
'{{ snapshot_name }}',
'{{ namespace_name }}',
'{{ retention_period }}',
'{{ tags }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: snapshot
props:
- name: snapshot_name
value: '{{ snapshot_name }}'
- name: namespace_name
value: '{{ namespace_name }}'
- name: retention_period
value: '{{ retention_period }}'
- name: tags
value:
- key: '{{ key }}'
value: '{{ value }}'
UPDATE example
Use the following StackQL query and manifest file to update a snapshot resource, using stack-deploy.
/*+ update */
UPDATE awscc.redshiftserverless.snapshots
SET PatchDocument = string('{{ {
"RetentionPeriod": retention_period
} | generate_patch_document }}')
WHERE
region = '{{ region }}' AND
Identifier = '{{ snapshot_name }}';
DELETE example
/*+ delete */
DELETE FROM awscc.redshiftserverless.snapshots
WHERE
Identifier = '{{ snapshot_name }}' AND
region = 'us-east-1';
Permissions
To operate on the snapshots resource, the following permissions are required:
- Create
- Read
- Update
- Delete
- List
redshift-serverless:CreateSnapshot,
redshift-serverless:GetSnapshot,
redshift-serverless:ListTagsForResource,
redshift-serverless:TagResource,
redshift-serverless:GetNamespace
redshift-serverless:GetSnapshot,
redshift-serverless:ListTagsForResource,
redshift-serverless:GetNamespace
redshift-serverless:UpdateSnapshot,
redshift-serverless:GetSnapshot,
redshift-serverless:ListTagsForResource,
redshift-serverless:TagResource,
redshift-serverless:UntagResource,
redshift-serverless:GetNamespace
redshift-serverless:DeleteSnapshot,
redshift-serverless:GetSnapshot,
redshift-serverless:ListTagsForResource,
redshift-serverless:UntagResource,
redshift-serverless:GetNamespace
redshift-serverless:ListSnapshots,
redshift-serverless:GetSnapshot,
redshift-serverless:ListTagsForResource,
redshift-serverless:GetNamespace