UpdateRepositoryEncryptionKey - AWS CodeCommit

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.

Note

This 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: