@jcoreio/aws-ecr-utils

Table of Contents
copyECRImage(options)
Copies an image between ECRs (potentially between accounts). Requires Docker to be installed and the docker command to be on your path.
Options
options.from.imageUri, options.to.imageUri (string, required)
The URIs of the source and destination ECR images
options.from.ecr, options.to.ecr (AWS.ECR, optional)
The ECR clients to use for the source and destination images
options.from.awsConfig, options.to.awsConfig (AWS.ConfigurationOptions, optional)
The AWS service options to use if options.from.ecr and options.to.ecr aren't provided
Returns (Promise<void>)
A promise that will resolve once the image has been pulled from the source repository and pushed to the destination repository.
ecrImageExists(options)
Determines if an ECR image exists.
Options
options.ecr (AWS.ECR, optional)
The ECR client to use
options.awsConfig (AWS.ConfigurationOptions, optional)
The AWS service options to use if options.ecr isn't provided
options.imageUri (string, optional)
The URI of the image to look for. You must provide either this or options.registryId,
options.repositoryName, or imageTag.
options.registryId (string, optional)
The ID of the ECR (same as your AWS account number?)
options.repositoryName (string, optional)
The name of the ECR repository
options.imageTag (string, optional)
The ECR image tag
Returns (Promise<boolean>)
A promise that will resolve to true if the image exists and false otherwise.
loginToECR(options)
Logs the local Docker client into the given ECR. Requires Docker to be installed and the docker command to be on your path.
Options
options.ecr (AWS.ECR, optional)
The ECR client to use
options.awsConfig (AWS.ConfigurationOptions, optional)
The AWS service options to use if options.ecr isn't provided
Returns (Promise<void>)
A promise that will resolve once logged in.
parseECRImageUri(imageUri)
Parses the given ECR image URI.
Options
imageUri (string, required)
The URI of the ECR image to parse.
Returns (object)
An object with the following properties:
{
registryId: string
region: string
repositoryName: string
imageTag: string
}
tagECRImage(options)
Adds additional tags to an existing ECR image.
Options
options.ecr (AWS.ECR, optional)
The ECR client to use
options.awsConfig (AWS.ConfigurationOptions, optional)
The AWS service options to use if options.ecr isn't provided
options.imageUri (string, required)
The URI of the ECR image to add tags to
options.tags (string[], required)
The tags to add to the ECR image
Returns (Promise<void>)
A promise that will resolve once the tags have been added.
upsertECRRepository(options)
Creates an ECR repository if it doesn't already exist.
Options
options.ecr (AWS.ECR, optional)
The ECR client to use
options.awsConfig (AWS.ConfigurationOptions, optional)
The AWS service options to use if options.ecr isn't provided
options.repositoryName (string, required)
The name of the repository to upsert
Returns (Promise<AWS.ECR.Repository>)
The found or created ECR repository