// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.

// Package codecommit provides the client and types for making API
// requests to AWS CodeCommit.
//
// This is the AWS CodeCommit API Reference. This reference provides descriptions
// of the operations and data types for AWS CodeCommit API along with usage
// examples.
//
// 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 can
//     access it until you send them the new HTTPS or SSH URL to use.
//
// Branches, by calling the following:
//
//   - CreateBranch, which creates a branch in a specified repository.
//
//   - DeleteBranch, which deletes the specified branch in a repository unless
//     it is the default branch.
//
//   - 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.
//
// Files, by calling the following:
//
//   - DeleteFile, which deletes the content of a specified file from a specified
//     branch.
//
//   - GetBlob, which returns the base-64 encoded content of an individual
//     Git blob object in a repository.
//
//   - GetFile, which returns the base-64 encoded content of a specified file.
//
//   - GetFolder, which returns the contents of a specified folder or directory.
//
//   - PutFile, which adds or modifies a single file in a specified repository
//     and branch.
//
// Commits, by calling the following:
//
//   - BatchGetCommits, which returns information about one or more commits
//     in a repository.
//
//   - CreateCommit, which creates a commit for changes to a repository.
//
//   - GetCommit, which returns information about a commit, including commit
//     messages and author and committer information.
//
//   - GetDifferences, which returns information about the differences in a
//     valid commit specifier (such as a branch, tag, HEAD, commit ID, or other
//     fully qualified reference).
//
// Merges, by calling the following:
//
//   - BatchDescribeMergeConflicts, which returns information about conflicts
//     in a merge between commits in a repository.
//
//   - CreateUnreferencedMergeCommit, which creates an unreferenced commit
//     between two branches or commits for the purpose of comparing them and
//     identifying any potential conflicts.
//
//   - DescribeMergeConflicts, which returns information about merge conflicts
//     between the base, source, and destination versions of a file in a potential
//     merge.
//
//   - GetMergeCommit, which returns information about the merge between a
//     source and destination commit.
//
//   - GetMergeConflicts, which returns information about merge conflicts between
//     the source and destination branch in a pull request.
//
//   - GetMergeOptions, which returns information about the available merge
//     options between two branches or commit specifiers.
//
//   - MergeBranchesByFastForward, which merges two branches using the fast-forward
//     merge option.
//
//   - MergeBranchesBySquash, which merges two branches using the squash merge
//     option.
//
//   - MergeBranchesByThreeWay, which merges two branches using the three-way
//     merge option.
//
// Pull requests, by calling the following:
//
//   - CreatePullRequest, which creates a pull request in a specified repository.
//
//   - CreatePullRequestApprovalRule, which creates an approval rule for a
//     specified pull request.
//
//   - DeletePullRequestApprovalRule, which deletes an approval rule for a
//     specified pull request.
//
//   - DescribePullRequestEvents, which returns information about one or more
//     pull request events.
//
//   - EvaluatePullRequestApprovalRules, which evaluates whether a pull request
//     has met all the conditions specified in its associated approval rules.
//
//   - GetCommentsForPullRequest, which returns information about comments
//     on a specified pull request.
//
//   - GetPullRequest, which returns information about a specified pull request.
//
//   - GetPullRequestApprovalStates, which returns information about the approval
//     states for a specified pull request.
//
//   - GetPullRequestOverrideState, which returns information about whether
//     approval rules have been set aside (overriden) for a pull request, and
//     if so, the Amazon Resource Name (ARN) of the user or identity that overrode
//     the rules and their requirements for the pull request.
//
//   - ListPullRequests, which lists all pull requests for a repository.
//
//   - MergePullRequestByFastForward, which merges the source destination branch
//     of a pull request into the specified destination branch for that pull
//     request using the fast-forward merge option.
//
//   - MergePullRequestBySquash, which merges the source destination branch
//     of a pull request into the specified destination branch for that pull
//     request using the squash merge option.
//
//   - MergePullRequestByThreeWay. which merges the source destination branch
//     of a pull request into the specified destination branch for that pull
//     request using the three-way merge option.
//
//   - OverridePullRequestApprovalRules, which sets aside all approval rule
//     requirements for a pull request.
//
//   - PostCommentForPullRequest, which posts a comment to a pull request at
//     the specified line, file, or request.
//
//   - UpdatePullRequestApprovalRuleContent, which updates the structure of
//     an approval rule for a pull request.
//
//   - UpdatePullRequestApprovalState, which updates the state of an approval
//     on a pull request.
//
//   - UpdatePullRequestDescription, which updates the description of a pull
//     request.
//
//   - UpdatePullRequestStatus, which updates the status of a pull request.
//
//   - UpdatePullRequestTitle, which updates the title of a pull request.
//
// Approval rule templates, by calling the following:
//
//   - AssociateApprovalRuleTemplateWithRepository, which associates a template
//     with a specified repository. After the template is associated with a repository,
//     AWS CodeCommit creates approval rules that match the template conditions
//     on every pull request created in the specified repository.
//
//   - BatchAssociateApprovalRuleTemplateWithRepositories, which associates
//     a template with one or more specified repositories. After the template
//     is associated with a repository, AWS CodeCommit creates approval rules
//     that match the template conditions on every pull request created in the
//     specified repositories.
//
//   - BatchDisassociateApprovalRuleTemplateFromRepositories, which removes
//     the association between a template and specified repositories so that
//     approval rules based on the template are not automatically created when
//     pull requests are created in those repositories.
//
//   - CreateApprovalRuleTemplate, which creates a template for approval rules
//     that can then be associated with one or more repositories in your AWS
//     account.
//
//   - DeleteApprovalRuleTemplate, which deletes the specified template. It
//     does not remove approval rules on pull requests already created with the
//     template.
//
//   - DisassociateApprovalRuleTemplateFromRepository, which removes the association
//     between a template and a repository so that approval rules based on the
//     template are not automatically created when pull requests are created
//     in the specified repository.
//
//   - GetApprovalRuleTemplate, which returns information about an approval
//     rule template.
//
//   - ListApprovalRuleTemplates, which lists all approval rule templates in
//     the AWS Region in your AWS account.
//
//   - ListAssociatedApprovalRuleTemplatesForRepository, which lists all approval
//     rule templates that are associated with a specified repository.
//
//   - ListRepositoriesForApprovalRuleTemplate, which lists all repositories
//     associated with the specified approval rule template.
//
//   - UpdateApprovalRuleTemplateDescription, which updates the description
//     of an approval rule template.
//
//   - UpdateApprovalRuleTemplateName, which updates the name of an approval
//     rule template.
//
//   - UpdateApprovalRuleTemplateContent, which updates the content of an approval
//     rule template.
//
// Comments in a repository, by calling the following:
//
//   - DeleteCommentContent, which deletes the content of a comment on a commit
//     in a repository.
//
//   - GetComment, which returns information about a comment on a commit.
//
//   - GetCommentReactions, which returns information about emoji reactions
//     to comments.
//
//   - GetCommentsForComparedCommit, which returns information about comments
//     on the comparison between two commit specifiers in a repository.
//
//   - PostCommentForComparedCommit, which creates a comment on the comparison
//     between two commit specifiers in a repository.
//
//   - PostCommentReply, which creates a reply to a comment.
//
//   - PutCommentReaction, which creates or updates an emoji reaction to a
//     comment.
//
//   - UpdateComment, which updates the content of a comment on a commit in
//     a repository.
//
// Tags used to tag resources in AWS CodeCommit (not Git tags), by calling the
// following:
//
//   - ListTagsForResource, which gets information about AWS tags for a specified
//     Amazon Resource Name (ARN) in AWS CodeCommit.
//
//   - TagResource, which adds or updates tags for a resource in AWS CodeCommit.
//
//   - UntagResource, which removes tags for a resource in AWS CodeCommit.
//
// 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 (https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html).
//
// See https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13 for more information on this service.
//
// See codecommit package documentation for more information.
// https://docs.aws.amazon.com/sdk-for-go/api/service/codecommit/
//
// # Using the Client
//
// To contact AWS CodeCommit with the SDK use the New function to create
// a new service client. With that client you can make API requests to the service.
// These clients are safe to use concurrently.
//
// See the SDK's documentation for more information on how to use the SDK.
// https://docs.aws.amazon.com/sdk-for-go/api/
//
// See aws.Config documentation for more information on configuring SDK clients.
// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
//
// See the AWS CodeCommit client CodeCommit for more
// information on creating client for this service.
// https://docs.aws.amazon.com/sdk-for-go/api/service/codecommit/#New
package codecommit
