Skip to content

Commit a4233c3

Browse files
author
awstools
committed
docs(client-keyspaces): Amazon Keyspaces: adding the list of IAM actions required by the UpdateKeyspace API.
1 parent 4adf1d4 commit a4233c3

File tree

2 files changed

+98
-6
lines changed

2 files changed

+98
-6
lines changed

clients/client-keyspaces/src/commands/UpdateKeyspaceCommand.ts

Lines changed: 97 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,105 @@ export interface UpdateKeyspaceCommandOutput extends UpdateKeyspaceResponse, __M
3030
/**
3131
* <p>
3232
* Adds a new Amazon Web Services Region to the keyspace. You can add a new Region to a keyspace that is either a single or a multi-Region keyspace.
33-
* The new replica Region is applied to all tables in the keyspace. For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/keyspaces-multi-region-add-replica.html">Add an Amazon Web Services Region to a keyspace in Amazon Keyspaces</a> in the <i>Amazon Keyspaces Developer
34-
* Guide</i>.
35-
* </p>
36-
* <p>To change a single-Region to a multi-Region keyspace, you have to enable client-side timestamps
37-
* for all tables in the keyspace. For more information, see
33+
* Amazon Keyspaces is going to replicate all tables in the keyspace to the new Region. To successfully replicate all tables to the new Region, they
34+
* must use client-side timestamps for conflict resolution. To enable client-side timestamps, specify <code>clientSideTimestamps.status = enabled</code>
35+
* when invoking the API. For more information about client-side timestamps, see
3836
* <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/client-side-timestamps.html">Client-side timestamps in Amazon Keyspaces</a> in the <i>Amazon Keyspaces Developer
3937
* Guide</i>.</p>
38+
* <p>To add a Region to a keyspace using the <code>UpdateKeyspace</code> API, the IAM principal needs permissions for the following IAM actions:</p>
39+
* <ul>
40+
* <li>
41+
* <p>
42+
* <code>cassandra:Alter</code>
43+
* </p>
44+
* </li>
45+
* <li>
46+
* <p>
47+
* <code>cassandra:AlterMultiRegionResource</code>
48+
* </p>
49+
* </li>
50+
* <li>
51+
* <p>
52+
* <code>cassandra:Create</code>
53+
* </p>
54+
* </li>
55+
* <li>
56+
* <p>
57+
* <code>cassandra:CreateMultiRegionResource</code>
58+
* </p>
59+
* </li>
60+
* <li>
61+
* <p>
62+
* <code>cassandra:Select</code>
63+
* </p>
64+
* </li>
65+
* <li>
66+
* <p>
67+
* <code>cassandra:SelectMultiRegionResource</code>
68+
* </p>
69+
* </li>
70+
* <li>
71+
* <p>
72+
* <code>cassandra:Modify</code>
73+
* </p>
74+
* </li>
75+
* <li>
76+
* <p>
77+
* <code>cassandra:ModifyMultiRegionResource</code>
78+
* </p>
79+
* </li>
80+
* </ul>
81+
* <p>If the keyspace contains a table that is configured in provisioned mode with auto scaling enabled,
82+
* the following additional IAM actions need to be allowed.</p>
83+
* <ul>
84+
* <li>
85+
* <p>
86+
* <code>application-autoscaling:RegisterScalableTarget</code>
87+
* </p>
88+
* </li>
89+
* <li>
90+
* <p>
91+
* <code>application-autoscaling:DeregisterScalableTarget</code>
92+
* </p>
93+
* </li>
94+
* <li>
95+
* <p>
96+
* <code>application-autoscaling:DescribeScalableTargets</code>
97+
* </p>
98+
* </li>
99+
* <li>
100+
* <p>
101+
* <code>application-autoscaling:PutScalingPolicy</code>
102+
* </p>
103+
* </li>
104+
* <li>
105+
* <p>
106+
* <code>application-autoscaling:DescribeScalingPolicies</code>
107+
* </p>
108+
* </li>
109+
* </ul>
110+
* <p>To use the <code>UpdateKeyspace</code> API, the IAM principal also needs permissions to
111+
* create a service-linked role with the following elements:</p>
112+
* <ul>
113+
* <li>
114+
* <p>
115+
* <code>iam:CreateServiceLinkedRole</code> - The <b>action</b> the principal can perform.</p>
116+
* </li>
117+
* <li>
118+
* <p>
119+
* <code>arn:aws:iam::*:role/aws-service-role/replication.cassandra.amazonaws.com/AWSServiceRoleForKeyspacesReplication</code>
120+
* - The <b>resource</b> that the action can be
121+
* performed on. </p>
122+
* </li>
123+
* <li>
124+
* <p>
125+
* <code>iam:AWSServiceName: replication.cassandra.amazonaws.com</code>
126+
* - The only Amazon Web Services service that this role can be attached to is Amazon Keyspaces.</p>
127+
* </li>
128+
* </ul>
129+
* <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/howitworks_replication_permissions_addReplica.html">Configure the IAM permissions
130+
* required to add an Amazon Web Services Region to a keyspace</a>
131+
* in the <i>Amazon Keyspaces Developer Guide</i>.</p>
40132
* @example
41133
* Use a bare-bones client and the command you need to make an API call.
42134
* ```javascript

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3584,7 +3584,7 @@
35843584
}
35853585
],
35863586
"traits": {
3587-
"smithy.api#documentation": "<p>\n Adds a new Amazon Web Services Region to the keyspace. You can add a new Region to a keyspace that is either a single or a multi-Region keyspace.\n The new replica Region is applied to all tables in the keyspace. For more information, see <a href=\"https://docs.aws.amazon.com/keyspaces/latest/devguide/keyspaces-multi-region-add-replica.html\">Add an Amazon Web Services Region to a keyspace in Amazon Keyspaces</a> in the <i>Amazon Keyspaces Developer\n Guide</i>.\n </p>\n <p>To change a single-Region to a multi-Region keyspace, you have to enable client-side timestamps\n for all tables in the keyspace. For more information, see\n <a href=\"https://docs.aws.amazon.com/keyspaces/latest/devguide/client-side-timestamps.html\">Client-side timestamps in Amazon Keyspaces</a> in the <i>Amazon Keyspaces Developer\n Guide</i>.</p>"
3587+
"smithy.api#documentation": "<p>\n Adds a new Amazon Web Services Region to the keyspace. You can add a new Region to a keyspace that is either a single or a multi-Region keyspace.\n Amazon Keyspaces is going to replicate all tables in the keyspace to the new Region. To successfully replicate all tables to the new Region, they\n must use client-side timestamps for conflict resolution. To enable client-side timestamps, specify <code>clientSideTimestamps.status = enabled</code>\n when invoking the API. For more information about client-side timestamps, see\n <a href=\"https://docs.aws.amazon.com/keyspaces/latest/devguide/client-side-timestamps.html\">Client-side timestamps in Amazon Keyspaces</a> in the <i>Amazon Keyspaces Developer\n Guide</i>.</p>\n <p>To add a Region to a keyspace using the <code>UpdateKeyspace</code> API, the IAM principal needs permissions for the following IAM actions:</p>\n <ul>\n <li>\n <p>\n <code>cassandra:Alter</code>\n </p>\n </li>\n <li>\n <p>\n <code>cassandra:AlterMultiRegionResource</code>\n </p>\n </li>\n <li>\n <p>\n <code>cassandra:Create</code>\n </p>\n </li>\n <li>\n <p>\n <code>cassandra:CreateMultiRegionResource</code>\n </p>\n </li>\n <li>\n <p>\n <code>cassandra:Select</code>\n </p>\n </li>\n <li>\n <p>\n <code>cassandra:SelectMultiRegionResource</code>\n </p>\n </li>\n <li>\n <p>\n <code>cassandra:Modify</code>\n </p>\n </li>\n <li>\n <p>\n <code>cassandra:ModifyMultiRegionResource</code>\n </p>\n </li>\n </ul>\n <p>If the keyspace contains a table that is configured in provisioned mode with auto scaling enabled, \n the following additional IAM actions need to be allowed.</p>\n <ul>\n <li>\n <p>\n <code>application-autoscaling:RegisterScalableTarget</code>\n </p>\n </li>\n <li>\n <p>\n <code>application-autoscaling:DeregisterScalableTarget</code>\n </p>\n </li>\n <li>\n <p>\n <code>application-autoscaling:DescribeScalableTargets</code>\n </p>\n </li>\n <li>\n <p>\n <code>application-autoscaling:PutScalingPolicy</code>\n </p>\n </li>\n <li>\n <p>\n <code>application-autoscaling:DescribeScalingPolicies</code>\n </p>\n </li>\n </ul>\n <p>To use the <code>UpdateKeyspace</code> API, the IAM principal also needs permissions to\n create a service-linked role with the following elements:</p>\n <ul>\n <li>\n <p>\n <code>iam:CreateServiceLinkedRole</code> - The <b>action</b> the principal can perform.</p>\n </li>\n <li>\n <p>\n <code>arn:aws:iam::*:role/aws-service-role/replication.cassandra.amazonaws.com/AWSServiceRoleForKeyspacesReplication</code>\n - The <b>resource</b> that the action can be\n performed on. </p>\n </li>\n <li>\n <p>\n <code>iam:AWSServiceName: replication.cassandra.amazonaws.com</code>\n - The only Amazon Web Services service that this role can be attached to is Amazon Keyspaces.</p>\n </li>\n </ul>\n <p>For more information, see <a href=\"https://docs.aws.amazon.com/keyspaces/latest/devguide/howitworks_replication_permissions_addReplica.html\">Configure the IAM permissions\n required to add an Amazon Web Services Region to a keyspace</a>\n in the <i>Amazon Keyspaces Developer Guide</i>.</p>"
35883588
}
35893589
},
35903590
"com.amazonaws.keyspaces#UpdateKeyspaceRequest": {

0 commit comments

Comments
 (0)