UpdateKeyspace
         Adds a new AWS Region to the keyspace.  You can add a new Region to a keyspace that is either a single or a multi-Region keyspace.
         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
         must use client-side timestamps for conflict resolution. To enable client-side timestamps, specify clientSideTimestamps.status = enabled
         when invoking the API. For more information about client-side timestamps, see
         Client-side timestamps in Amazon Keyspaces in the Amazon Keyspaces Developer
               Guide.
To add a Region to a keyspace using the UpdateKeyspace API, the IAM principal needs permissions for the following IAM actions:
- 
         cassandra:Alter
- 
         cassandra:AlterMultiRegionResource
- 
         cassandra:Create
- 
         cassandra:CreateMultiRegionResource
- 
         cassandra:Select
- 
         cassandra:SelectMultiRegionResource
- 
         cassandra:Modify
- 
         cassandra:ModifyMultiRegionResource
If the keyspace contains a table that is configured in provisioned mode with auto scaling enabled, the following additional IAM actions need to be allowed.
- 
         application-autoscaling:RegisterScalableTarget
- 
         application-autoscaling:DeregisterScalableTarget
- 
         application-autoscaling:DescribeScalableTargets
- 
         application-autoscaling:PutScalingPolicy
- 
         application-autoscaling:DescribeScalingPolicies
To use the UpdateKeyspace API, the IAM principal also needs permissions to
        create a service-linked role with the following elements:
- 
         iam:CreateServiceLinkedRole- The action the principal can perform.
- 
         arn:aws:iam::*:role/aws-service-role/replication.cassandra.amazonaws.com/AWSServiceRoleForKeyspacesReplication- The resource that the action can be performed on.
- 
         iam:AWSServiceName: replication---cassandra.amazonaws.com.rproxy.govskope.ca- The only AWS service that this role can be attached to is Amazon Keyspaces.
For more information, see Configure the IAM permissions required to add an AWS Region to a keyspace in the Amazon Keyspaces Developer Guide.
Request Syntax
{
   "clientSideTimestamps": { 
      "status": "string"
   },
   "keyspaceName": "string",
   "replicationSpecification": { 
      "regionList": [ "string" ],
      "replicationStrategy": "string"
   }
}Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
- clientSideTimestamps
- 
               The client-side timestamp setting of the table. For more information, see How it works: Amazon Keyspaces client-side timestamps in the Amazon Keyspaces Developer Guide. Type: ClientSideTimestamps object Required: No 
- keyspaceName
- 
               The name of the keyspace. Type: String Length Constraints: Minimum length of 1. Maximum length of 48. Pattern: [a-zA-Z0-9][a-zA-Z0-9_]{0,47}Required: Yes 
- replicationSpecification
- 
               The replication specification of the keyspace includes: - 
                     regionList- the AWS Regions where the keyspace is replicated in.
- 
                     replicationStrategy- the required value isSINGLE_REGIONorMULTI_REGION.
 Type: ReplicationSpecification object Required: Yes 
- 
                     
Response Syntax
{
   "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.
- resourceArn
- 
               The unique identifier of the keyspace in the format of an Amazon Resource Name (ARN). Type: String Length Constraints: Minimum length of 20. Maximum length of 1000. Pattern: arn:(aws[a-zA-Z0-9-]*):cassandra:.+.*
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
- 
               You don't have sufficient access permissions to perform this action. - message
- 
                        You don't have the required permissions to perform this operation. Verify your IAM permissions and try again. 
 HTTP Status Code: 400 
- ConflictException
- 
               Amazon Keyspaces couldn't complete the requested action. This error may occur if you try to perform an action and the same or a different action is already in progress, or if you try to create a resource that already exists. - message
- 
                        The requested operation conflicts with the current state of the resource or another concurrent operation. 
 HTTP Status Code: 400 
- InternalServerException
- 
               Amazon Keyspaces was unable to fully process this request because of an internal server error. - message
- 
                        An internal service error occurred. Retry your request. If the problem persists, contact AWS Support. 
 HTTP Status Code: 500 
- ResourceNotFoundException
- 
               The operation tried to access a keyspace, table, or type that doesn't exist. The resource might not be specified correctly, or its status might not be ACTIVE.- message
- 
                        The specified resource was not found. Verify the resource identifier and ensure the resource exists and is in an ACTIVE state. 
- resourceArn
- 
                        The unique identifier in the format of Amazon Resource Name (ARN) for the resource couldn't be found. 
 HTTP Status Code: 400 
- ServiceQuotaExceededException
- 
               The operation exceeded the service quota for this resource. For more information on service quotas, see Quotas in the Amazon Keyspaces Developer Guide. - message
- 
                        The requested operation would exceed the service quota for this resource. Review the service quotas and adjust your request accordingly. 
 HTTP Status Code: 400 
- ValidationException
- 
               The operation failed due to an invalid or malformed request. - message
- 
                        The request parameters are invalid or malformed. Review the API documentation and correct the request format. 
 HTTP Status Code: 400 
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: