com.amazonaws.services.codecommit

## Interface AWSCodeCommit

All Known Subinterfaces:
  AWSCodeCommitAsync

All Known Implementing Classes:
  AbstractAWSCodeCommit, AbstractAWSCodeCommitAsync, AWSCodeCommitAsyncClient, AWSCodeCommitClient

    public interface AWSCodeCommit

Interface for accessing CodeCommit.

Note: Do not directly implement this interface, new methods are added to it regularly. Extend from `AbstractAWSCodeCommit` instead.

<fullname>AWS CodeCommit</fullname>

This is the AWS CodeCommit API Reference. This reference provides descriptions of the operations and data types for AWS CodeCommit API.

You can use the AWS CodeCommit API to work with the following objects:

- Repositories, by calling the following:
  - BatchGetRepositories, which returns information about one or more repositories associated with your AWS account
  - CreateRepository, which creates an AWS CodeCommit repository
  - DeleteRepository, which deletes an AWS CodeCommit repository
  - GetRepository, which returns information about a specified repository
  - ListRepositories, which lists all AWS CodeCommit repositories associated with your AWS account
  - UpdateRepositoryDescription, which sets or updates the description of the repository
  - UpdateRepositoryName, which changes the name of the repository. If you change the name of a repository, no other users of that repository will be able to access it until you send them the new HTTPS or SSH URL to use.
- Branches, by calling the following:
  - CreateBranch, which creates a new branch in a specified repository
  - GetBranch, which returns information about a specified branch
  - ListBranches, which lists all branches for a specified repository
  - UpdateDefaultBranch, which changes the default branch for a repository
- Information about committed code in a repository, by calling the following:
  - GetCommit, which returns information about a commit, including commit messages and committer information.
- Triggers, by calling the following:
  - GetRepositoryTriggers, which returns information about triggers configured for a repository
  - PutRepositoryTriggers, which replaces all triggers for a repository and can be used to create or delete triggers
  - TestRepositoryTriggers, which tests the functionality of a repository trigger by sending data to the trigger target

For information about how to use AWS CodeCommit, see the AWS CodeCommit User Guide.

### Field Summary

Fields
`static String` `ENDPOINT_PREFIX` The region metadata service name for computing region endpoints.

### Method Summary

All Methods Instance Methods Abstract Methods
`BatchGetRepositoriesResult` `batchGetRepositories(BatchGetRepositoriesRequest batchGetRepositoriesRequest)` Returns information about one or more repositories.
`CreateBranchResult` `createBranch(CreateBranchRequest createBranchRequest)` Creates a new branch in a repository and points the branch to a commit.
`CreateRepositoryResult` `createRepository(CreateRepositoryRequest createRepositoryRequest)` Creates a new, empty repository.
`DeleteRepositoryResult` `deleteRepository(DeleteRepositoryRequest deleteRepositoryRequest)` Deletes a repository.
`GetBranchResult` `getBranch(GetBranchRequest getBranchRequest)` Returns information about a repository branch, including its name and the last commit ID.
`ResponseMetadata` `getCachedResponseMetadata(AmazonWebServiceRequest request)` Returns additional metadata for a previously executed successful request, typically used for debugging issues where a service isn't acting as expected.
`GetCommitResult` `getCommit(GetCommitRequest getCommitRequest)` Returns information about a commit, including commit message and committer information.
`GetRepositoryResult` `getRepository(GetRepositoryRequest getRepositoryRequest)` Returns information about a repository.
`GetRepositoryTriggersResult` `getRepositoryTriggers(GetRepositoryTriggersRequest getRepositoryTriggersRequest)` Gets information about triggers configured for a repository.
`ListBranchesResult` `listBranches(ListBranchesRequest listBranchesRequest)` Gets information about one or more branches in a repository.
`ListRepositoriesResult` `listRepositories(ListRepositoriesRequest listRepositoriesRequest)` Gets information about one or more repositories.
`PutRepositoryTriggersResult` `putRepositoryTriggers(PutRepositoryTriggersRequest putRepositoryTriggersRequest)` Replaces all triggers for a repository.
`void` `setEndpoint(String endpoint)` Overrides the default endpoint for this client ("https://codecommit.us-east-1.amazonaws.com").
`void` `setRegion(Region region)` An alternative to `setEndpoint(String)`, sets the regional endpoint for this client's service calls.
`void` `shutdown()` Shuts down this client object, releasing any resources that might be held open.
`TestRepositoryTriggersResult` `testRepositoryTriggers(TestRepositoryTriggersRequest testRepositoryTriggersRequest)` Tests the functionality of repository triggers by sending information to the trigger target.
`UpdateDefaultBranchResult` `updateDefaultBranch(UpdateDefaultBranchRequest updateDefaultBranchRequest)` Sets or changes the default branch name for the specified repository.
`UpdateRepositoryDescriptionResult` `updateRepositoryDescription(UpdateRepositoryDescriptionRequest updateRepositoryDescriptionRequest)` Sets or changes the comment or description for a repository.
`UpdateRepositoryNameResult` `updateRepositoryName(UpdateRepositoryNameRequest updateRepositoryNameRequest)` Renames a repository.

### Field Detail

#### ENDPOINT_PREFIX

    static final String ENDPOINT_PREFIX

The region metadata service name for computing region endpoints. You can use this value to retrieve metadata (such as supported regions) of the service.

See Also:
  `RegionUtils.getRegionsForService(String)`, Constant Field Values

### Method Detail

#### setEndpoint

    void setEndpoint(String endpoint)

Overrides the default endpoint for this client ("https://codecommit.us-east-1.amazonaws.com"). Callers can use this method to control which AWS region they want to work with.

Callers can pass in just the endpoint (ex: "codecommit.us-east-1.amazonaws.com") or a full URL, including the protocol (ex: "https://codecommit.us-east-1.amazonaws.com"). If the protocol is not specified here, the default protocol from this client's `ClientConfiguration` will be used, which by default is HTTPS.

For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available endpoints for all AWS services, see: http://developer.amazonwebservices.com/connect/entry.jspa?externalID=3912

This method is not threadsafe. An endpoint should be configured when the client is created and before any service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit or retrying.

Parameters:
  `endpoint` - The endpoint (ex: "codecommit.us-east-1.amazonaws.com") or a full URL, including the protocol (ex: "https://codecommit.us-east-1.amazonaws.com") of the region specific AWS endpoint this client will communicate with.

#### setRegion

    void setRegion(Region region)

An alternative to `setEndpoint(String)`, sets the regional endpoint for this client's service calls. Callers can use this method to control which AWS region they want to work with.

By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the `ClientConfiguration` supplied at construction.

This method is not threadsafe. A region should be configured when the client is created and before any service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit or retrying.

Parameters:
  `region` - The region this client will communicate with. See `Region.getRegion(com.amazonaws.regions.Regions)` for accessing a given region. Must not be null and must be a region where the service is available.
See Also:
  `Region.getRegion(com.amazonaws.regions.Regions)`, `Region.createClient(Class, com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)`, `Region.isServiceSupported(String)`

#### batchGetRepositories

    BatchGetRepositoriesResult batchGetRepositories(BatchGetRepositoriesRequest batchGetRepositoriesRequest)

Returns information about one or more repositories.

<note>

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a web page could expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a web page.

</note>

Parameters:
  `batchGetRepositoriesRequest` - Represents the input of a batch get repositories operation.
Returns:
  Result of the BatchGetRepositories operation returned by the service.
Throws:
  `RepositoryNamesRequiredException` - A repository names object is required but was not specified.
  `MaximumRepositoryNamesExceededException` - The maximum number of allowed repository names was exceeded. Currently, this number is 25.
  `InvalidRepositoryNameException` - At least one specified repository name is not valid. <note>

  This exception only occurs 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.

  `EncryptionIntegrityChecksFailedException` - An encryption integrity check failed.
  `EncryptionKeyAccessDeniedException` - An encryption key could not be accessed.
  `EncryptionKeyDisabledException` - The encryption key is disabled.
  `EncryptionKeyNotFoundException` - No encryption key was found.
  `EncryptionKeyUnavailableException` - The encryption key is not available.

#### createBranch

    CreateBranchResult createBranch(CreateBranchRequest createBranchRequest)

Creates a new branch in a repository and points the branch to a commit.

<note>

Calling the create branch operation does not set a repository's default branch. To do this, call the update default branch operation.

</note>

Parameters:
  `createBranchRequest` - Represents the input of a create branch operation.
Returns:
  Result of the CreateBranch operation returned by the service.
Throws:
  `RepositoryNameRequiredException` - A repository name is required but was not specified.
  `InvalidRepositoryNameException` - At least one specified repository name is not valid. <note>

  This exception only occurs 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.

  `RepositoryDoesNotExistException` - The specified repository does not exist.
  `BranchNameRequiredException` - A branch name is required but was not specified.
  `BranchNameExistsException` - The specified branch name already exists.
  `InvalidBranchNameException` - The specified branch name is not valid.
  `CommitIdRequiredException` - A commit ID was not specified.
  `CommitDoesNotExistException` - The specified commit does not exist or no commit was specified, and the specified repository has no default branch.
  `InvalidCommitIdException` - The specified commit ID is not valid.
  `EncryptionIntegrityChecksFailedException` - An encryption integrity check failed.
  `EncryptionKeyAccessDeniedException` - An encryption key could not be accessed.
  `EncryptionKeyDisabledException` - The encryption key is disabled.
  `EncryptionKeyNotFoundException` - No encryption key was found.
  `EncryptionKeyUnavailableException` - The encryption key is not available.

#### createRepository

    CreateRepositoryResult createRepository(CreateRepositoryRequest createRepositoryRequest)

Creates a new, empty repository.

Parameters:
  `createRepositoryRequest` - Represents the input of a create repository operation.
Returns:
  Result of the CreateRepository operation returned by the service.
Throws:
  `RepositoryNameExistsException` - The specified repository name already exists.
  `RepositoryNameRequiredException` - A repository name is required but was not specified.
  `InvalidRepositoryNameException` - At least one specified repository name is not valid. <note>

  This exception only occurs 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.

  `InvalidRepositoryDescriptionException` - The specified repository description is not valid.
  `RepositoryLimitExceededException` - A repository resource limit was exceeded.
  `EncryptionIntegrityChecksFailedException` - An encryption integrity check failed.
  `EncryptionKeyAccessDeniedException` - An encryption key could not be accessed.
  `EncryptionKeyDisabledException` - The encryption key is disabled.
  `EncryptionKeyNotFoundException` - No encryption key was found.
  `EncryptionKeyUnavailableException` - The encryption key is not available.

#### deleteRepository

    DeleteRepositoryResult deleteRepository(DeleteRepositoryRequest deleteRepositoryRequest)

Deletes a repository. If a specified repository was already deleted, a null repository ID will be returned.

<important>Deleting a repository also deletes all associated objects and metadata. After a repository is deleted, all future push calls to the deleted repository will fail.</important>

Parameters:
  `deleteRepositoryRequest` - Represents the input of a delete repository operation.
Returns:
  Result of the DeleteRepository operation returned by the service.
Throws:
  `RepositoryNameRequiredException` - A repository name is required but was not specified.
  `InvalidRepositoryNameException` - At least one specified repository name is not valid. <note>

  This exception only occurs 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.

  `EncryptionIntegrityChecksFailedException` - An encryption integrity check failed.
  `EncryptionKeyAccessDeniedException` - An encryption key could not be accessed.
  `EncryptionKeyDisabledException` - The encryption key is disabled.
  `EncryptionKeyNotFoundException` - No encryption key was found.
  `EncryptionKeyUnavailableException` - The encryption key is not available.

#### getBranch

    GetBranchResult getBranch(GetBranchRequest getBranchRequest)

Returns information about a repository branch, including its name and the last commit ID.

Parameters:
  `getBranchRequest` - Represents the input of a get branch operation.
Returns:
  Result of the GetBranch operation returned by the service.
Throws:
  `RepositoryNameRequiredException` - A repository name is required but was not specified.
  `RepositoryDoesNotExistException` - The specified repository does not exist.
  `InvalidRepositoryNameException` - At least one specified repository name is not valid. <note>

  This exception only occurs 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.

  `BranchNameRequiredException` - A branch name is required but was not specified.
  `InvalidBranchNameException` - The specified branch name is not valid.
  `BranchDoesNotExistException` - The specified branch does not exist.
  `EncryptionIntegrityChecksFailedException` - An encryption integrity check failed.
  `EncryptionKeyAccessDeniedException` - An encryption key could not be accessed.
  `EncryptionKeyDisabledException` - The encryption key is disabled.
  `EncryptionKeyNotFoundException` - No encryption key was found.
  `EncryptionKeyUnavailableException` - The encryption key is not available.

#### getCommit

    GetCommitResult getCommit(GetCommitRequest getCommitRequest)

Returns information about a commit, including commit message and committer information.

Parameters:
  `getCommitRequest` - Represents the input of a get commit operation.
Returns:
  Result of the GetCommit operation returned by the service.
Throws:
  `RepositoryNameRequiredException` - A repository name is required but was not specified.
  `InvalidRepositoryNameException` - At least one specified repository name is not valid. <note>

  This exception only occurs 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.

  `RepositoryDoesNotExistException` - The specified repository does not exist.
  `CommitIdRequiredException` - A commit ID was not specified.
  `InvalidCommitIdException` - The specified commit ID is not valid.
  `CommitIdDoesNotExistException` - The specified commit ID does not exist.
  `EncryptionIntegrityChecksFailedException` - An encryption integrity check failed.
  `EncryptionKeyAccessDeniedException` - An encryption key could not be accessed.
  `EncryptionKeyDisabledException` - The encryption key is disabled.
  `EncryptionKeyNotFoundException` - No encryption key was found.
  `EncryptionKeyUnavailableException` - The encryption key is not available.

#### getRepository

    GetRepositoryResult getRepository(GetRepositoryRequest getRepositoryRequest)

Returns information about a repository.

<note>

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a web page could expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a web page.

</note>

Parameters:
  `getRepositoryRequest` - Represents the input of a get repository operation.
Returns:
  Result of the GetRepository operation returned by the service.
Throws:
  `RepositoryNameRequiredException` - A repository name is required but was not specified.
  `RepositoryDoesNotExistException` - The specified repository does not exist.
  `InvalidRepositoryNameException` - At least one specified repository name is not valid. <note>

  This exception only occurs 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.

  `EncryptionIntegrityChecksFailedException` - An encryption integrity check failed.
  `EncryptionKeyAccessDeniedException` - An encryption key could not be accessed.
  `EncryptionKeyDisabledException` - The encryption key is disabled.
  `EncryptionKeyNotFoundException` - No encryption key was found.
  `EncryptionKeyUnavailableException` - The encryption key is not available.

#### getRepositoryTriggers

    GetRepositoryTriggersResult getRepositoryTriggers(GetRepositoryTriggersRequest getRepositoryTriggersRequest)

Gets information about triggers configured for a repository.

Parameters:
  `getRepositoryTriggersRequest` - Represents the input of a get repository triggers operation.
Returns:
  Result of the GetRepositoryTriggers operation returned by the service.
Throws:
  `RepositoryNameRequiredException` - A repository name is required but was not specified.
  `InvalidRepositoryNameException` - At least one specified repository name is not valid. <note>

  This exception only occurs 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.

  `RepositoryDoesNotExistException` - The specified repository does not exist.
  `EncryptionIntegrityChecksFailedException` - An encryption integrity check failed.
  `EncryptionKeyAccessDeniedException` - An encryption key could not be accessed.
  `EncryptionKeyDisabledException` - The encryption key is disabled.
  `EncryptionKeyNotFoundException` - No encryption key was found.
  `EncryptionKeyUnavailableException` - The encryption key is not available.

#### listBranches

    ListBranchesResult listBranches(ListBranchesRequest listBranchesRequest)

Gets information about one or more branches in a repository.

Parameters:
  `listBranchesRequest` - Represents the input of a list branches operation.
Returns:
  Result of the ListBranches operation returned by the service.
Throws:
  `RepositoryNameRequiredException` - A repository name is required but was not specified.
  `RepositoryDoesNotExistException` - The specified repository does not exist.
  `InvalidRepositoryNameException` - At least one specified repository name is not valid. <note>

  This exception only occurs 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.

  `EncryptionIntegrityChecksFailedException` - An encryption integrity check failed.
  `EncryptionKeyAccessDeniedException` - An encryption key could not be accessed.
  `EncryptionKeyDisabledException` - The encryption key is disabled.
  `EncryptionKeyNotFoundException` - No encryption key was found.
  `EncryptionKeyUnavailableException` - The encryption key is not available.
  `InvalidContinuationTokenException` - The specified continuation token is not valid.

#### listRepositories

    ListRepositoriesResult listRepositories(ListRepositoriesRequest listRepositoriesRequest)

Gets information about one or more repositories.

Parameters:
  `listRepositoriesRequest` - Represents the input of a list repositories operation.
Returns:
  Result of the ListRepositories operation returned by the service.
Throws:
  `InvalidSortByException` - The specified sort by value is not valid.
  `InvalidOrderException` - The specified sort order is not valid.
  `InvalidContinuationTokenException` - The specified continuation token is not valid.

#### putRepositoryTriggers

    PutRepositoryTriggersResult putRepositoryTriggers(PutRepositoryTriggersRequest putRepositoryTriggersRequest)

Replaces all triggers for a repository. This can be used to create or delete triggers.

Parameters:
  `putRepositoryTriggersRequest` - Represents the input ofa put repository triggers operation.
Returns:
  Result of the PutRepositoryTriggers operation returned by the service.
Throws:
  `RepositoryDoesNotExistException` - The specified repository does not exist.
  `RepositoryNameRequiredException` - A repository name is required but was not specified.
  `InvalidRepositoryNameException` - At least one specified repository name is not valid. <note>

  This exception only occurs 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.

  `RepositoryTriggersListRequiredException` - The list of triggers for the repository is required but was not specified.
  `MaximumRepositoryTriggersExceededException` - The number of triggers allowed for the repository was exceeded.
  `InvalidRepositoryTriggerNameException` - The name of the trigger is not valid.
  `InvalidRepositoryTriggerDestinationArnException` - The Amazon Resource Name (ARN) for the trigger is not valid for the specified destination. The most common reason for this error is that the ARN does not meet the requirements for the service type.
  `InvalidRepositoryTriggerRegionException` - The region for the trigger target does not match the region for the repository. Triggers must be created in the same region as the target for the trigger.
  `InvalidRepositoryTriggerCustomDataException` - The custom data provided for the trigger is not valid.
  `MaximumBranchesExceededException` - The number of branches for the trigger was exceeded.
  `InvalidRepositoryTriggerBranchNameException` - One or more branch names specified for the trigger is not valid.
  `InvalidRepositoryTriggerEventsException` - One or more events specified for the trigger is not valid. Check to make sure that all events specified match the requirements for allowed events.
  `RepositoryTriggerNameRequiredException` - A name for the trigger is required but was not specified.
  `RepositoryTriggerDestinationArnRequiredException` - A destination ARN for the target service for the trigger is required but was not specified.
  `RepositoryTriggerBranchNameListRequiredException` - At least one branch name is required but was not specified in the trigger configuration.
  `RepositoryTriggerEventsListRequiredException` - At least one event for the trigger is required but was not specified.
  `EncryptionIntegrityChecksFailedException` - An encryption integrity check failed.
  `EncryptionKeyAccessDeniedException` - An encryption key could not be accessed.
  `EncryptionKeyDisabledException` - The encryption key is disabled.
  `EncryptionKeyNotFoundException` - No encryption key was found.
  `EncryptionKeyUnavailableException` - The encryption key is not available.

#### testRepositoryTriggers

    TestRepositoryTriggersResult testRepositoryTriggers(TestRepositoryTriggersRequest testRepositoryTriggersRequest)

Tests the functionality of repository triggers by sending information to the trigger target. If real data is available in the repository, the test will send data from the last commit. If no data is available, sample data will be generated.

Parameters:
  `testRepositoryTriggersRequest` - Represents the input of a test repository triggers operation.
Returns:
  Result of the TestRepositoryTriggers operation returned by the service.
Throws:
  `RepositoryDoesNotExistException` - The specified repository does not exist.
  `RepositoryNameRequiredException` - A repository name is required but was not specified.
  `InvalidRepositoryNameException` - At least one specified repository name is not valid. <note>

  This exception only occurs 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.

  `RepositoryTriggersListRequiredException` - The list of triggers for the repository is required but was not specified.
  `MaximumRepositoryTriggersExceededException` - The number of triggers allowed for the repository was exceeded.
  `InvalidRepositoryTriggerNameException` - The name of the trigger is not valid.
  `InvalidRepositoryTriggerDestinationArnException` - The Amazon Resource Name (ARN) for the trigger is not valid for the specified destination. The most common reason for this error is that the ARN does not meet the requirements for the service type.
  `InvalidRepositoryTriggerRegionException` - The region for the trigger target does not match the region for the repository. Triggers must be created in the same region as the target for the trigger.
  `InvalidRepositoryTriggerCustomDataException` - The custom data provided for the trigger is not valid.
  `MaximumBranchesExceededException` - The number of branches for the trigger was exceeded.
  `InvalidRepositoryTriggerBranchNameException` - One or more branch names specified for the trigger is not valid.
  `InvalidRepositoryTriggerEventsException` - One or more events specified for the trigger is not valid. Check to make sure that all events specified match the requirements for allowed events.
  `RepositoryTriggerNameRequiredException` - A name for the trigger is required but was not specified.
  `RepositoryTriggerDestinationArnRequiredException` - A destination ARN for the target service for the trigger is required but was not specified.
  `RepositoryTriggerBranchNameListRequiredException` - At least one branch name is required but was not specified in the trigger configuration.
  `RepositoryTriggerEventsListRequiredException` - At least one event for the trigger is required but was not specified.
  `EncryptionIntegrityChecksFailedException` - An encryption integrity check failed.
  `EncryptionKeyAccessDeniedException` - An encryption key could not be accessed.
  `EncryptionKeyDisabledException` - The encryption key is disabled.
  `EncryptionKeyNotFoundException` - No encryption key was found.
  `EncryptionKeyUnavailableException` - The encryption key is not available.

#### updateDefaultBranch

    UpdateDefaultBranchResult updateDefaultBranch(UpdateDefaultBranchRequest updateDefaultBranchRequest)

Sets or changes the default branch name for the specified repository.

<note>

If you use this operation to change the default branch name to the current default branch name, a success message is returned even though the default branch did not change.

</note>

Parameters:
  `updateDefaultBranchRequest` - Represents the input of an update default branch operation.
Returns:
  Result of the UpdateDefaultBranch operation returned by the service.
Throws:
  `RepositoryNameRequiredException` - A repository name is required but was not specified.
  `RepositoryDoesNotExistException` - The specified repository does not exist.
  `InvalidRepositoryNameException` - At least one specified repository name is not valid. <note>

  This exception only occurs 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.

  `BranchNameRequiredException` - A branch name is required but was not specified.
  `InvalidBranchNameException` - The specified branch name is not valid.
  `BranchDoesNotExistException` - The specified branch does not exist.
  `EncryptionIntegrityChecksFailedException` - An encryption integrity check failed.
  `EncryptionKeyAccessDeniedException` - An encryption key could not be accessed.
  `EncryptionKeyDisabledException` - The encryption key is disabled.
  `EncryptionKeyNotFoundException` - No encryption key was found.
  `EncryptionKeyUnavailableException` - The encryption key is not available.

#### updateRepositoryDescription

    UpdateRepositoryDescriptionResult updateRepositoryDescription(UpdateRepositoryDescriptionRequest updateRepositoryDescriptionRequest)

Sets or changes the comment or description for a repository.

<note>

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a web page could expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a web page.

</note>

Parameters:
  `updateRepositoryDescriptionRequest` - Represents the input of an update repository description operation.
Returns:
  Result of the UpdateRepositoryDescription operation returned by the service.
Throws:
  `RepositoryNameRequiredException` - A repository name is required but was not specified.
  `RepositoryDoesNotExistException` - The specified repository does not exist.
  `InvalidRepositoryNameException` - At least one specified repository name is not valid. <note>

  This exception only occurs 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.

  `InvalidRepositoryDescriptionException` - The specified repository description is not valid.
  `EncryptionIntegrityChecksFailedException` - An encryption integrity check failed.
  `EncryptionKeyAccessDeniedException` - An encryption key could not be accessed.
  `EncryptionKeyDisabledException` - The encryption key is disabled.
  `EncryptionKeyNotFoundException` - No encryption key was found.
  `EncryptionKeyUnavailableException` - The encryption key is not available.

#### updateRepositoryName

    UpdateRepositoryNameResult updateRepositoryName(UpdateRepositoryNameRequest updateRepositoryNameRequest)

Renames a repository. The repository name must be unique across the calling AWS account. In addition, repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. The suffix ".git" is prohibited. For a full description of the limits on repository names, see Limits in the AWS CodeCommit User Guide.

Parameters:
  `updateRepositoryNameRequest` - Represents the input of an update repository description operation.
Returns:
  Result of the UpdateRepositoryName operation returned by the service.
Throws:
  `RepositoryDoesNotExistException` - The specified repository does not exist.
  `RepositoryNameExistsException` - The specified repository name already exists.
  `RepositoryNameRequiredException` - A repository name is required but was not specified.
  `InvalidRepositoryNameException` - At least one specified repository name is not valid. <note>

  This exception only occurs 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.

#### shutdown

    void shutdown()

Shuts down this client object, releasing any resources that might be held open. This is an optional method, and callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client has been shutdown, it should not be used to make any more requests.

#### getCachedResponseMetadata

    ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request)

Returns additional metadata for a previously executed successful request, typically used for debugging issues where a service isn't acting as expected. This data isn't considered part of the result data returned by an operation, so it's available through this separate, diagnostic interface.

Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic information for an executed request, you should use this method to retrieve it as soon as possible after executing a request.

Parameters:
  `request` - The originally executed request.
Returns:
  The response metadata for the specified request, or null if none is available.