Skip to content

Commit be3a0a8

Browse files
author
awstools
committed
feat(client-redshift): This release adds a new --snapshot-arn field for describe-cluster-snapshots, describe-node-configuration-options, restore-from-cluster-snapshot, authorize-snapshot-acsess, and revoke-snapshot-acsess APIs. It allows customers to give a Redshift snapshot ARN or a Redshift Serverless ARN as input.
1 parent 5105355 commit be3a0a8

File tree

4 files changed

+106
-13
lines changed

4 files changed

+106
-13
lines changed

clients/client-redshift/src/models/models_0.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1349,7 +1349,12 @@ export interface AuthorizeSnapshotAccessMessage {
13491349
/**
13501350
* <p>The identifier of the snapshot the account is authorized to restore.</p>
13511351
*/
1352-
SnapshotIdentifier: string | undefined;
1352+
SnapshotIdentifier?: string;
1353+
1354+
/**
1355+
* <p>The Amazon Resource Name (ARN) of the snapshot to authorize access to.</p>
1356+
*/
1357+
SnapshotArn?: string;
13531358

13541359
/**
13551360
* <p>The identifier of the cluster the snapshot was created from. This parameter is
@@ -4605,7 +4610,8 @@ export interface CreateClusterMessage {
46054610
HsmConfigurationIdentifier?: string;
46064611

46074612
/**
4608-
* <p>The Elastic IP (EIP) address for the cluster.</p>
4613+
* <p>The Elastic IP (EIP) address for the cluster. You don't have to specify the EIP for a
4614+
* publicly accessible cluster with AvailabilityZoneRelocation turned on.</p>
46094615
* <p>Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible
46104616
* through an Internet gateway. For more information about provisioning clusters in
46114617
* EC2-VPC, go to <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#cluster-platforms">Supported
@@ -8047,6 +8053,11 @@ export interface DescribeClusterSnapshotsMessage {
80478053
*/
80488054
SnapshotIdentifier?: string;
80498055

8056+
/**
8057+
* <p>The Amazon Resource Name (ARN) of the snapshot associated with the message to describe cluster snapshots.</p>
8058+
*/
8059+
SnapshotArn?: string;
8060+
80508061
/**
80518062
* <p>The type of snapshots for which you are requesting information. By default,
80528063
* snapshots of all types are returned.</p>

clients/client-redshift/src/models/models_1.ts

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,11 @@ export interface DescribeNodeConfigurationOptionsMessage {
272272
*/
273273
SnapshotIdentifier?: string;
274274

275+
/**
276+
* <p>The Amazon Resource Name (ARN) of the snapshot associated with the message to describe node configuration.</p>
277+
*/
278+
SnapshotArn?: string;
279+
275280
/**
276281
* <p>The Amazon Web Services account used to create or copy the snapshot.
277282
* Required if you are restoring a snapshot you do not own,
@@ -3690,7 +3695,12 @@ export interface RestoreFromClusterSnapshotMessage {
36903695
* <p>Example: <code>my-snapshot-id</code>
36913696
* </p>
36923697
*/
3693-
SnapshotIdentifier: string | undefined;
3698+
SnapshotIdentifier?: string;
3699+
3700+
/**
3701+
* <p>The Amazon Resource Name (ARN) of the snapshot associated with the message to restore from a cluster.</p>
3702+
*/
3703+
SnapshotArn?: string;
36943704

36953705
/**
36963706
* <p>The name of the cluster the source snapshot was created from. This parameter is
@@ -3753,7 +3763,8 @@ export interface RestoreFromClusterSnapshotMessage {
37533763
HsmConfigurationIdentifier?: string;
37543764

37553765
/**
3756-
* <p>The elastic IP (EIP) address for the cluster.</p>
3766+
* <p>The elastic IP (EIP) address for the cluster. You don't have to specify the EIP for a
3767+
* publicly accessible cluster with AvailabilityZoneRelocation turned on.</p>
37573768
*/
37583769
ElasticIp?: string;
37593770

@@ -4160,7 +4171,12 @@ export interface RevokeSnapshotAccessMessage {
41604171
/**
41614172
* <p>The identifier of the snapshot that the account can no longer access.</p>
41624173
*/
4163-
SnapshotIdentifier: string | undefined;
4174+
SnapshotIdentifier?: string;
4175+
4176+
/**
4177+
* <p>The Amazon Resource Name (ARN) of the snapshot associated with the message to revoke access.</p>
4178+
*/
4179+
SnapshotArn?: string;
41644180

41654181
/**
41664182
* <p>The identifier of the cluster the snapshot was created from. This parameter is

clients/client-redshift/src/protocols/Aws_query.ts

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3090,6 +3090,9 @@ const deserializeAws_queryAuthorizeSnapshotAccessCommandError = async (
30903090
case "LimitExceededFault":
30913091
case "com.amazonaws.redshift#LimitExceededFault":
30923092
throw await deserializeAws_queryLimitExceededFaultResponse(parsedOutput, context);
3093+
case "UnsupportedOperationFault":
3094+
case "com.amazonaws.redshift#UnsupportedOperationFault":
3095+
throw await deserializeAws_queryUnsupportedOperationFaultResponse(parsedOutput, context);
30933096
default:
30943097
const parsedBody = parsedOutput.body;
30953098
const $metadata = deserializeMetadata(output);
@@ -5383,6 +5386,9 @@ const deserializeAws_queryDescribeClusterSnapshotsCommandError = async (
53835386
case "InvalidTagFault":
53845387
case "com.amazonaws.redshift#InvalidTagFault":
53855388
throw await deserializeAws_queryInvalidTagFaultResponse(parsedOutput, context);
5389+
case "UnsupportedOperationFault":
5390+
case "com.amazonaws.redshift#UnsupportedOperationFault":
5391+
throw await deserializeAws_queryUnsupportedOperationFaultResponse(parsedOutput, context);
53865392
default:
53875393
const parsedBody = parsedOutput.body;
53885394
const $metadata = deserializeMetadata(output);
@@ -6111,6 +6117,9 @@ const deserializeAws_queryDescribeNodeConfigurationOptionsCommandError = async (
61116117
case "InvalidClusterSnapshotStateFault":
61126118
case "com.amazonaws.redshift#InvalidClusterSnapshotStateFault":
61136119
throw await deserializeAws_queryInvalidClusterSnapshotStateFaultResponse(parsedOutput, context);
6120+
case "UnsupportedOperationFault":
6121+
case "com.amazonaws.redshift#UnsupportedOperationFault":
6122+
throw await deserializeAws_queryUnsupportedOperationFaultResponse(parsedOutput, context);
61146123
default:
61156124
const parsedBody = parsedOutput.body;
61166125
const $metadata = deserializeMetadata(output);
@@ -8845,6 +8854,9 @@ const deserializeAws_queryRevokeSnapshotAccessCommandError = async (
88458854
case "ClusterSnapshotNotFoundFault":
88468855
case "com.amazonaws.redshift#ClusterSnapshotNotFoundFault":
88478856
throw await deserializeAws_queryClusterSnapshotNotFoundFaultResponse(parsedOutput, context);
8857+
case "UnsupportedOperationFault":
8858+
case "com.amazonaws.redshift#UnsupportedOperationFault":
8859+
throw await deserializeAws_queryUnsupportedOperationFaultResponse(parsedOutput, context);
88488860
default:
88498861
const parsedBody = parsedOutput.body;
88508862
const $metadata = deserializeMetadata(output);
@@ -10706,6 +10718,9 @@ const serializeAws_queryAuthorizeSnapshotAccessMessage = (
1070610718
if (input.SnapshotIdentifier !== undefined && input.SnapshotIdentifier !== null) {
1070710719
entries["SnapshotIdentifier"] = input.SnapshotIdentifier;
1070810720
}
10721+
if (input.SnapshotArn !== undefined && input.SnapshotArn !== null) {
10722+
entries["SnapshotArn"] = input.SnapshotArn;
10723+
}
1070910724
if (input.SnapshotClusterIdentifier !== undefined && input.SnapshotClusterIdentifier !== null) {
1071010725
entries["SnapshotClusterIdentifier"] = input.SnapshotClusterIdentifier;
1071110726
}
@@ -11669,6 +11684,9 @@ const serializeAws_queryDescribeClusterSnapshotsMessage = (
1166911684
if (input.SnapshotIdentifier !== undefined && input.SnapshotIdentifier !== null) {
1167011685
entries["SnapshotIdentifier"] = input.SnapshotIdentifier;
1167111686
}
11687+
if (input.SnapshotArn !== undefined && input.SnapshotArn !== null) {
11688+
entries["SnapshotArn"] = input.SnapshotArn;
11689+
}
1167211690
if (input.SnapshotType !== undefined && input.SnapshotType !== null) {
1167311691
entries["SnapshotType"] = input.SnapshotType;
1167411692
}
@@ -12060,6 +12078,9 @@ const serializeAws_queryDescribeNodeConfigurationOptionsMessage = (
1206012078
if (input.SnapshotIdentifier !== undefined && input.SnapshotIdentifier !== null) {
1206112079
entries["SnapshotIdentifier"] = input.SnapshotIdentifier;
1206212080
}
12081+
if (input.SnapshotArn !== undefined && input.SnapshotArn !== null) {
12082+
entries["SnapshotArn"] = input.SnapshotArn;
12083+
}
1206312084
if (input.OwnerAccount !== undefined && input.OwnerAccount !== null) {
1206412085
entries["OwnerAccount"] = input.OwnerAccount;
1206512086
}
@@ -13180,6 +13201,9 @@ const serializeAws_queryRestoreFromClusterSnapshotMessage = (
1318013201
if (input.SnapshotIdentifier !== undefined && input.SnapshotIdentifier !== null) {
1318113202
entries["SnapshotIdentifier"] = input.SnapshotIdentifier;
1318213203
}
13204+
if (input.SnapshotArn !== undefined && input.SnapshotArn !== null) {
13205+
entries["SnapshotArn"] = input.SnapshotArn;
13206+
}
1318313207
if (input.SnapshotClusterIdentifier !== undefined && input.SnapshotClusterIdentifier !== null) {
1318413208
entries["SnapshotClusterIdentifier"] = input.SnapshotClusterIdentifier;
1318513209
}
@@ -13380,6 +13404,9 @@ const serializeAws_queryRevokeSnapshotAccessMessage = (
1338013404
if (input.SnapshotIdentifier !== undefined && input.SnapshotIdentifier !== null) {
1338113405
entries["SnapshotIdentifier"] = input.SnapshotIdentifier;
1338213406
}
13407+
if (input.SnapshotArn !== undefined && input.SnapshotArn !== null) {
13408+
entries["SnapshotArn"] = input.SnapshotArn;
13409+
}
1338313410
if (input.SnapshotClusterIdentifier !== undefined && input.SnapshotClusterIdentifier !== null) {
1338413411
entries["SnapshotClusterIdentifier"] = input.SnapshotClusterIdentifier;
1338513412
}

codegen/sdk-codegen/aws-models/redshift.json

Lines changed: 47 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -726,6 +726,9 @@
726726
},
727727
{
728728
"target": "com.amazonaws.redshift#LimitExceededFault"
729+
},
730+
{
731+
"target": "com.amazonaws.redshift#UnsupportedOperationFault"
729732
}
730733
],
731734
"traits": {
@@ -738,8 +741,13 @@
738741
"SnapshotIdentifier": {
739742
"target": "com.amazonaws.redshift#String",
740743
"traits": {
741-
"smithy.api#documentation": "<p>The identifier of the snapshot the account is authorized to restore.</p>",
742-
"smithy.api#required": {}
744+
"smithy.api#documentation": "<p>The identifier of the snapshot the account is authorized to restore.</p>"
745+
}
746+
},
747+
"SnapshotArn": {
748+
"target": "com.amazonaws.redshift#String",
749+
"traits": {
750+
"smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the snapshot to authorize access to.</p>"
743751
}
744752
},
745753
"SnapshotClusterIdentifier": {
@@ -2645,7 +2653,7 @@
26452653
"ElasticIp": {
26462654
"target": "com.amazonaws.redshift#String",
26472655
"traits": {
2648-
"smithy.api#documentation": "<p>The Elastic IP (EIP) address for the cluster.</p>\n <p>Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible\n through an Internet gateway. For more information about provisioning clusters in\n EC2-VPC, go to <a href=\"https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#cluster-platforms\">Supported\n Platforms to Launch Your Cluster</a> in the Amazon Redshift Cluster Management Guide.</p>"
2656+
"smithy.api#documentation": "<p>The Elastic IP (EIP) address for the cluster. You don't have to specify the EIP for a \n publicly accessible cluster with AvailabilityZoneRelocation turned on.</p>\n <p>Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible\n through an Internet gateway. For more information about provisioning clusters in\n EC2-VPC, go to <a href=\"https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#cluster-platforms\">Supported\n Platforms to Launch Your Cluster</a> in the Amazon Redshift Cluster Management Guide.</p>"
26492657
}
26502658
},
26512659
"Tags": {
@@ -5013,6 +5021,9 @@
50135021
},
50145022
{
50155023
"target": "com.amazonaws.redshift#InvalidTagFault"
5024+
},
5025+
{
5026+
"target": "com.amazonaws.redshift#UnsupportedOperationFault"
50165027
}
50175028
],
50185029
"traits": {
@@ -5077,6 +5088,12 @@
50775088
"smithy.api#documentation": "<p>The snapshot identifier of the snapshot about which to return\n information.</p>"
50785089
}
50795090
},
5091+
"SnapshotArn": {
5092+
"target": "com.amazonaws.redshift#String",
5093+
"traits": {
5094+
"smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the snapshot associated with the message to describe cluster snapshots.</p>"
5095+
}
5096+
},
50805097
"SnapshotType": {
50815098
"target": "com.amazonaws.redshift#String",
50825099
"traits": {
@@ -6182,6 +6199,9 @@
61826199
},
61836200
{
61846201
"target": "com.amazonaws.redshift#InvalidClusterSnapshotStateFault"
6202+
},
6203+
{
6204+
"target": "com.amazonaws.redshift#UnsupportedOperationFault"
61856205
}
61866206
],
61876207
"traits": {
@@ -6216,6 +6236,12 @@
62166236
"smithy.api#documentation": "<p>The identifier of the snapshot to evaluate for possible node configurations.</p>"
62176237
}
62186238
},
6239+
"SnapshotArn": {
6240+
"target": "com.amazonaws.redshift#String",
6241+
"traits": {
6242+
"smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the snapshot associated with the message to describe node configuration.</p>"
6243+
}
6244+
},
62196245
"OwnerAccount": {
62206246
"target": "com.amazonaws.redshift#String",
62216247
"traits": {
@@ -12617,8 +12643,13 @@
1261712643
"SnapshotIdentifier": {
1261812644
"target": "com.amazonaws.redshift#String",
1261912645
"traits": {
12620-
"smithy.api#documentation": "<p>The name of the snapshot from which to create the new cluster. This parameter isn't\n case sensitive.</p>\n <p>Example: <code>my-snapshot-id</code>\n </p>",
12621-
"smithy.api#required": {}
12646+
"smithy.api#documentation": "<p>The name of the snapshot from which to create the new cluster. This parameter isn't\n case sensitive.</p>\n <p>Example: <code>my-snapshot-id</code>\n </p>"
12647+
}
12648+
},
12649+
"SnapshotArn": {
12650+
"target": "com.amazonaws.redshift#String",
12651+
"traits": {
12652+
"smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the snapshot associated with the message to restore from a cluster.</p>"
1262212653
}
1262312654
},
1262412655
"SnapshotClusterIdentifier": {
@@ -12678,7 +12709,7 @@
1267812709
"ElasticIp": {
1267912710
"target": "com.amazonaws.redshift#String",
1268012711
"traits": {
12681-
"smithy.api#documentation": "<p>The elastic IP (EIP) address for the cluster.</p>"
12712+
"smithy.api#documentation": "<p>The elastic IP (EIP) address for the cluster. You don't have to specify the EIP for a \n publicly accessible cluster with AvailabilityZoneRelocation turned on.</p>"
1268212713
}
1268312714
},
1268412715
"ClusterParameterGroupName": {
@@ -13194,6 +13225,9 @@
1319413225
},
1319513226
{
1319613227
"target": "com.amazonaws.redshift#ClusterSnapshotNotFoundFault"
13228+
},
13229+
{
13230+
"target": "com.amazonaws.redshift#UnsupportedOperationFault"
1319713231
}
1319813232
],
1319913233
"traits": {
@@ -13206,8 +13240,13 @@
1320613240
"SnapshotIdentifier": {
1320713241
"target": "com.amazonaws.redshift#String",
1320813242
"traits": {
13209-
"smithy.api#documentation": "<p>The identifier of the snapshot that the account can no longer access.</p>",
13210-
"smithy.api#required": {}
13243+
"smithy.api#documentation": "<p>The identifier of the snapshot that the account can no longer access.</p>"
13244+
}
13245+
},
13246+
"SnapshotArn": {
13247+
"target": "com.amazonaws.redshift#String",
13248+
"traits": {
13249+
"smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the snapshot associated with the message to revoke access.</p>"
1321113250
}
1321213251
},
1321313252
"SnapshotClusterIdentifier": {

0 commit comments

Comments
 (0)