com.amazonaws.services.codecommit

## Class AWSCodeCommitClient

- java.lang.Object
- - com.amazonaws.AmazonWebServiceClient
  - - com.amazonaws.services.codecommit.AWSCodeCommitClient

All Implemented Interfaces:
  AWSCodeCommit

Direct Known Subclasses:
  AWSCodeCommitAsyncClient

    @ThreadSafe
    public class AWSCodeCommitClient
    extends AmazonWebServiceClient
    implements AWSCodeCommit

Client for accessing CodeCommit. All service calls made using this client are blocking, and will not return until the service call completes.

<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
`protected static ClientConfigurationFactory` `configFactory` Client configuration factory providing ClientConfigurations tailored to this client

### Fields inherited from class com.amazonaws.AmazonWebServiceClient

`client, clientConfiguration, endpoint, LOGGING_AWS_REQUEST_METRIC, requestHandler2s, timeOffset`

### Fields inherited from interface com.amazonaws.services.codecommit.AWSCodeCommit

`ENDPOINT_PREFIX`

### Constructor Summary

Constructors
Constructor and Description
`AWSCodeCommitClient()` Constructs a new client to invoke service methods on CodeCommit.
`AWSCodeCommitClient(AWSCredentials awsCredentials)` Constructs a new client to invoke service methods on CodeCommit using the specified AWS account credentials.
`AWSCodeCommitClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration)` Constructs a new client to invoke service methods on CodeCommit using the specified AWS account credentials and client configuration options.
`AWSCodeCommitClient(AWSCredentialsProvider awsCredentialsProvider)` Constructs a new client to invoke service methods on CodeCommit using the specified AWS account credentials provider.
`AWSCodeCommitClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration)` Constructs a new client to invoke service methods on CodeCommit using the specified AWS account credentials provider and client configuration options.
`AWSCodeCommitClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector)` Constructs a new client to invoke service methods on CodeCommit using the specified AWS account credentials provider, client configuration options, and request metric collector.
`AWSCodeCommitClient(ClientConfiguration clientConfiguration)` Constructs a new client to invoke service methods on CodeCommit.

### Method Summary

All Methods Instance Methods Concrete 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.
`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.

### Methods inherited from class com.amazonaws.AmazonWebServiceClient

`addRequestHandler, addRequestHandler, beforeMarshalling, calculateCRC32FromCompressedData, checkMutability, configureRegion, createExecutionContext, createExecutionContext, createExecutionContext, createSignerProvider, endClientExecution, endClientExecution, getEndpointPrefix, getRequestMetricsCollector, getServiceAbbreviation, getServiceName, getServiceNameIntern, getSigner, getSignerByURI, getSignerProvider, getSignerRegionOverride, getTimeOffset, isProfilingEnabled, isRequestMetricsEnabled, makeImmutable, removeRequestHandler, removeRequestHandler, requestMetricCollector, setEndpoint, setEndpointPrefix, setRegion, setServiceNameIntern, setSignerRegionOverride, setTimeOffset, shutdown, useStrictHostNameVerification, withEndpoint, withRegion, withRegion, withTimeOffset`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface com.amazonaws.services.codecommit.AWSCodeCommit

`setEndpoint, setRegion, shutdown`

### Field Detail

#### configFactory

    protected static final ClientConfigurationFactory configFactory

Client configuration factory providing ClientConfigurations tailored to this client

### Constructor Detail

#### AWSCodeCommitClient

    public AWSCodeCommitClient()

Constructs a new client to invoke service methods on CodeCommit. A credentials provider chain will be used that searches for credentials in this order:

- Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
- Java System Properties - aws.accessKeyId and aws.secretKey
- Instance profile credentials delivered through the Amazon EC2 metadata service

All service calls made using this new client object are blocking, and will not return until the service call completes.

See Also:
  `DefaultAWSCredentialsProviderChain`

#### AWSCodeCommitClient

    public AWSCodeCommitClient(ClientConfiguration clientConfiguration)

Constructs a new client to invoke service methods on CodeCommit. A credentials provider chain will be used that searches for credentials in this order:

- Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
- Java System Properties - aws.accessKeyId and aws.secretKey
- Instance profile credentials delivered through the Amazon EC2 metadata service

All service calls made using this new client object are blocking, and will not return until the service call completes.

Parameters:
  `clientConfiguration` - The client configuration options controlling how this client connects to CodeCommit (ex: proxy settings, retry counts, etc.).
See Also:
  `DefaultAWSCredentialsProviderChain`

#### AWSCodeCommitClient

    public AWSCodeCommitClient(AWSCredentials awsCredentials)

Constructs a new client to invoke service methods on CodeCommit using the specified AWS account credentials.

All service calls made using this new client object are blocking, and will not return until the service call completes.

Parameters:
  `awsCredentials` - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.

#### AWSCodeCommitClient

    public AWSCodeCommitClient(AWSCredentials awsCredentials,
                               ClientConfiguration clientConfiguration)

Constructs a new client to invoke service methods on CodeCommit using the specified AWS account credentials and client configuration options.

All service calls made using this new client object are blocking, and will not return until the service call completes.

Parameters:
  `awsCredentials` - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
  `clientConfiguration` - The client configuration options controlling how this client connects to CodeCommit (ex: proxy settings, retry counts, etc.).

#### AWSCodeCommitClient

    public AWSCodeCommitClient(AWSCredentialsProvider awsCredentialsProvider)

Constructs a new client to invoke service methods on CodeCommit using the specified AWS account credentials provider.

All service calls made using this new client object are blocking, and will not return until the service call completes.

Parameters:
  `awsCredentialsProvider` - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.

#### AWSCodeCommitClient

    public AWSCodeCommitClient(AWSCredentialsProvider awsCredentialsProvider,
                               ClientConfiguration clientConfiguration)

Constructs a new client to invoke service methods on CodeCommit using the specified AWS account credentials provider and client configuration options.

All service calls made using this new client object are blocking, and will not return until the service call completes.

Parameters:
  `awsCredentialsProvider` - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
  `clientConfiguration` - The client configuration options controlling how this client connects to CodeCommit (ex: proxy settings, retry counts, etc.).

#### AWSCodeCommitClient

    public AWSCodeCommitClient(AWSCredentialsProvider awsCredentialsProvider,
                               ClientConfiguration clientConfiguration,
                               RequestMetricCollector requestMetricCollector)

Constructs a new client to invoke service methods on CodeCommit using the specified AWS account credentials provider, client configuration options, and request metric collector.

All service calls made using this new client object are blocking, and will not return until the service call completes.

Parameters:
  `awsCredentialsProvider` - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
  `clientConfiguration` - The client configuration options controlling how this client connects to CodeCommit (ex: proxy settings, retry counts, etc.).
  `requestMetricCollector` - optional request metric collector

### Method Detail

#### batchGetRepositories

    public 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>

Specified by:
  `batchGetRepositories` in interface `AWSCodeCommit`
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

    public 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>

Specified by:
  `createBranch` in interface `AWSCodeCommit`
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

    public CreateRepositoryResult createRepository(CreateRepositoryRequest createRepositoryRequest)

Creates a new, empty repository.

Specified by:
  `createRepository` in interface `AWSCodeCommit`
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

    public 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>

Specified by:
  `deleteRepository` in interface `AWSCodeCommit`
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

    public GetBranchResult getBranch(GetBranchRequest getBranchRequest)

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

Specified by:
  `getBranch` in interface `AWSCodeCommit`
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

    public GetCommitResult getCommit(GetCommitRequest getCommitRequest)

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

Specified by:
  `getCommit` in interface `AWSCodeCommit`
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

    public 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>

Specified by:
  `getRepository` in interface `AWSCodeCommit`
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

    public GetRepositoryTriggersResult getRepositoryTriggers(GetRepositoryTriggersRequest getRepositoryTriggersRequest)

Gets information about triggers configured for a repository.

Specified by:
  `getRepositoryTriggers` in interface `AWSCodeCommit`
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

    public ListBranchesResult listBranches(ListBranchesRequest listBranchesRequest)

Gets information about one or more branches in a repository.

Specified by:
  `listBranches` in interface `AWSCodeCommit`
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

    public ListRepositoriesResult listRepositories(ListRepositoriesRequest listRepositoriesRequest)

Gets information about one or more repositories.

Specified by:
  `listRepositories` in interface `AWSCodeCommit`
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

    public PutRepositoryTriggersResult putRepositoryTriggers(PutRepositoryTriggersRequest putRepositoryTriggersRequest)

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

Specified by:
  `putRepositoryTriggers` in interface `AWSCodeCommit`
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

    public 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.

Specified by:
  `testRepositoryTriggers` in interface `AWSCodeCommit`
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

    public 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>

Specified by:
  `updateDefaultBranch` in interface `AWSCodeCommit`
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

    public 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>

Specified by:
  `updateRepositoryDescription` in interface `AWSCodeCommit`
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

    public 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.

Specified by:
  `updateRepositoryName` in interface `AWSCodeCommit`
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.

#### getCachedResponseMetadata

    public 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 the request.

Specified by:
  `getCachedResponseMetadata` in interface `AWSCodeCommit`
Parameters:
  `request` - The originally executed request
Returns:
  The response metadata for the specified request, or null if none is available.