# CfnRepositoryProps

Properties for defining a `CfnRepository`.

Extends: CfnRepositoryProps
Used as props by: CfnRepository

- Source: Generated code
- Type last changed: v2.117.0 · 27 Dec 2023

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_codecommit as codecommit } from 'aws-cdk-lib';
const cfnRepositoryProps: codecommit.CfnRepositoryProps = {
  repositoryName: 'repositoryName',

  // the properties below are optional
  code: {
    s3: {
      bucket: 'bucket',
      key: 'key',

      // the properties below are optional
      objectVersion: 'objectVersion',
    },

    // the properties below are optional
    branchName: 'branchName',
  },
  kmsKeyId: 'kmsKeyId',
  repositoryDescription: 'repositoryDescription',
  tags: [{
    key: 'key',
    value: 'value',
  }],
  triggers: [{
    destinationArn: 'destinationArn',
    events: ['events'],
    name: 'name',

    // the properties below are optional
    branches: ['branches'],
    customData: 'customData',
  }],
};
```

## Properties

- `code`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnRepository.CodeProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_codecommit.CfnRepository.CodeProperty.html) — Information about code to be committed to a repository after it is created in an AWS CloudFormation stack.

  Information about code is only used in resource creation. Updates to a stack will not reflect changes made to code properties after initial resource creation.

  > You can only use this property to add code when creating a repository with a CloudFormation template at creation time. This property cannot be used for updating code to an existing repository.

- `kmsKeyId`: string — The ID of the AWS Key Management Service encryption key used to encrypt and decrypt the repository.

  > The input can be the full ARN, the key ID, or the key alias. For more information, see [Finding the key ID and key ARN](https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html) .

- `repositoryDescription`: string — A comment or description about the new repository.

  > 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 webpage can 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 webpage.

- `repositoryName`: string (required) — The name of the new repository to be created.

  > The repository name must be unique across the calling AWS account . Repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. For more information about the limits on repository names, see [Quotas](https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html) in the *AWS CodeCommit User Guide* . The suffix .git is prohibited.

- `tags`: [CfnTag](/cdk/api/v2/docs/aws-cdk-lib.CfnTag.html)[] — One or more tag key-value pairs to use when tagging this repository.

- `triggers`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnRepository.RepositoryTriggerProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_codecommit.CfnRepository.RepositoryTriggerProperty.html)[] — The JSON block of configuration information for each trigger.
