# 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*__