the-sett / elm-aws-elastic-containers / AWS.Ecr

Amazon Elastic Container Registry

Amazon Elastic Container Registry (Amazon ECR) is a managed Docker registry service. Customers can use the familiar Docker CLI to push, pull, and manage images. Amazon ECR provides a secure, scalable, and reliable registry. Amazon ECR supports private Docker repositories with resource-based permissions using IAM so that specific users or Amazon EC2 instances can access repositories and images. Developers can use the Docker CLI to author and manage images.

Service definition.

service : AWS.Config.Region -> AWS.Service.Service

Configuration for this service.

Service endpoints.

batchCheckLayerAvailability : BatchCheckLayerAvailabilityRequest -> AWS.Http.Request AWS.Http.AWSAppError BatchCheckLayerAvailabilityResponse

Check the availability of multiple image layers in a specified registry and repository.

This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

batchDeleteImage : BatchDeleteImageRequest -> AWS.Http.Request AWS.Http.AWSAppError BatchDeleteImageResponse

Deletes a list of specified images within a specified repository. Images are specified with either imageTag or imageDigest.

You can remove a tag from an image by specifying the image's tag in your request. When you remove the last tag from an image, the image is deleted from your repository.

You can completely delete an image (and all of its tags) by specifying the image's digest in your request.

batchGetImage : BatchGetImageRequest -> AWS.Http.Request AWS.Http.AWSAppError BatchGetImageResponse

Gets detailed information for specified images within a specified repository. Images are specified with either imageTag or imageDigest.

completeLayerUpload : CompleteLayerUploadRequest -> AWS.Http.Request AWS.Http.AWSAppError CompleteLayerUploadResponse

Informs Amazon ECR that the image layer upload has completed for a specified registry, repository name, and upload ID. You can optionally provide a sha256 digest of the image layer for data validation purposes.

This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

createRepository : CreateRepositoryRequest -> AWS.Http.Request AWS.Http.AWSAppError CreateRepositoryResponse

Creates an image repository.

deleteLifecyclePolicy : DeleteLifecyclePolicyRequest -> AWS.Http.Request AWS.Http.AWSAppError DeleteLifecyclePolicyResponse

Deletes the specified lifecycle policy.

deleteRepository : DeleteRepositoryRequest -> AWS.Http.Request AWS.Http.AWSAppError DeleteRepositoryResponse

Deletes an existing image repository. If a repository contains images, you must use the force option to delete it.

deleteRepositoryPolicy : DeleteRepositoryPolicyRequest -> AWS.Http.Request AWS.Http.AWSAppError DeleteRepositoryPolicyResponse

Deletes the repository policy from a specified repository.

describeImages : DescribeImagesRequest -> AWS.Http.Request AWS.Http.AWSAppError DescribeImagesResponse

Returns metadata about the images in a repository, including image size, image tags, and creation date.

Beginning with Docker version 1.9, the Docker client compresses image layers before pushing them to a V2 Docker registry. The output of the docker images command shows the uncompressed image size, so it may return a larger image size than the image sizes returned by DescribeImages.

describeRepositories : DescribeRepositoriesRequest -> AWS.Http.Request AWS.Http.AWSAppError DescribeRepositoriesResponse

Describes image repositories in a registry.

getAuthorizationToken : GetAuthorizationTokenRequest -> AWS.Http.Request AWS.Http.AWSAppError GetAuthorizationTokenResponse

Retrieves a token that is valid for a specified registry for 12 hours. This command allows you to use the docker CLI to push and pull images with Amazon ECR. If you do not specify a registry, the default registry is assumed.

The authorizationToken returned for each registry specified is a base64 encoded string that can be decoded and used in a docker login command to authenticate to a registry. The AWS CLI offers an aws ecr get-login command that simplifies the login process.

getDownloadUrlForLayer : GetDownloadUrlForLayerRequest -> AWS.Http.Request AWS.Http.AWSAppError GetDownloadUrlForLayerResponse

Retrieves the pre-signed Amazon S3 download URL corresponding to an image layer. You can only get URLs for image layers that are referenced in an image.

This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

getLifecyclePolicy : GetLifecyclePolicyRequest -> AWS.Http.Request AWS.Http.AWSAppError GetLifecyclePolicyResponse

Retrieves the specified lifecycle policy.

getLifecyclePolicyPreview : GetLifecyclePolicyPreviewRequest -> AWS.Http.Request AWS.Http.AWSAppError GetLifecyclePolicyPreviewResponse

Retrieves the results of the specified lifecycle policy preview request.

getRepositoryPolicy : GetRepositoryPolicyRequest -> AWS.Http.Request AWS.Http.AWSAppError GetRepositoryPolicyResponse

Retrieves the repository policy for a specified repository.

initiateLayerUpload : InitiateLayerUploadRequest -> AWS.Http.Request AWS.Http.AWSAppError InitiateLayerUploadResponse

Notify Amazon ECR that you intend to upload an image layer.

This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

listImages : ListImagesRequest -> AWS.Http.Request AWS.Http.AWSAppError ListImagesResponse

Lists all the image IDs for a given repository.

You can filter images based on whether or not they are tagged by setting the tagStatus parameter to TAGGED or UNTAGGED. For example, you can filter your results to return only UNTAGGED images and then pipe that result to a BatchDeleteImage operation to delete them. Or, you can filter your results to return only TAGGED images to list all of the tags in your repository.

listTagsForResource : ListTagsForResourceRequest -> AWS.Http.Request AWS.Http.AWSAppError ListTagsForResourceResponse

List the tags for an Amazon ECR resource.

putImage : PutImageRequest -> AWS.Http.Request AWS.Http.AWSAppError PutImageResponse

Creates or updates the image manifest and tags associated with an image.

This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

putImageTagMutability : PutImageTagMutabilityRequest -> AWS.Http.Request AWS.Http.AWSAppError PutImageTagMutabilityResponse

Updates the image tag mutability settings for a repository.

putLifecyclePolicy : PutLifecyclePolicyRequest -> AWS.Http.Request AWS.Http.AWSAppError PutLifecyclePolicyResponse

Creates or updates a lifecycle policy. For information about lifecycle policy syntax, see Lifecycle Policy Template.

setRepositoryPolicy : SetRepositoryPolicyRequest -> AWS.Http.Request AWS.Http.AWSAppError SetRepositoryPolicyResponse

Applies a repository policy on a specified repository to control access permissions. For more information, see Amazon ECR Repository Policies in the Amazon Elastic Container Registry User Guide.

startLifecyclePolicyPreview : StartLifecyclePolicyPreviewRequest -> AWS.Http.Request AWS.Http.AWSAppError StartLifecyclePolicyPreviewResponse

Starts a preview of the specified lifecycle policy. This allows you to see the results before creating the lifecycle policy.

tagResource : TagResourceRequest -> AWS.Http.Request AWS.Http.AWSAppError ()

Adds specified tags to a resource with the specified ARN. Existing tags on a resource are not changed if they are not specified in the request parameters.

untagResource : UntagResourceRequest -> AWS.Http.Request AWS.Http.AWSAppError ()

Deletes specified tags from a resource.

uploadLayerPart : UploadLayerPartRequest -> AWS.Http.Request AWS.Http.AWSAppError UploadLayerPartResponse

Uploads an image layer part to Amazon ECR.

This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

API data model.


type alias AuthorizationData =
{ authorizationToken : Maybe String
, expiresAt : Maybe String
, proxyEndpoint : Maybe String 
}

The AuthorizationData data model.


type alias AuthorizationDataList =
List AuthorizationData

The AuthorizationDataList data model.


type alias BatchCheckLayerAvailabilityRequest =
{ layerDigests : BatchedOperationLayerDigestList
, registryId : Maybe String
, repositoryName : String 
}

The BatchCheckLayerAvailabilityRequest data model.


type alias BatchCheckLayerAvailabilityResponse =
{ failures : Maybe LayerFailureList
, layers : Maybe LayerList 
}

The BatchCheckLayerAvailabilityResponse data model.


type alias BatchDeleteImageRequest =
{ imageIds : ImageIdentifierList
, registryId : Maybe String
, repositoryName : String 
}

The BatchDeleteImageRequest data model.


type alias BatchDeleteImageResponse =
{ failures : Maybe ImageFailureList
, imageIds : Maybe ImageIdentifierList 
}

The BatchDeleteImageResponse data model.


type alias BatchGetImageRequest =
{ acceptedMediaTypes : Maybe MediaTypeList
, imageIds : ImageIdentifierList
, registryId : Maybe String
, repositoryName : String 
}

The BatchGetImageRequest data model.


type alias BatchGetImageResponse =
{ failures : Maybe ImageFailureList
, images : Maybe ImageList 
}

The BatchGetImageResponse data model.


type alias BatchedOperationLayerDigestList =
List String

The BatchedOperationLayerDigestList data model.


type alias CompleteLayerUploadRequest =
{ layerDigests : LayerDigestList
, registryId : Maybe String
, repositoryName : String
, uploadId : String 
}

The CompleteLayerUploadRequest data model.


type alias CompleteLayerUploadResponse =
{ layerDigest : Maybe String
, registryId : Maybe String
, repositoryName : Maybe String
, uploadId : Maybe String 
}

The CompleteLayerUploadResponse data model.


type alias CreateRepositoryRequest =
{ imageTagMutability : Maybe ImageTagMutability
, repositoryName : String
, tags : Maybe TagList 
}

The CreateRepositoryRequest data model.


type alias CreateRepositoryResponse =
{ repository : Maybe Repository }

The CreateRepositoryResponse data model.


type alias DeleteLifecyclePolicyRequest =
{ registryId : Maybe String
, repositoryName : String 
}

The DeleteLifecyclePolicyRequest data model.


type alias DeleteLifecyclePolicyResponse =
{ lastEvaluatedAt : Maybe String
, lifecyclePolicyText : Maybe String
, registryId : Maybe String
, repositoryName : Maybe String 
}

The DeleteLifecyclePolicyResponse data model.


type alias DeleteRepositoryPolicyRequest =
{ registryId : Maybe String
, repositoryName : String 
}

The DeleteRepositoryPolicyRequest data model.


type alias DeleteRepositoryPolicyResponse =
{ policyText : Maybe String
, registryId : Maybe String
, repositoryName : Maybe String 
}

The DeleteRepositoryPolicyResponse data model.


type alias DeleteRepositoryRequest =
{ force : Maybe Basics.Bool
, registryId : Maybe String
, repositoryName : String 
}

The DeleteRepositoryRequest data model.


type alias DeleteRepositoryResponse =
{ repository : Maybe Repository }

The DeleteRepositoryResponse data model.


type alias DescribeImagesFilter =
{ tagStatus : Maybe TagStatus }

The DescribeImagesFilter data model.


type alias DescribeImagesRequest =
{ filter : Maybe DescribeImagesFilter
, imageIds : Maybe ImageIdentifierList
, maxResults : Maybe Basics.Int
, nextToken : Maybe String
, registryId : Maybe String
, repositoryName : String 
}

The DescribeImagesRequest data model.


type alias DescribeImagesResponse =
{ imageDetails : Maybe ImageDetailList
, nextToken : Maybe String 
}

The DescribeImagesResponse data model.


type alias DescribeRepositoriesRequest =
{ maxResults : Maybe Basics.Int
, nextToken : Maybe String
, registryId : Maybe String
, repositoryNames : Maybe RepositoryNameList 
}

The DescribeRepositoriesRequest data model.


type alias DescribeRepositoriesResponse =
{ nextToken : Maybe String
, repositories : Maybe RepositoryList 
}

The DescribeRepositoriesResponse data model.


type alias GetAuthorizationTokenRegistryIdList =
List String

The GetAuthorizationTokenRegistryIdList data model.


type alias GetAuthorizationTokenRequest =
{ registryIds : Maybe GetAuthorizationTokenRegistryIdList }

The GetAuthorizationTokenRequest data model.


type alias GetAuthorizationTokenResponse =
{ authorizationData : Maybe AuthorizationDataList }

The GetAuthorizationTokenResponse data model.


type alias GetDownloadUrlForLayerRequest =
{ layerDigest : String
, registryId : Maybe String
, repositoryName : String 
}

The GetDownloadUrlForLayerRequest data model.


type alias GetDownloadUrlForLayerResponse =
{ downloadUrl : Maybe String
, layerDigest : Maybe String 
}

The GetDownloadUrlForLayerResponse data model.


type alias GetLifecyclePolicyPreviewRequest =
{ filter : Maybe LifecyclePolicyPreviewFilter
, imageIds : Maybe ImageIdentifierList
, maxResults : Maybe Basics.Int
, nextToken : Maybe String
, registryId : Maybe String
, repositoryName : String 
}

The GetLifecyclePolicyPreviewRequest data model.


type alias GetLifecyclePolicyPreviewResponse =
{ lifecyclePolicyText : Maybe String
, nextToken : Maybe String
, previewResults : Maybe LifecyclePolicyPreviewResultList
, registryId : Maybe String
, repositoryName : Maybe String
, status : Maybe LifecyclePolicyPreviewStatus
, summary : Maybe LifecyclePolicyPreviewSummary 
}

The GetLifecyclePolicyPreviewResponse data model.


type alias GetLifecyclePolicyRequest =
{ registryId : Maybe String
, repositoryName : String 
}

The GetLifecyclePolicyRequest data model.


type alias GetLifecyclePolicyResponse =
{ lastEvaluatedAt : Maybe String
, lifecyclePolicyText : Maybe String
, registryId : Maybe String
, repositoryName : Maybe String 
}

The GetLifecyclePolicyResponse data model.


type alias GetRepositoryPolicyRequest =
{ registryId : Maybe String
, repositoryName : String 
}

The GetRepositoryPolicyRequest data model.


type alias GetRepositoryPolicyResponse =
{ policyText : Maybe String
, registryId : Maybe String
, repositoryName : Maybe String 
}

The GetRepositoryPolicyResponse data model.


type alias Image =
{ imageId : Maybe ImageIdentifier
, imageManifest : Maybe String
, registryId : Maybe String
, repositoryName : Maybe String 
}

The Image data model.


type ImageActionType
    = ImageActionTypeExpire

The ImageActionType data model.


type alias ImageDetail =
{ imageDigest : Maybe String
, imagePushedAt : Maybe String
, imageSizeInBytes : Maybe Basics.Int
, imageTags : Maybe ImageTagList
, registryId : Maybe String
, repositoryName : Maybe String 
}

The ImageDetail data model.


type alias ImageDetailList =
List ImageDetail

The ImageDetailList data model.


type alias ImageFailure =
{ failureCode : Maybe ImageFailureCode
, failureReason : Maybe String
, imageId : Maybe ImageIdentifier 
}

The ImageFailure data model.


type ImageFailureCode
    = ImageFailureCodeInvalidImageDigest
    | ImageFailureCodeInvalidImageTag
    | ImageFailureCodeImageTagDoesNotMatchDigest
    | ImageFailureCodeImageNotFound
    | ImageFailureCodeMissingDigestAndTag

The ImageFailureCode data model.


type alias ImageFailureList =
List ImageFailure

The ImageFailureList data model.


type alias ImageIdentifier =
{ imageDigest : Maybe String
, imageTag : Maybe String 
}

The ImageIdentifier data model.


type alias ImageIdentifierList =
List ImageIdentifier

The ImageIdentifierList data model.


type alias ImageList =
List Image

The ImageList data model.


type alias ImageTagList =
List String

The ImageTagList data model.


type ImageTagMutability
    = ImageTagMutabilityMutable
    | ImageTagMutabilityImmutable

The ImageTagMutability data model.


type alias InitiateLayerUploadRequest =
{ registryId : Maybe String
, repositoryName : String 
}

The InitiateLayerUploadRequest data model.


type alias InitiateLayerUploadResponse =
{ partSize : Maybe Basics.Int
, uploadId : Maybe String 
}

The InitiateLayerUploadResponse data model.


type alias Layer =
{ layerAvailability : Maybe LayerAvailability
, layerDigest : Maybe String
, layerSize : Maybe Basics.Int
, mediaType : Maybe String 
}

The Layer data model.


type LayerAvailability
    = LayerAvailabilityAvailable
    | LayerAvailabilityUnavailable

The LayerAvailability data model.


type alias LayerDigestList =
List String

The LayerDigestList data model.


type alias LayerFailure =
{ failureCode : Maybe LayerFailureCode
, failureReason : Maybe String
, layerDigest : Maybe String 
}

The LayerFailure data model.


type LayerFailureCode
    = LayerFailureCodeInvalidLayerDigest
    | LayerFailureCodeMissingLayerDigest

The LayerFailureCode data model.


type alias LayerFailureList =
List LayerFailure

The LayerFailureList data model.


type alias LayerList =
List Layer

The LayerList data model.


type alias LifecyclePolicyPreviewFilter =
{ tagStatus : Maybe TagStatus }

The LifecyclePolicyPreviewFilter data model.


type alias LifecyclePolicyPreviewResult =
{ action : Maybe LifecyclePolicyRuleAction
, appliedRulePriority : Maybe Basics.Int
, imageDigest : Maybe String
, imagePushedAt : Maybe String
, imageTags : Maybe ImageTagList 
}

The LifecyclePolicyPreviewResult data model.


type alias LifecyclePolicyPreviewResultList =
List LifecyclePolicyPreviewResult

The LifecyclePolicyPreviewResultList data model.


type LifecyclePolicyPreviewStatus
    = LifecyclePolicyPreviewStatusInProgress
    | LifecyclePolicyPreviewStatusComplete
    | LifecyclePolicyPreviewStatusExpired
    | LifecyclePolicyPreviewStatusFailed

The LifecyclePolicyPreviewStatus data model.


type alias LifecyclePolicyPreviewSummary =
{ expiringImageTotalCount : Maybe Basics.Int }

The LifecyclePolicyPreviewSummary data model.


type alias LifecyclePolicyRuleAction =
{ type_ : Maybe ImageActionType }

The LifecyclePolicyRuleAction data model.


type alias ListImagesFilter =
{ tagStatus : Maybe TagStatus }

The ListImagesFilter data model.


type alias ListImagesRequest =
{ filter : Maybe ListImagesFilter
, maxResults : Maybe Basics.Int
, nextToken : Maybe String
, registryId : Maybe String
, repositoryName : String 
}

The ListImagesRequest data model.


type alias ListImagesResponse =
{ imageIds : Maybe ImageIdentifierList
, nextToken : Maybe String 
}

The ListImagesResponse data model.


type alias ListTagsForResourceRequest =
{ resourceArn : String }

The ListTagsForResourceRequest data model.


type alias ListTagsForResourceResponse =
{ tags : Maybe TagList }

The ListTagsForResourceResponse data model.


type alias MediaTypeList =
List String

The MediaTypeList data model.


type alias PutImageRequest =
{ imageManifest : String
, imageTag : Maybe String
, registryId : Maybe String
, repositoryName : String 
}

The PutImageRequest data model.


type alias PutImageResponse =
{ image : Maybe Image }

The PutImageResponse data model.


type alias PutImageTagMutabilityRequest =
{ imageTagMutability : ImageTagMutability
, registryId : Maybe String
, repositoryName : String 
}

The PutImageTagMutabilityRequest data model.


type alias PutImageTagMutabilityResponse =
{ imageTagMutability : Maybe ImageTagMutability
, registryId : Maybe String
, repositoryName : Maybe String 
}

The PutImageTagMutabilityResponse data model.


type alias PutLifecyclePolicyRequest =
{ lifecyclePolicyText : String
, registryId : Maybe String
, repositoryName : String 
}

The PutLifecyclePolicyRequest data model.


type alias PutLifecyclePolicyResponse =
{ lifecyclePolicyText : Maybe String
, registryId : Maybe String
, repositoryName : Maybe String 
}

The PutLifecyclePolicyResponse data model.


type alias Repository =
{ createdAt : Maybe String
, imageTagMutability : Maybe ImageTagMutability
, registryId : Maybe String
, repositoryArn : Maybe String
, repositoryName : Maybe String
, repositoryUri : Maybe String 
}

The Repository data model.


type alias RepositoryList =
List Repository

The RepositoryList data model.


type alias RepositoryNameList =
List String

The RepositoryNameList data model.


type alias SetRepositoryPolicyRequest =
{ force : Maybe Basics.Bool
, policyText : String
, registryId : Maybe String
, repositoryName : String 
}

The SetRepositoryPolicyRequest data model.


type alias SetRepositoryPolicyResponse =
{ policyText : Maybe String
, registryId : Maybe String
, repositoryName : Maybe String 
}

The SetRepositoryPolicyResponse data model.


type alias StartLifecyclePolicyPreviewRequest =
{ lifecyclePolicyText : Maybe String
, registryId : Maybe String
, repositoryName : String 
}

The StartLifecyclePolicyPreviewRequest data model.


type alias StartLifecyclePolicyPreviewResponse =
{ lifecyclePolicyText : Maybe String
, registryId : Maybe String
, repositoryName : Maybe String
, status : Maybe LifecyclePolicyPreviewStatus 
}

The StartLifecyclePolicyPreviewResponse data model.


type alias Tag =
{ key : Maybe String
, value : Maybe String 
}

The Tag data model.


type alias TagKeyList =
List String

The TagKeyList data model.


type alias TagList =
List Tag

The TagList data model.


type alias TagResourceRequest =
{ resourceArn : String
, tags : TagList 
}

The TagResourceRequest data model.


type alias TagResourceResponse =
{}

The TagResourceResponse data model.


type TagStatus
    = TagStatusTagged
    | TagStatusUntagged
    | TagStatusAny

The TagStatus data model.


type alias UntagResourceRequest =
{ resourceArn : String
, tagKeys : TagKeyList 
}

The UntagResourceRequest data model.


type alias UntagResourceResponse =
{}

The UntagResourceResponse data model.


type alias UploadLayerPartRequest =
{ layerPartBlob : String
, partFirstByte : Basics.Int
, partLastByte : Basics.Int
, registryId : Maybe String
, repositoryName : String
, uploadId : String 
}

The UploadLayerPartRequest data model.


type alias UploadLayerPartResponse =
{ lastByteReceived : Maybe Basics.Int
, registryId : Maybe String
, repositoryName : Maybe String
, uploadId : Maybe String 
}

The UploadLayerPartResponse data model.

imageActionType : Enum ImageActionType

The ImageActionType data model.

imageFailureCode : Enum ImageFailureCode

The ImageFailureCode data model.

imageTagMutability : Enum ImageTagMutability

The ImageTagMutability data model.

layerAvailability : Enum LayerAvailability

The LayerAvailability data model.

layerFailureCode : Enum LayerFailureCode

The LayerFailureCode data model.

lifecyclePolicyPreviewStatus : Enum LifecyclePolicyPreviewStatus

The LifecyclePolicyPreviewStatus data model.

tagStatus : Enum TagStatus

The TagStatus data model.