UpdateRepositoryEncryptionKey
Updates the AWS Key Management Service encryption key used to encrypt and decrypt a CodeCommit repository.
Request Syntax
{
   "kmsKeyId": "string",
   "repositoryName": "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.
- kmsKeyId
- 
               The ID of the encryption key. You can view the ID of an encryption key in the AWS KMS console, or use the AWS KMS APIs to programmatically retrieve a key ID. For more information about acceptable values for keyID, see KeyId in the Decrypt API description in the AWS Key Management Service API Reference. Type: String Pattern: ^[a-zA-Z0-9:/_-]+$Required: Yes 
- repositoryName
- 
               The name of the repository for which you want to update the AWS KMS encryption key used to encrypt and decrypt the repository. Type: String Length Constraints: Minimum length of 1. Maximum length of 100. Pattern: [\w\.-]+Required: Yes 
Response Syntax
{
   "kmsKeyId": "string",
   "originalKmsKeyId": "string",
   "repositoryId": "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.
- kmsKeyId
- 
               The ID of the encryption key. Type: String Pattern: ^[a-zA-Z0-9:/_-]+$
- originalKmsKeyId
- 
               The ID of the encryption key formerly used to encrypt and decrypt the repository. Type: String Pattern: ^[a-zA-Z0-9:/_-]+$
- repositoryId
- 
               The ID of the repository. Type: String 
Errors
For information about the errors that are common to all actions, see Common Errors.
- EncryptionIntegrityChecksFailedException
- 
               An encryption integrity check failed. HTTP Status Code: 500 
- EncryptionKeyAccessDeniedException
- 
               An encryption key could not be accessed. HTTP Status Code: 400 
- EncryptionKeyDisabledException
- 
               The encryption key is disabled. HTTP Status Code: 400 
- EncryptionKeyInvalidIdException
- 
               The AWS Key Management Service encryption key is not valid. HTTP Status Code: 400 
- EncryptionKeyInvalidUsageException
- 
               A AWS KMS encryption key was used to try and encrypt or decrypt a repository, but either the repository or the key was not in a valid state to support the operation. HTTP Status Code: 400 
- EncryptionKeyNotFoundException
- 
               No encryption key was found. HTTP Status Code: 400 
- EncryptionKeyRequiredException
- 
               A AWS KMS encryption key ID is required but was not specified. HTTP Status Code: 400 
- EncryptionKeyUnavailableException
- 
               The encryption key is not available. HTTP Status Code: 400 
- InvalidRepositoryNameException
- 
               A specified repository name is not valid. NoteThis exception occurs only when a specified repository name is not valid. Other exceptions occur when a required repository parameter is missing, or when a specified repository does not exist. HTTP Status Code: 400 
- RepositoryDoesNotExistException
- 
               The specified repository does not exist. HTTP Status Code: 400 
- RepositoryNameRequiredException
- 
               A repository name is required, but was not specified. HTTP Status Code: 400 
Examples
Example
The following example updates a repository named MyDemoRepo to use a AWS KMS key with the ID of a1b2c3d4-5678-90ab-cdef-EXAMPLE11111.
Sample Request
POST / HTTP/1.1
Host: codecommit.us-east-1.amazonaws.com
Accept-Encoding: identity
Content-Length: 79
X-Amz-Target: CodeCommit_20150413.UpdateRepositoryEncryptionKey
X-Amz-Date: 20231221T153512Z
User-Agent: aws-cli/1.32.0 Python/3.6.0 Windows/10
Content-Type: application/x-amz-json-1.1
Authorization: AWS4-HMAC-SHA256 Credential=AKIAI44QH8DHBEXAMPLE/20151029/us-east-1/codecommit/aws4_request, SignedHeaders=content-type;host;user-agent;x-amz-date;x-amz-target, Signature=8d9b5998EXAMPLE
{
  "kmsKeyId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
  "repositoryName": "MyDemoRepo"
}Sample Response
HTTP/1.1 200 OK
x-amzn-RequestId: 0728aaa8-EXAMPLE
Content-Type: application/x-amz-json-1.1
Content-Length: 0
Date: Thu, 21 Dec 2023 15:35:13 GMT
                
 {
  "kmsKeyId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", 
  "originalKmsKeyId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa",
  "repositoryName": "MyDemoRepo"
}               
                See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: