# API Reference
**Classes**
Name|Description
----|-----------
[DockerImageName](#cdk-ecr-deployment-dockerimagename)|*No description*
[ECRDeployment](#cdk-ecr-deployment-ecrdeployment)|*No description*
[S3ArchiveName](#cdk-ecr-deployment-s3archivename)|*No description*
**Structs**
Name|Description
----|-----------
[ECRDeploymentProps](#cdk-ecr-deployment-ecrdeploymentprops)|*No description*
**Interfaces**
Name|Description
----|-----------
[IImageName](#cdk-ecr-deployment-iimagename)|*No description*
## class DockerImageName
__Implements__: [IImageName](#cdk-ecr-deployment-iimagename)
### Initializer
```ts
new DockerImageName(name: string, creds?: string)
```
* **name** (string) *No description*
* **creds** (string) The credentials of the docker image.
### Properties
Name | Type | Description
-----|------|-------------
**uri** | string | The uri of the docker image.
**creds**? | string | The credentials of the docker image.
__*Optional*__
## class ECRDeployment
__Implements__: [IConstruct](#constructs-iconstruct), [IDependable](#constructs-idependable)
__Extends__: [Construct](#constructs-construct)
### Initializer
```ts
new ECRDeployment(scope: Construct, id: string, props: ECRDeploymentProps)
```
* **scope** ([Construct](#constructs-construct)) *No description*
* **id** (string) *No description*
* **props** ([ECRDeploymentProps](#cdk-ecr-deployment-ecrdeploymentprops)) *No description*
* **dest** ([IImageName](#cdk-ecr-deployment-iimagename)) The destination of the docker image.
* **src** ([IImageName](#cdk-ecr-deployment-iimagename)) The source of the docker image.
* **buildImage** (string) Image to use to build Golang lambda for custom resource, if download fails or is not wanted. __*Default*__: public.ecr.aws/sam/build-go1.x:latest
* **environment** (Map) The environment variable to set. __*Optional*__
* **memoryLimit** (number) The amount of memory (in MiB) to allocate to the AWS Lambda function which replicates the files from the CDK bucket to the destination bucket. __*Default*__: 512
* **role** ([aws_iam.IRole](#aws-cdk-lib-aws-iam-irole)) Execution role associated with this function. __*Default*__: A role is automatically created
* **vpc** ([aws_ec2.IVpc](#aws-cdk-lib-aws-ec2-ivpc)) The VPC network to place the deployment lambda handler in. __*Default*__: None
* **vpcSubnets** ([aws_ec2.SubnetSelection](#aws-cdk-lib-aws-ec2-subnetselection)) Where in the VPC to place the deployment lambda handler. __*Default*__: the Vpc default strategy if not specified
### Methods
#### addToPrincipalPolicy(statement)
```ts
addToPrincipalPolicy(statement: PolicyStatement): AddToPrincipalPolicyResult
```
* **statement** ([aws_iam.PolicyStatement](#aws-cdk-lib-aws-iam-policystatement)) *No description*
__Returns__:
* [aws_iam.AddToPrincipalPolicyResult](#aws-cdk-lib-aws-iam-addtoprincipalpolicyresult)
## class S3ArchiveName
__Implements__: [IImageName](#cdk-ecr-deployment-iimagename)
### Initializer
```ts
new S3ArchiveName(p: string, ref?: string, creds?: string)
```
* **p** (string) *No description*
* **ref** (string) *No description*
* **creds** (string) The credentials of the docker image.
### Properties
Name | Type | Description
-----|------|-------------
**uri** | string | The uri of the docker image.
**creds**? | string | The credentials of the docker image.
__*Optional*__
## struct ECRDeploymentProps
Name | Type | Description
-----|------|-------------
**dest** | [IImageName](#cdk-ecr-deployment-iimagename) | The destination of the docker image.
**src** | [IImageName](#cdk-ecr-deployment-iimagename) | The source of the docker image.
**buildImage**? | string | Image to use to build Golang lambda for custom resource, if download fails or is not wanted.
__*Default*__: public.ecr.aws/sam/build-go1.x:latest
**environment**? | Map | The environment variable to set.
__*Optional*__
**memoryLimit**? | number | The amount of memory (in MiB) to allocate to the AWS Lambda function which replicates the files from the CDK bucket to the destination bucket.
__*Default*__: 512
**role**? | [aws_iam.IRole](#aws-cdk-lib-aws-iam-irole) | Execution role associated with this function.
__*Default*__: A role is automatically created
**vpc**? | [aws_ec2.IVpc](#aws-cdk-lib-aws-ec2-ivpc) | The VPC network to place the deployment lambda handler in.
__*Default*__: None
**vpcSubnets**? | [aws_ec2.SubnetSelection](#aws-cdk-lib-aws-ec2-subnetselection) | Where in the VPC to place the deployment lambda handler.
__*Default*__: the Vpc default strategy if not specified
## interface IImageName
__Implemented by__: [DockerImageName](#cdk-ecr-deployment-dockerimagename), [S3ArchiveName](#cdk-ecr-deployment-s3archivename)
### Properties
Name | Type | Description
-----|------|-------------
**uri** | string | The uri of the docker image.
**creds**? | string | The credentials of the docker image.
__*Optional*__