UNPKG

68.1 kBTypeScriptView Raw
1import {Request} from '../lib/request';
2import {Response} from '../lib/response';
3import {AWSError} from '../lib/error';
4import {Service} from '../lib/service';
5import {ServiceConfigurationOptions} from '../lib/service';
6import {ConfigBase as Config} from '../lib/config';
7interface Blob {}
8declare class ECR extends Service {
9 /**
10 * Constructs a service object. This object has one method for each API operation.
11 */
12 constructor(options?: ECR.Types.ClientConfiguration)
13 config: Config & ECR.Types.ClientConfiguration;
14 /**
15 * 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.
16 */
17 batchCheckLayerAvailability(params: ECR.Types.BatchCheckLayerAvailabilityRequest, callback?: (err: AWSError, data: ECR.Types.BatchCheckLayerAvailabilityResponse) => void): Request<ECR.Types.BatchCheckLayerAvailabilityResponse, AWSError>;
18 /**
19 * 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.
20 */
21 batchCheckLayerAvailability(callback?: (err: AWSError, data: ECR.Types.BatchCheckLayerAvailabilityResponse) => void): Request<ECR.Types.BatchCheckLayerAvailabilityResponse, AWSError>;
22 /**
23 * 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.
24 */
25 batchDeleteImage(params: ECR.Types.BatchDeleteImageRequest, callback?: (err: AWSError, data: ECR.Types.BatchDeleteImageResponse) => void): Request<ECR.Types.BatchDeleteImageResponse, AWSError>;
26 /**
27 * 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.
28 */
29 batchDeleteImage(callback?: (err: AWSError, data: ECR.Types.BatchDeleteImageResponse) => void): Request<ECR.Types.BatchDeleteImageResponse, AWSError>;
30 /**
31 * Gets detailed information for specified images within a specified repository. Images are specified with either imageTag or imageDigest.
32 */
33 batchGetImage(params: ECR.Types.BatchGetImageRequest, callback?: (err: AWSError, data: ECR.Types.BatchGetImageResponse) => void): Request<ECR.Types.BatchGetImageResponse, AWSError>;
34 /**
35 * Gets detailed information for specified images within a specified repository. Images are specified with either imageTag or imageDigest.
36 */
37 batchGetImage(callback?: (err: AWSError, data: ECR.Types.BatchGetImageResponse) => void): Request<ECR.Types.BatchGetImageResponse, AWSError>;
38 /**
39 * 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.
40 */
41 completeLayerUpload(params: ECR.Types.CompleteLayerUploadRequest, callback?: (err: AWSError, data: ECR.Types.CompleteLayerUploadResponse) => void): Request<ECR.Types.CompleteLayerUploadResponse, AWSError>;
42 /**
43 * 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.
44 */
45 completeLayerUpload(callback?: (err: AWSError, data: ECR.Types.CompleteLayerUploadResponse) => void): Request<ECR.Types.CompleteLayerUploadResponse, AWSError>;
46 /**
47 * Creates an Amazon Elastic Container Registry (Amazon ECR) repository, where users can push and pull Docker images. For more information, see Amazon ECR Repositories in the Amazon Elastic Container Registry User Guide.
48 */
49 createRepository(params: ECR.Types.CreateRepositoryRequest, callback?: (err: AWSError, data: ECR.Types.CreateRepositoryResponse) => void): Request<ECR.Types.CreateRepositoryResponse, AWSError>;
50 /**
51 * Creates an Amazon Elastic Container Registry (Amazon ECR) repository, where users can push and pull Docker images. For more information, see Amazon ECR Repositories in the Amazon Elastic Container Registry User Guide.
52 */
53 createRepository(callback?: (err: AWSError, data: ECR.Types.CreateRepositoryResponse) => void): Request<ECR.Types.CreateRepositoryResponse, AWSError>;
54 /**
55 * Deletes the specified lifecycle policy.
56 */
57 deleteLifecyclePolicy(params: ECR.Types.DeleteLifecyclePolicyRequest, callback?: (err: AWSError, data: ECR.Types.DeleteLifecyclePolicyResponse) => void): Request<ECR.Types.DeleteLifecyclePolicyResponse, AWSError>;
58 /**
59 * Deletes the specified lifecycle policy.
60 */
61 deleteLifecyclePolicy(callback?: (err: AWSError, data: ECR.Types.DeleteLifecyclePolicyResponse) => void): Request<ECR.Types.DeleteLifecyclePolicyResponse, AWSError>;
62 /**
63 * Deletes an existing image repository. If a repository contains images, you must use the force option to delete it.
64 */
65 deleteRepository(params: ECR.Types.DeleteRepositoryRequest, callback?: (err: AWSError, data: ECR.Types.DeleteRepositoryResponse) => void): Request<ECR.Types.DeleteRepositoryResponse, AWSError>;
66 /**
67 * Deletes an existing image repository. If a repository contains images, you must use the force option to delete it.
68 */
69 deleteRepository(callback?: (err: AWSError, data: ECR.Types.DeleteRepositoryResponse) => void): Request<ECR.Types.DeleteRepositoryResponse, AWSError>;
70 /**
71 * Deletes the repository policy from a specified repository.
72 */
73 deleteRepositoryPolicy(params: ECR.Types.DeleteRepositoryPolicyRequest, callback?: (err: AWSError, data: ECR.Types.DeleteRepositoryPolicyResponse) => void): Request<ECR.Types.DeleteRepositoryPolicyResponse, AWSError>;
74 /**
75 * Deletes the repository policy from a specified repository.
76 */
77 deleteRepositoryPolicy(callback?: (err: AWSError, data: ECR.Types.DeleteRepositoryPolicyResponse) => void): Request<ECR.Types.DeleteRepositoryPolicyResponse, AWSError>;
78 /**
79 * Describes the image scan findings for the specified image.
80 */
81 describeImageScanFindings(params: ECR.Types.DescribeImageScanFindingsRequest, callback?: (err: AWSError, data: ECR.Types.DescribeImageScanFindingsResponse) => void): Request<ECR.Types.DescribeImageScanFindingsResponse, AWSError>;
82 /**
83 * Describes the image scan findings for the specified image.
84 */
85 describeImageScanFindings(callback?: (err: AWSError, data: ECR.Types.DescribeImageScanFindingsResponse) => void): Request<ECR.Types.DescribeImageScanFindingsResponse, AWSError>;
86 /**
87 * 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.
88 */
89 describeImages(params: ECR.Types.DescribeImagesRequest, callback?: (err: AWSError, data: ECR.Types.DescribeImagesResponse) => void): Request<ECR.Types.DescribeImagesResponse, AWSError>;
90 /**
91 * 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.
92 */
93 describeImages(callback?: (err: AWSError, data: ECR.Types.DescribeImagesResponse) => void): Request<ECR.Types.DescribeImagesResponse, AWSError>;
94 /**
95 * Describes image repositories in a registry.
96 */
97 describeRepositories(params: ECR.Types.DescribeRepositoriesRequest, callback?: (err: AWSError, data: ECR.Types.DescribeRepositoriesResponse) => void): Request<ECR.Types.DescribeRepositoriesResponse, AWSError>;
98 /**
99 * Describes image repositories in a registry.
100 */
101 describeRepositories(callback?: (err: AWSError, data: ECR.Types.DescribeRepositoriesResponse) => void): Request<ECR.Types.DescribeRepositoriesResponse, AWSError>;
102 /**
103 * 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.
104 */
105 getAuthorizationToken(params: ECR.Types.GetAuthorizationTokenRequest, callback?: (err: AWSError, data: ECR.Types.GetAuthorizationTokenResponse) => void): Request<ECR.Types.GetAuthorizationTokenResponse, AWSError>;
106 /**
107 * 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.
108 */
109 getAuthorizationToken(callback?: (err: AWSError, data: ECR.Types.GetAuthorizationTokenResponse) => void): Request<ECR.Types.GetAuthorizationTokenResponse, AWSError>;
110 /**
111 * 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.
112 */
113 getDownloadUrlForLayer(params: ECR.Types.GetDownloadUrlForLayerRequest, callback?: (err: AWSError, data: ECR.Types.GetDownloadUrlForLayerResponse) => void): Request<ECR.Types.GetDownloadUrlForLayerResponse, AWSError>;
114 /**
115 * 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.
116 */
117 getDownloadUrlForLayer(callback?: (err: AWSError, data: ECR.Types.GetDownloadUrlForLayerResponse) => void): Request<ECR.Types.GetDownloadUrlForLayerResponse, AWSError>;
118 /**
119 * Retrieves the specified lifecycle policy.
120 */
121 getLifecyclePolicy(params: ECR.Types.GetLifecyclePolicyRequest, callback?: (err: AWSError, data: ECR.Types.GetLifecyclePolicyResponse) => void): Request<ECR.Types.GetLifecyclePolicyResponse, AWSError>;
122 /**
123 * Retrieves the specified lifecycle policy.
124 */
125 getLifecyclePolicy(callback?: (err: AWSError, data: ECR.Types.GetLifecyclePolicyResponse) => void): Request<ECR.Types.GetLifecyclePolicyResponse, AWSError>;
126 /**
127 * Retrieves the results of the specified lifecycle policy preview request.
128 */
129 getLifecyclePolicyPreview(params: ECR.Types.GetLifecyclePolicyPreviewRequest, callback?: (err: AWSError, data: ECR.Types.GetLifecyclePolicyPreviewResponse) => void): Request<ECR.Types.GetLifecyclePolicyPreviewResponse, AWSError>;
130 /**
131 * Retrieves the results of the specified lifecycle policy preview request.
132 */
133 getLifecyclePolicyPreview(callback?: (err: AWSError, data: ECR.Types.GetLifecyclePolicyPreviewResponse) => void): Request<ECR.Types.GetLifecyclePolicyPreviewResponse, AWSError>;
134 /**
135 * Retrieves the repository policy for a specified repository.
136 */
137 getRepositoryPolicy(params: ECR.Types.GetRepositoryPolicyRequest, callback?: (err: AWSError, data: ECR.Types.GetRepositoryPolicyResponse) => void): Request<ECR.Types.GetRepositoryPolicyResponse, AWSError>;
138 /**
139 * Retrieves the repository policy for a specified repository.
140 */
141 getRepositoryPolicy(callback?: (err: AWSError, data: ECR.Types.GetRepositoryPolicyResponse) => void): Request<ECR.Types.GetRepositoryPolicyResponse, AWSError>;
142 /**
143 * 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.
144 */
145 initiateLayerUpload(params: ECR.Types.InitiateLayerUploadRequest, callback?: (err: AWSError, data: ECR.Types.InitiateLayerUploadResponse) => void): Request<ECR.Types.InitiateLayerUploadResponse, AWSError>;
146 /**
147 * 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.
148 */
149 initiateLayerUpload(callback?: (err: AWSError, data: ECR.Types.InitiateLayerUploadResponse) => void): Request<ECR.Types.InitiateLayerUploadResponse, AWSError>;
150 /**
151 * 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.
152 */
153 listImages(params: ECR.Types.ListImagesRequest, callback?: (err: AWSError, data: ECR.Types.ListImagesResponse) => void): Request<ECR.Types.ListImagesResponse, AWSError>;
154 /**
155 * 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.
156 */
157 listImages(callback?: (err: AWSError, data: ECR.Types.ListImagesResponse) => void): Request<ECR.Types.ListImagesResponse, AWSError>;
158 /**
159 * List the tags for an Amazon ECR resource.
160 */
161 listTagsForResource(params: ECR.Types.ListTagsForResourceRequest, callback?: (err: AWSError, data: ECR.Types.ListTagsForResourceResponse) => void): Request<ECR.Types.ListTagsForResourceResponse, AWSError>;
162 /**
163 * List the tags for an Amazon ECR resource.
164 */
165 listTagsForResource(callback?: (err: AWSError, data: ECR.Types.ListTagsForResourceResponse) => void): Request<ECR.Types.ListTagsForResourceResponse, AWSError>;
166 /**
167 * 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.
168 */
169 putImage(params: ECR.Types.PutImageRequest, callback?: (err: AWSError, data: ECR.Types.PutImageResponse) => void): Request<ECR.Types.PutImageResponse, AWSError>;
170 /**
171 * 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.
172 */
173 putImage(callback?: (err: AWSError, data: ECR.Types.PutImageResponse) => void): Request<ECR.Types.PutImageResponse, AWSError>;
174 /**
175 * Updates the image scanning configuration for a repository.
176 */
177 putImageScanningConfiguration(params: ECR.Types.PutImageScanningConfigurationRequest, callback?: (err: AWSError, data: ECR.Types.PutImageScanningConfigurationResponse) => void): Request<ECR.Types.PutImageScanningConfigurationResponse, AWSError>;
178 /**
179 * Updates the image scanning configuration for a repository.
180 */
181 putImageScanningConfiguration(callback?: (err: AWSError, data: ECR.Types.PutImageScanningConfigurationResponse) => void): Request<ECR.Types.PutImageScanningConfigurationResponse, AWSError>;
182 /**
183 * Updates the image tag mutability settings for a repository.
184 */
185 putImageTagMutability(params: ECR.Types.PutImageTagMutabilityRequest, callback?: (err: AWSError, data: ECR.Types.PutImageTagMutabilityResponse) => void): Request<ECR.Types.PutImageTagMutabilityResponse, AWSError>;
186 /**
187 * Updates the image tag mutability settings for a repository.
188 */
189 putImageTagMutability(callback?: (err: AWSError, data: ECR.Types.PutImageTagMutabilityResponse) => void): Request<ECR.Types.PutImageTagMutabilityResponse, AWSError>;
190 /**
191 * Creates or updates a lifecycle policy. For information about lifecycle policy syntax, see Lifecycle Policy Template.
192 */
193 putLifecyclePolicy(params: ECR.Types.PutLifecyclePolicyRequest, callback?: (err: AWSError, data: ECR.Types.PutLifecyclePolicyResponse) => void): Request<ECR.Types.PutLifecyclePolicyResponse, AWSError>;
194 /**
195 * Creates or updates a lifecycle policy. For information about lifecycle policy syntax, see Lifecycle Policy Template.
196 */
197 putLifecyclePolicy(callback?: (err: AWSError, data: ECR.Types.PutLifecyclePolicyResponse) => void): Request<ECR.Types.PutLifecyclePolicyResponse, AWSError>;
198 /**
199 * 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.
200 */
201 setRepositoryPolicy(params: ECR.Types.SetRepositoryPolicyRequest, callback?: (err: AWSError, data: ECR.Types.SetRepositoryPolicyResponse) => void): Request<ECR.Types.SetRepositoryPolicyResponse, AWSError>;
202 /**
203 * 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.
204 */
205 setRepositoryPolicy(callback?: (err: AWSError, data: ECR.Types.SetRepositoryPolicyResponse) => void): Request<ECR.Types.SetRepositoryPolicyResponse, AWSError>;
206 /**
207 * Starts an image vulnerability scan.
208 */
209 startImageScan(params: ECR.Types.StartImageScanRequest, callback?: (err: AWSError, data: ECR.Types.StartImageScanResponse) => void): Request<ECR.Types.StartImageScanResponse, AWSError>;
210 /**
211 * Starts an image vulnerability scan.
212 */
213 startImageScan(callback?: (err: AWSError, data: ECR.Types.StartImageScanResponse) => void): Request<ECR.Types.StartImageScanResponse, AWSError>;
214 /**
215 * Starts a preview of the specified lifecycle policy. This allows you to see the results before creating the lifecycle policy.
216 */
217 startLifecyclePolicyPreview(params: ECR.Types.StartLifecyclePolicyPreviewRequest, callback?: (err: AWSError, data: ECR.Types.StartLifecyclePolicyPreviewResponse) => void): Request<ECR.Types.StartLifecyclePolicyPreviewResponse, AWSError>;
218 /**
219 * Starts a preview of the specified lifecycle policy. This allows you to see the results before creating the lifecycle policy.
220 */
221 startLifecyclePolicyPreview(callback?: (err: AWSError, data: ECR.Types.StartLifecyclePolicyPreviewResponse) => void): Request<ECR.Types.StartLifecyclePolicyPreviewResponse, AWSError>;
222 /**
223 * 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.
224 */
225 tagResource(params: ECR.Types.TagResourceRequest, callback?: (err: AWSError, data: ECR.Types.TagResourceResponse) => void): Request<ECR.Types.TagResourceResponse, AWSError>;
226 /**
227 * 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.
228 */
229 tagResource(callback?: (err: AWSError, data: ECR.Types.TagResourceResponse) => void): Request<ECR.Types.TagResourceResponse, AWSError>;
230 /**
231 * Deletes specified tags from a resource.
232 */
233 untagResource(params: ECR.Types.UntagResourceRequest, callback?: (err: AWSError, data: ECR.Types.UntagResourceResponse) => void): Request<ECR.Types.UntagResourceResponse, AWSError>;
234 /**
235 * Deletes specified tags from a resource.
236 */
237 untagResource(callback?: (err: AWSError, data: ECR.Types.UntagResourceResponse) => void): Request<ECR.Types.UntagResourceResponse, AWSError>;
238 /**
239 * 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.
240 */
241 uploadLayerPart(params: ECR.Types.UploadLayerPartRequest, callback?: (err: AWSError, data: ECR.Types.UploadLayerPartResponse) => void): Request<ECR.Types.UploadLayerPartResponse, AWSError>;
242 /**
243 * 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.
244 */
245 uploadLayerPart(callback?: (err: AWSError, data: ECR.Types.UploadLayerPartResponse) => void): Request<ECR.Types.UploadLayerPartResponse, AWSError>;
246}
247declare namespace ECR {
248 export type Arn = string;
249 export interface Attribute {
250 /**
251 * The attribute key.
252 */
253 key: AttributeKey;
254 /**
255 * The value assigned to the attribute key.
256 */
257 value?: AttributeValue;
258 }
259 export type AttributeKey = string;
260 export type AttributeList = Attribute[];
261 export type AttributeValue = string;
262 export interface AuthorizationData {
263 /**
264 * A base64-encoded string that contains authorization data for the specified Amazon ECR registry. When the string is decoded, it is presented in the format user:password for private registry authentication using docker login.
265 */
266 authorizationToken?: Base64;
267 /**
268 * The Unix time in seconds and milliseconds when the authorization token expires. Authorization tokens are valid for 12 hours.
269 */
270 expiresAt?: ExpirationTimestamp;
271 /**
272 * The registry URL to use for this authorization token in a docker login command. The Amazon ECR registry URL format is https://aws_account_id.dkr.ecr.region.amazonaws.com. For example, https://012345678910.dkr.ecr.us-east-1.amazonaws.com..
273 */
274 proxyEndpoint?: ProxyEndpoint;
275 }
276 export type AuthorizationDataList = AuthorizationData[];
277 export type Base64 = string;
278 export interface BatchCheckLayerAvailabilityRequest {
279 /**
280 * The AWS account ID associated with the registry that contains the image layers to check. If you do not specify a registry, the default registry is assumed.
281 */
282 registryId?: RegistryId;
283 /**
284 * The name of the repository that is associated with the image layers to check.
285 */
286 repositoryName: RepositoryName;
287 /**
288 * The digests of the image layers to check.
289 */
290 layerDigests: BatchedOperationLayerDigestList;
291 }
292 export interface BatchCheckLayerAvailabilityResponse {
293 /**
294 * A list of image layer objects corresponding to the image layer references in the request.
295 */
296 layers?: LayerList;
297 /**
298 * Any failures associated with the call.
299 */
300 failures?: LayerFailureList;
301 }
302 export interface BatchDeleteImageRequest {
303 /**
304 * The AWS account ID associated with the registry that contains the image to delete. If you do not specify a registry, the default registry is assumed.
305 */
306 registryId?: RegistryId;
307 /**
308 * The repository that contains the image to delete.
309 */
310 repositoryName: RepositoryName;
311 /**
312 * A list of image ID references that correspond to images to delete. The format of the imageIds reference is imageTag=tag or imageDigest=digest.
313 */
314 imageIds: ImageIdentifierList;
315 }
316 export interface BatchDeleteImageResponse {
317 /**
318 * The image IDs of the deleted images.
319 */
320 imageIds?: ImageIdentifierList;
321 /**
322 * Any failures associated with the call.
323 */
324 failures?: ImageFailureList;
325 }
326 export interface BatchGetImageRequest {
327 /**
328 * The AWS account ID associated with the registry that contains the images to describe. If you do not specify a registry, the default registry is assumed.
329 */
330 registryId?: RegistryId;
331 /**
332 * The repository that contains the images to describe.
333 */
334 repositoryName: RepositoryName;
335 /**
336 * A list of image ID references that correspond to images to describe. The format of the imageIds reference is imageTag=tag or imageDigest=digest.
337 */
338 imageIds: ImageIdentifierList;
339 /**
340 * The accepted media types for the request. Valid values: application/vnd.docker.distribution.manifest.v1+json | application/vnd.docker.distribution.manifest.v2+json | application/vnd.oci.image.manifest.v1+json
341 */
342 acceptedMediaTypes?: MediaTypeList;
343 }
344 export interface BatchGetImageResponse {
345 /**
346 * A list of image objects corresponding to the image references in the request.
347 */
348 images?: ImageList;
349 /**
350 * Any failures associated with the call.
351 */
352 failures?: ImageFailureList;
353 }
354 export type BatchedOperationLayerDigest = string;
355 export type BatchedOperationLayerDigestList = BatchedOperationLayerDigest[];
356 export interface CompleteLayerUploadRequest {
357 /**
358 * The AWS account ID associated with the registry to which to upload layers. If you do not specify a registry, the default registry is assumed.
359 */
360 registryId?: RegistryId;
361 /**
362 * The name of the repository to associate with the image layer.
363 */
364 repositoryName: RepositoryName;
365 /**
366 * The upload ID from a previous InitiateLayerUpload operation to associate with the image layer.
367 */
368 uploadId: UploadId;
369 /**
370 * The sha256 digest of the image layer.
371 */
372 layerDigests: LayerDigestList;
373 }
374 export interface CompleteLayerUploadResponse {
375 /**
376 * The registry ID associated with the request.
377 */
378 registryId?: RegistryId;
379 /**
380 * The repository name associated with the request.
381 */
382 repositoryName?: RepositoryName;
383 /**
384 * The upload ID associated with the layer.
385 */
386 uploadId?: UploadId;
387 /**
388 * The sha256 digest of the image layer.
389 */
390 layerDigest?: LayerDigest;
391 }
392 export interface CreateRepositoryRequest {
393 /**
394 * The name to use for the repository. The repository name may be specified on its own (such as nginx-web-app) or it can be prepended with a namespace to group the repository into a category (such as project-a/nginx-web-app).
395 */
396 repositoryName: RepositoryName;
397 /**
398 * The metadata that you apply to the repository to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
399 */
400 tags?: TagList;
401 /**
402 * The tag mutability setting for the repository. If this parameter is omitted, the default setting of MUTABLE will be used which will allow image tags to be overwritten. If IMMUTABLE is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.
403 */
404 imageTagMutability?: ImageTagMutability;
405 /**
406 * The image scanning configuration for the repository. This setting determines whether images are scanned for known vulnerabilities after being pushed to the repository.
407 */
408 imageScanningConfiguration?: ImageScanningConfiguration;
409 }
410 export interface CreateRepositoryResponse {
411 /**
412 * The repository that was created.
413 */
414 repository?: Repository;
415 }
416 export type CreationTimestamp = Date;
417 export interface DeleteLifecyclePolicyRequest {
418 /**
419 * The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.
420 */
421 registryId?: RegistryId;
422 /**
423 * The name of the repository.
424 */
425 repositoryName: RepositoryName;
426 }
427 export interface DeleteLifecyclePolicyResponse {
428 /**
429 * The registry ID associated with the request.
430 */
431 registryId?: RegistryId;
432 /**
433 * The repository name associated with the request.
434 */
435 repositoryName?: RepositoryName;
436 /**
437 * The JSON lifecycle policy text.
438 */
439 lifecyclePolicyText?: LifecyclePolicyText;
440 /**
441 * The time stamp of the last time that the lifecycle policy was run.
442 */
443 lastEvaluatedAt?: EvaluationTimestamp;
444 }
445 export interface DeleteRepositoryPolicyRequest {
446 /**
447 * The AWS account ID associated with the registry that contains the repository policy to delete. If you do not specify a registry, the default registry is assumed.
448 */
449 registryId?: RegistryId;
450 /**
451 * The name of the repository that is associated with the repository policy to delete.
452 */
453 repositoryName: RepositoryName;
454 }
455 export interface DeleteRepositoryPolicyResponse {
456 /**
457 * The registry ID associated with the request.
458 */
459 registryId?: RegistryId;
460 /**
461 * The repository name associated with the request.
462 */
463 repositoryName?: RepositoryName;
464 /**
465 * The JSON repository policy that was deleted from the repository.
466 */
467 policyText?: RepositoryPolicyText;
468 }
469 export interface DeleteRepositoryRequest {
470 /**
471 * The AWS account ID associated with the registry that contains the repository to delete. If you do not specify a registry, the default registry is assumed.
472 */
473 registryId?: RegistryId;
474 /**
475 * The name of the repository to delete.
476 */
477 repositoryName: RepositoryName;
478 /**
479 * If a repository contains images, forces the deletion.
480 */
481 force?: ForceFlag;
482 }
483 export interface DeleteRepositoryResponse {
484 /**
485 * The repository that was deleted.
486 */
487 repository?: Repository;
488 }
489 export interface DescribeImageScanFindingsRequest {
490 /**
491 * The AWS account ID associated with the registry that contains the repository in which to describe the image scan findings for. If you do not specify a registry, the default registry is assumed.
492 */
493 registryId?: RegistryId;
494 /**
495 * The repository for the image for which to describe the scan findings.
496 */
497 repositoryName: RepositoryName;
498 imageId: ImageIdentifier;
499 /**
500 * The nextToken value returned from a previous paginated DescribeImageScanFindings request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return.
501 */
502 nextToken?: NextToken;
503 /**
504 * The maximum number of image scan results returned by DescribeImageScanFindings in paginated output. When this parameter is used, DescribeImageScanFindings only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeImageScanFindings request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then DescribeImageScanFindings returns up to 100 results and a nextToken value, if applicable.
505 */
506 maxResults?: MaxResults;
507 }
508 export interface DescribeImageScanFindingsResponse {
509 /**
510 * The registry ID associated with the request.
511 */
512 registryId?: RegistryId;
513 /**
514 * The repository name associated with the request.
515 */
516 repositoryName?: RepositoryName;
517 imageId?: ImageIdentifier;
518 /**
519 * The current state of the scan.
520 */
521 imageScanStatus?: ImageScanStatus;
522 /**
523 * The information contained in the image scan findings.
524 */
525 imageScanFindings?: ImageScanFindings;
526 /**
527 * The nextToken value to include in a future DescribeImageScanFindings request. When the results of a DescribeImageScanFindings request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.
528 */
529 nextToken?: NextToken;
530 }
531 export interface DescribeImagesFilter {
532 /**
533 * The tag status with which to filter your DescribeImages results. You can filter results based on whether they are TAGGED or UNTAGGED.
534 */
535 tagStatus?: TagStatus;
536 }
537 export interface DescribeImagesRequest {
538 /**
539 * The AWS account ID associated with the registry that contains the repository in which to describe images. If you do not specify a registry, the default registry is assumed.
540 */
541 registryId?: RegistryId;
542 /**
543 * The repository that contains the images to describe.
544 */
545 repositoryName: RepositoryName;
546 /**
547 * The list of image IDs for the requested repository.
548 */
549 imageIds?: ImageIdentifierList;
550 /**
551 * The nextToken value returned from a previous paginated DescribeImages request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return. This option cannot be used when you specify images with imageIds.
552 */
553 nextToken?: NextToken;
554 /**
555 * The maximum number of repository results returned by DescribeImages in paginated output. When this parameter is used, DescribeImages only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeImages request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then DescribeImages returns up to 100 results and a nextToken value, if applicable. This option cannot be used when you specify images with imageIds.
556 */
557 maxResults?: MaxResults;
558 /**
559 * The filter key and value with which to filter your DescribeImages results.
560 */
561 filter?: DescribeImagesFilter;
562 }
563 export interface DescribeImagesResponse {
564 /**
565 * A list of ImageDetail objects that contain data about the image.
566 */
567 imageDetails?: ImageDetailList;
568 /**
569 * The nextToken value to include in a future DescribeImages request. When the results of a DescribeImages request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.
570 */
571 nextToken?: NextToken;
572 }
573 export interface DescribeRepositoriesRequest {
574 /**
575 * The AWS account ID associated with the registry that contains the repositories to be described. If you do not specify a registry, the default registry is assumed.
576 */
577 registryId?: RegistryId;
578 /**
579 * A list of repositories to describe. If this parameter is omitted, then all repositories in a registry are described.
580 */
581 repositoryNames?: RepositoryNameList;
582 /**
583 * The nextToken value returned from a previous paginated DescribeRepositories request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return. This option cannot be used when you specify repositories with repositoryNames. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.
584 */
585 nextToken?: NextToken;
586 /**
587 * The maximum number of repository results returned by DescribeRepositories in paginated output. When this parameter is used, DescribeRepositories only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeRepositories request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then DescribeRepositories returns up to 100 results and a nextToken value, if applicable. This option cannot be used when you specify repositories with repositoryNames.
588 */
589 maxResults?: MaxResults;
590 }
591 export interface DescribeRepositoriesResponse {
592 /**
593 * A list of repository objects corresponding to valid repositories.
594 */
595 repositories?: RepositoryList;
596 /**
597 * The nextToken value to include in a future DescribeRepositories request. When the results of a DescribeRepositories request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.
598 */
599 nextToken?: NextToken;
600 }
601 export type EvaluationTimestamp = Date;
602 export type ExpirationTimestamp = Date;
603 export type FindingDescription = string;
604 export type FindingName = string;
605 export type FindingSeverity = "INFORMATIONAL"|"LOW"|"MEDIUM"|"HIGH"|"CRITICAL"|"UNDEFINED"|string;
606 export type FindingSeverityCounts = {[key: string]: SeverityCount};
607 export type ForceFlag = boolean;
608 export type GetAuthorizationTokenRegistryIdList = RegistryId[];
609 export interface GetAuthorizationTokenRequest {
610 /**
611 * A list of AWS account IDs that are associated with the registries for which to get authorization tokens. If you do not specify a registry, the default registry is assumed.
612 */
613 registryIds?: GetAuthorizationTokenRegistryIdList;
614 }
615 export interface GetAuthorizationTokenResponse {
616 /**
617 * A list of authorization token data objects that correspond to the registryIds values in the request.
618 */
619 authorizationData?: AuthorizationDataList;
620 }
621 export interface GetDownloadUrlForLayerRequest {
622 /**
623 * The AWS account ID associated with the registry that contains the image layer to download. If you do not specify a registry, the default registry is assumed.
624 */
625 registryId?: RegistryId;
626 /**
627 * The name of the repository that is associated with the image layer to download.
628 */
629 repositoryName: RepositoryName;
630 /**
631 * The digest of the image layer to download.
632 */
633 layerDigest: LayerDigest;
634 }
635 export interface GetDownloadUrlForLayerResponse {
636 /**
637 * The pre-signed Amazon S3 download URL for the requested layer.
638 */
639 downloadUrl?: Url;
640 /**
641 * The digest of the image layer to download.
642 */
643 layerDigest?: LayerDigest;
644 }
645 export interface GetLifecyclePolicyPreviewRequest {
646 /**
647 * The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.
648 */
649 registryId?: RegistryId;
650 /**
651 * The name of the repository.
652 */
653 repositoryName: RepositoryName;
654 /**
655 * The list of imageIDs to be included.
656 */
657 imageIds?: ImageIdentifierList;
658 /**
659 * The nextToken value returned from a previous paginated&#x2028; GetLifecyclePolicyPreviewRequest request where maxResults was used and the&#x2028; results exceeded the value of that parameter. Pagination continues from the end of the&#x2028; previous results that returned the nextToken value. This value is&#x2028; null when there are no more results to return. This option cannot be used when you specify images with imageIds.
660 */
661 nextToken?: NextToken;
662 /**
663 * The maximum number of repository results returned by GetLifecyclePolicyPreviewRequest in&#x2028; paginated output. When this parameter is used, GetLifecyclePolicyPreviewRequest only returns&#x2028; maxResults results in a single page along with a nextToken&#x2028; response element. The remaining results of the initial request can be seen by sending&#x2028; another GetLifecyclePolicyPreviewRequest request with the returned nextToken&#x2028; value. This value can be between 1 and 1000. If this&#x2028; parameter is not used, then GetLifecyclePolicyPreviewRequest returns up to&#x2028; 100 results and a nextToken value, if&#x2028; applicable. This option cannot be used when you specify images with imageIds.
664 */
665 maxResults?: LifecyclePreviewMaxResults;
666 /**
667 * An optional parameter that filters results based on image tag status and all tags, if tagged.
668 */
669 filter?: LifecyclePolicyPreviewFilter;
670 }
671 export interface GetLifecyclePolicyPreviewResponse {
672 /**
673 * The registry ID associated with the request.
674 */
675 registryId?: RegistryId;
676 /**
677 * The repository name associated with the request.
678 */
679 repositoryName?: RepositoryName;
680 /**
681 * The JSON lifecycle policy text.
682 */
683 lifecyclePolicyText?: LifecyclePolicyText;
684 /**
685 * The status of the lifecycle policy preview request.
686 */
687 status?: LifecyclePolicyPreviewStatus;
688 /**
689 * The nextToken value to include in a future GetLifecyclePolicyPreview request. When the results of a GetLifecyclePolicyPreview request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.
690 */
691 nextToken?: NextToken;
692 /**
693 * The results of the lifecycle policy preview request.
694 */
695 previewResults?: LifecyclePolicyPreviewResultList;
696 /**
697 * The list of images that is returned as a result of the action.
698 */
699 summary?: LifecyclePolicyPreviewSummary;
700 }
701 export interface GetLifecyclePolicyRequest {
702 /**
703 * The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.
704 */
705 registryId?: RegistryId;
706 /**
707 * The name of the repository.
708 */
709 repositoryName: RepositoryName;
710 }
711 export interface GetLifecyclePolicyResponse {
712 /**
713 * The registry ID associated with the request.
714 */
715 registryId?: RegistryId;
716 /**
717 * The repository name associated with the request.
718 */
719 repositoryName?: RepositoryName;
720 /**
721 * The JSON lifecycle policy text.
722 */
723 lifecyclePolicyText?: LifecyclePolicyText;
724 /**
725 * The time stamp of the last time that the lifecycle policy was run.
726 */
727 lastEvaluatedAt?: EvaluationTimestamp;
728 }
729 export interface GetRepositoryPolicyRequest {
730 /**
731 * The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.
732 */
733 registryId?: RegistryId;
734 /**
735 * The name of the repository with the policy to retrieve.
736 */
737 repositoryName: RepositoryName;
738 }
739 export interface GetRepositoryPolicyResponse {
740 /**
741 * The registry ID associated with the request.
742 */
743 registryId?: RegistryId;
744 /**
745 * The repository name associated with the request.
746 */
747 repositoryName?: RepositoryName;
748 /**
749 * The JSON repository policy text associated with the repository.
750 */
751 policyText?: RepositoryPolicyText;
752 }
753 export interface Image {
754 /**
755 * The AWS account ID associated with the registry containing the image.
756 */
757 registryId?: RegistryId;
758 /**
759 * The name of the repository associated with the image.
760 */
761 repositoryName?: RepositoryName;
762 /**
763 * An object containing the image tag and image digest associated with an image.
764 */
765 imageId?: ImageIdentifier;
766 /**
767 * The image manifest associated with the image.
768 */
769 imageManifest?: ImageManifest;
770 }
771 export type ImageActionType = "EXPIRE"|string;
772 export type ImageCount = number;
773 export interface ImageDetail {
774 /**
775 * The AWS account ID associated with the registry to which this image belongs.
776 */
777 registryId?: RegistryId;
778 /**
779 * The name of the repository to which this image belongs.
780 */
781 repositoryName?: RepositoryName;
782 /**
783 * The sha256 digest of the image manifest.
784 */
785 imageDigest?: ImageDigest;
786 /**
787 * The list of tags associated with this image.
788 */
789 imageTags?: ImageTagList;
790 /**
791 * The size, in bytes, of the image in the repository. 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.
792 */
793 imageSizeInBytes?: ImageSizeInBytes;
794 /**
795 * The date and time, expressed in standard JavaScript date format, at which the current image was pushed to the repository.
796 */
797 imagePushedAt?: PushTimestamp;
798 /**
799 * The current state of the scan.
800 */
801 imageScanStatus?: ImageScanStatus;
802 /**
803 * A summary of the last completed image scan.
804 */
805 imageScanFindingsSummary?: ImageScanFindingsSummary;
806 }
807 export type ImageDetailList = ImageDetail[];
808 export type ImageDigest = string;
809 export interface ImageFailure {
810 /**
811 * The image ID associated with the failure.
812 */
813 imageId?: ImageIdentifier;
814 /**
815 * The code associated with the failure.
816 */
817 failureCode?: ImageFailureCode;
818 /**
819 * The reason for the failure.
820 */
821 failureReason?: ImageFailureReason;
822 }
823 export type ImageFailureCode = "InvalidImageDigest"|"InvalidImageTag"|"ImageTagDoesNotMatchDigest"|"ImageNotFound"|"MissingDigestAndTag"|string;
824 export type ImageFailureList = ImageFailure[];
825 export type ImageFailureReason = string;
826 export interface ImageIdentifier {
827 /**
828 * The sha256 digest of the image manifest.
829 */
830 imageDigest?: ImageDigest;
831 /**
832 * The tag used for the image.
833 */
834 imageTag?: ImageTag;
835 }
836 export type ImageIdentifierList = ImageIdentifier[];
837 export type ImageList = Image[];
838 export type ImageManifest = string;
839 export interface ImageScanFinding {
840 /**
841 * The name associated with the finding, usually a CVE number.
842 */
843 name?: FindingName;
844 /**
845 * The description of the finding.
846 */
847 description?: FindingDescription;
848 /**
849 * A link containing additional details about the security vulnerability.
850 */
851 uri?: Url;
852 /**
853 * The finding severity.
854 */
855 severity?: FindingSeverity;
856 /**
857 * A collection of attributes of the host from which the finding is generated.
858 */
859 attributes?: AttributeList;
860 }
861 export type ImageScanFindingList = ImageScanFinding[];
862 export interface ImageScanFindings {
863 /**
864 * The time of the last completed image scan.
865 */
866 imageScanCompletedAt?: ScanTimestamp;
867 /**
868 * The time when the vulnerability data was last scanned.
869 */
870 vulnerabilitySourceUpdatedAt?: VulnerabilitySourceUpdateTimestamp;
871 /**
872 * The findings from the image scan.
873 */
874 findings?: ImageScanFindingList;
875 /**
876 * The image vulnerability counts, sorted by severity.
877 */
878 findingSeverityCounts?: FindingSeverityCounts;
879 }
880 export interface ImageScanFindingsSummary {
881 /**
882 * The time of the last completed image scan.
883 */
884 imageScanCompletedAt?: ScanTimestamp;
885 /**
886 * The time when the vulnerability data was last scanned.
887 */
888 vulnerabilitySourceUpdatedAt?: VulnerabilitySourceUpdateTimestamp;
889 /**
890 * The image vulnerability counts, sorted by severity.
891 */
892 findingSeverityCounts?: FindingSeverityCounts;
893 }
894 export interface ImageScanStatus {
895 /**
896 * The current state of an image scan.
897 */
898 status?: ScanStatus;
899 /**
900 * The description of the image scan status.
901 */
902 description?: ScanStatusDescription;
903 }
904 export interface ImageScanningConfiguration {
905 /**
906 * The setting that determines whether images are scanned after being pushed to a repository. If set to true, images will be scanned after being pushed. If this parameter is not specified, it will default to false and images will not be scanned unless a scan is manually started with the StartImageScan API.
907 */
908 scanOnPush?: ScanOnPushFlag;
909 }
910 export type ImageSizeInBytes = number;
911 export type ImageTag = string;
912 export type ImageTagList = ImageTag[];
913 export type ImageTagMutability = "MUTABLE"|"IMMUTABLE"|string;
914 export interface InitiateLayerUploadRequest {
915 /**
916 * The AWS account ID associated with the registry to which you intend to upload layers. If you do not specify a registry, the default registry is assumed.
917 */
918 registryId?: RegistryId;
919 /**
920 * The name of the repository to which you intend to upload layers.
921 */
922 repositoryName: RepositoryName;
923 }
924 export interface InitiateLayerUploadResponse {
925 /**
926 * The upload ID for the layer upload. This parameter is passed to further UploadLayerPart and CompleteLayerUpload operations.
927 */
928 uploadId?: UploadId;
929 /**
930 * The size, in bytes, that Amazon ECR expects future layer part uploads to be.
931 */
932 partSize?: PartSize;
933 }
934 export interface Layer {
935 /**
936 * The sha256 digest of the image layer.
937 */
938 layerDigest?: LayerDigest;
939 /**
940 * The availability status of the image layer.
941 */
942 layerAvailability?: LayerAvailability;
943 /**
944 * The size, in bytes, of the image layer.
945 */
946 layerSize?: LayerSizeInBytes;
947 /**
948 * The media type of the layer, such as application/vnd.docker.image.rootfs.diff.tar.gzip or application/vnd.oci.image.layer.v1.tar+gzip.
949 */
950 mediaType?: MediaType;
951 }
952 export type LayerAvailability = "AVAILABLE"|"UNAVAILABLE"|string;
953 export type LayerDigest = string;
954 export type LayerDigestList = LayerDigest[];
955 export interface LayerFailure {
956 /**
957 * The layer digest associated with the failure.
958 */
959 layerDigest?: BatchedOperationLayerDigest;
960 /**
961 * The failure code associated with the failure.
962 */
963 failureCode?: LayerFailureCode;
964 /**
965 * The reason for the failure.
966 */
967 failureReason?: LayerFailureReason;
968 }
969 export type LayerFailureCode = "InvalidLayerDigest"|"MissingLayerDigest"|string;
970 export type LayerFailureList = LayerFailure[];
971 export type LayerFailureReason = string;
972 export type LayerList = Layer[];
973 export type LayerPartBlob = Buffer|Uint8Array|Blob|string;
974 export type LayerSizeInBytes = number;
975 export interface LifecyclePolicyPreviewFilter {
976 /**
977 * The tag status of the image.
978 */
979 tagStatus?: TagStatus;
980 }
981 export interface LifecyclePolicyPreviewResult {
982 /**
983 * The list of tags associated with this image.
984 */
985 imageTags?: ImageTagList;
986 /**
987 * The sha256 digest of the image manifest.
988 */
989 imageDigest?: ImageDigest;
990 /**
991 * The date and time, expressed in standard JavaScript date format, at which the current image was pushed to the repository.
992 */
993 imagePushedAt?: PushTimestamp;
994 /**
995 * The type of action to be taken.
996 */
997 action?: LifecyclePolicyRuleAction;
998 /**
999 * The priority of the applied rule.
1000 */
1001 appliedRulePriority?: LifecyclePolicyRulePriority;
1002 }
1003 export type LifecyclePolicyPreviewResultList = LifecyclePolicyPreviewResult[];
1004 export type LifecyclePolicyPreviewStatus = "IN_PROGRESS"|"COMPLETE"|"EXPIRED"|"FAILED"|string;
1005 export interface LifecyclePolicyPreviewSummary {
1006 /**
1007 * The number of expiring images.
1008 */
1009 expiringImageTotalCount?: ImageCount;
1010 }
1011 export interface LifecyclePolicyRuleAction {
1012 /**
1013 * The type of action to be taken.
1014 */
1015 type?: ImageActionType;
1016 }
1017 export type LifecyclePolicyRulePriority = number;
1018 export type LifecyclePolicyText = string;
1019 export type LifecyclePreviewMaxResults = number;
1020 export interface ListImagesFilter {
1021 /**
1022 * The tag status with which to filter your ListImages results. You can filter results based on whether they are TAGGED or UNTAGGED.
1023 */
1024 tagStatus?: TagStatus;
1025 }
1026 export interface ListImagesRequest {
1027 /**
1028 * The AWS account ID associated with the registry that contains the repository in which to list images. If you do not specify a registry, the default registry is assumed.
1029 */
1030 registryId?: RegistryId;
1031 /**
1032 * The repository with image IDs to be listed.
1033 */
1034 repositoryName: RepositoryName;
1035 /**
1036 * The nextToken value returned from a previous paginated ListImages request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.
1037 */
1038 nextToken?: NextToken;
1039 /**
1040 * The maximum number of image results returned by ListImages in paginated output. When this parameter is used, ListImages only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListImages request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then ListImages returns up to 100 results and a nextToken value, if applicable.
1041 */
1042 maxResults?: MaxResults;
1043 /**
1044 * The filter key and value with which to filter your ListImages results.
1045 */
1046 filter?: ListImagesFilter;
1047 }
1048 export interface ListImagesResponse {
1049 /**
1050 * The list of image IDs for the requested repository.
1051 */
1052 imageIds?: ImageIdentifierList;
1053 /**
1054 * The nextToken value to include in a future ListImages request. When the results of a ListImages request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.
1055 */
1056 nextToken?: NextToken;
1057 }
1058 export interface ListTagsForResourceRequest {
1059 /**
1060 * The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the only supported resource is an Amazon ECR repository.
1061 */
1062 resourceArn: Arn;
1063 }
1064 export interface ListTagsForResourceResponse {
1065 /**
1066 * The tags for the resource.
1067 */
1068 tags?: TagList;
1069 }
1070 export type MaxResults = number;
1071 export type MediaType = string;
1072 export type MediaTypeList = MediaType[];
1073 export type NextToken = string;
1074 export type PartSize = number;
1075 export type ProxyEndpoint = string;
1076 export type PushTimestamp = Date;
1077 export interface PutImageRequest {
1078 /**
1079 * The AWS account ID associated with the registry that contains the repository in which to put the image. If you do not specify a registry, the default registry is assumed.
1080 */
1081 registryId?: RegistryId;
1082 /**
1083 * The name of the repository in which to put the image.
1084 */
1085 repositoryName: RepositoryName;
1086 /**
1087 * The image manifest corresponding to the image to be uploaded.
1088 */
1089 imageManifest: ImageManifest;
1090 /**
1091 * The tag to associate with the image. This parameter is required for images that use the Docker Image Manifest V2 Schema 2 or OCI formats.
1092 */
1093 imageTag?: ImageTag;
1094 }
1095 export interface PutImageResponse {
1096 /**
1097 * Details of the image uploaded.
1098 */
1099 image?: Image;
1100 }
1101 export interface PutImageScanningConfigurationRequest {
1102 /**
1103 * The AWS account ID associated with the registry that contains the repository in which to update the image scanning configuration setting. If you do not specify a registry, the default registry is assumed.
1104 */
1105 registryId?: RegistryId;
1106 /**
1107 * The name of the repository in which to update the image scanning configuration setting.
1108 */
1109 repositoryName: RepositoryName;
1110 /**
1111 * The image scanning configuration for the repository. This setting determines whether images are scanned for known vulnerabilities after being pushed to the repository.
1112 */
1113 imageScanningConfiguration: ImageScanningConfiguration;
1114 }
1115 export interface PutImageScanningConfigurationResponse {
1116 /**
1117 * The registry ID associated with the request.
1118 */
1119 registryId?: RegistryId;
1120 /**
1121 * The repository name associated with the request.
1122 */
1123 repositoryName?: RepositoryName;
1124 /**
1125 * The image scanning configuration setting for the repository.
1126 */
1127 imageScanningConfiguration?: ImageScanningConfiguration;
1128 }
1129 export interface PutImageTagMutabilityRequest {
1130 /**
1131 * The AWS account ID associated with the registry that contains the repository in which to update the image tag mutability settings. If you do not specify a registry, the default registry is assumed.
1132 */
1133 registryId?: RegistryId;
1134 /**
1135 * The name of the repository in which to update the image tag mutability settings.
1136 */
1137 repositoryName: RepositoryName;
1138 /**
1139 * The tag mutability setting for the repository. If MUTABLE is specified, image tags can be overwritten. If IMMUTABLE is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.
1140 */
1141 imageTagMutability: ImageTagMutability;
1142 }
1143 export interface PutImageTagMutabilityResponse {
1144 /**
1145 * The registry ID associated with the request.
1146 */
1147 registryId?: RegistryId;
1148 /**
1149 * The repository name associated with the request.
1150 */
1151 repositoryName?: RepositoryName;
1152 /**
1153 * The image tag mutability setting for the repository.
1154 */
1155 imageTagMutability?: ImageTagMutability;
1156 }
1157 export interface PutLifecyclePolicyRequest {
1158 /**
1159 * The AWS account ID associated with the registry that contains the repository. If you do&#x2028; not specify a registry, the default registry is assumed.
1160 */
1161 registryId?: RegistryId;
1162 /**
1163 * The name of the repository to receive the policy.
1164 */
1165 repositoryName: RepositoryName;
1166 /**
1167 * The JSON repository policy text to apply to the repository.
1168 */
1169 lifecyclePolicyText: LifecyclePolicyText;
1170 }
1171 export interface PutLifecyclePolicyResponse {
1172 /**
1173 * The registry ID associated with the request.
1174 */
1175 registryId?: RegistryId;
1176 /**
1177 * The repository name associated with the request.
1178 */
1179 repositoryName?: RepositoryName;
1180 /**
1181 * The JSON repository policy text.
1182 */
1183 lifecyclePolicyText?: LifecyclePolicyText;
1184 }
1185 export type RegistryId = string;
1186 export interface Repository {
1187 /**
1188 * The Amazon Resource Name (ARN) that identifies the repository. The ARN contains the arn:aws:ecr namespace, followed by the region of the repository, AWS account ID of the repository owner, repository namespace, and repository name. For example, arn:aws:ecr:region:012345678910:repository/test.
1189 */
1190 repositoryArn?: Arn;
1191 /**
1192 * The AWS account ID associated with the registry that contains the repository.
1193 */
1194 registryId?: RegistryId;
1195 /**
1196 * The name of the repository.
1197 */
1198 repositoryName?: RepositoryName;
1199 /**
1200 * The URI for the repository. You can use this URI for Docker push or pull operations.
1201 */
1202 repositoryUri?: Url;
1203 /**
1204 * The date and time, in JavaScript date format, when the repository was created.
1205 */
1206 createdAt?: CreationTimestamp;
1207 /**
1208 * The tag mutability setting for the repository.
1209 */
1210 imageTagMutability?: ImageTagMutability;
1211 imageScanningConfiguration?: ImageScanningConfiguration;
1212 }
1213 export type RepositoryList = Repository[];
1214 export type RepositoryName = string;
1215 export type RepositoryNameList = RepositoryName[];
1216 export type RepositoryPolicyText = string;
1217 export type ScanOnPushFlag = boolean;
1218 export type ScanStatus = "IN_PROGRESS"|"COMPLETE"|"FAILED"|string;
1219 export type ScanStatusDescription = string;
1220 export type ScanTimestamp = Date;
1221 export interface SetRepositoryPolicyRequest {
1222 /**
1223 * The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.
1224 */
1225 registryId?: RegistryId;
1226 /**
1227 * The name of the repository to receive the policy.
1228 */
1229 repositoryName: RepositoryName;
1230 /**
1231 * The JSON repository policy text to apply to the repository. For more information, see Amazon ECR Repository Policy Examples in the Amazon Elastic Container Registry User Guide.
1232 */
1233 policyText: RepositoryPolicyText;
1234 /**
1235 * If the policy you are attempting to set on a repository policy would prevent you from setting another policy in the future, you must force the SetRepositoryPolicy operation. This is intended to prevent accidental repository lock outs.
1236 */
1237 force?: ForceFlag;
1238 }
1239 export interface SetRepositoryPolicyResponse {
1240 /**
1241 * The registry ID associated with the request.
1242 */
1243 registryId?: RegistryId;
1244 /**
1245 * The repository name associated with the request.
1246 */
1247 repositoryName?: RepositoryName;
1248 /**
1249 * The JSON repository policy text applied to the repository.
1250 */
1251 policyText?: RepositoryPolicyText;
1252 }
1253 export type SeverityCount = number;
1254 export interface StartImageScanRequest {
1255 /**
1256 * The AWS account ID associated with the registry that contains the repository in which to start an image scan request. If you do not specify a registry, the default registry is assumed.
1257 */
1258 registryId?: RegistryId;
1259 /**
1260 * The name of the repository that contains the images to scan.
1261 */
1262 repositoryName: RepositoryName;
1263 imageId: ImageIdentifier;
1264 }
1265 export interface StartImageScanResponse {
1266 /**
1267 * The registry ID associated with the request.
1268 */
1269 registryId?: RegistryId;
1270 /**
1271 * The repository name associated with the request.
1272 */
1273 repositoryName?: RepositoryName;
1274 imageId?: ImageIdentifier;
1275 /**
1276 * The current state of the scan.
1277 */
1278 imageScanStatus?: ImageScanStatus;
1279 }
1280 export interface StartLifecyclePolicyPreviewRequest {
1281 /**
1282 * The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.
1283 */
1284 registryId?: RegistryId;
1285 /**
1286 * The name of the repository to be evaluated.
1287 */
1288 repositoryName: RepositoryName;
1289 /**
1290 * The policy to be evaluated against. If you do not specify a policy, the current policy for the repository is used.
1291 */
1292 lifecyclePolicyText?: LifecyclePolicyText;
1293 }
1294 export interface StartLifecyclePolicyPreviewResponse {
1295 /**
1296 * The registry ID associated with the request.
1297 */
1298 registryId?: RegistryId;
1299 /**
1300 * The repository name associated with the request.
1301 */
1302 repositoryName?: RepositoryName;
1303 /**
1304 * The JSON repository policy text.
1305 */
1306 lifecyclePolicyText?: LifecyclePolicyText;
1307 /**
1308 * The status of the lifecycle policy preview request.
1309 */
1310 status?: LifecyclePolicyPreviewStatus;
1311 }
1312 export interface Tag {
1313 /**
1314 * One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.
1315 */
1316 Key?: TagKey;
1317 /**
1318 * The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).
1319 */
1320 Value?: TagValue;
1321 }
1322 export type TagKey = string;
1323 export type TagKeyList = TagKey[];
1324 export type TagList = Tag[];
1325 export interface TagResourceRequest {
1326 /**
1327 * The Amazon Resource Name (ARN) of the the resource to which to add tags. Currently, the only supported resource is an Amazon ECR repository.
1328 */
1329 resourceArn: Arn;
1330 /**
1331 * The tags to add to the resource. A tag is an array of key-value pairs. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
1332 */
1333 tags: TagList;
1334 }
1335 export interface TagResourceResponse {
1336 }
1337 export type TagStatus = "TAGGED"|"UNTAGGED"|"ANY"|string;
1338 export type TagValue = string;
1339 export interface UntagResourceRequest {
1340 /**
1341 * The Amazon Resource Name (ARN) of the resource from which to remove tags. Currently, the only supported resource is an Amazon ECR repository.
1342 */
1343 resourceArn: Arn;
1344 /**
1345 * The keys of the tags to be removed.
1346 */
1347 tagKeys: TagKeyList;
1348 }
1349 export interface UntagResourceResponse {
1350 }
1351 export type UploadId = string;
1352 export interface UploadLayerPartRequest {
1353 /**
1354 * The AWS account ID associated with the registry to which you are uploading layer parts. If you do not specify a registry, the default registry is assumed.
1355 */
1356 registryId?: RegistryId;
1357 /**
1358 * The name of the repository to which you are uploading layer parts.
1359 */
1360 repositoryName: RepositoryName;
1361 /**
1362 * The upload ID from a previous InitiateLayerUpload operation to associate with the layer part upload.
1363 */
1364 uploadId: UploadId;
1365 /**
1366 * The integer value of the first byte of the layer part.
1367 */
1368 partFirstByte: PartSize;
1369 /**
1370 * The integer value of the last byte of the layer part.
1371 */
1372 partLastByte: PartSize;
1373 /**
1374 * The base64-encoded layer part payload.
1375 */
1376 layerPartBlob: LayerPartBlob;
1377 }
1378 export interface UploadLayerPartResponse {
1379 /**
1380 * The registry ID associated with the request.
1381 */
1382 registryId?: RegistryId;
1383 /**
1384 * The repository name associated with the request.
1385 */
1386 repositoryName?: RepositoryName;
1387 /**
1388 * The upload ID associated with the request.
1389 */
1390 uploadId?: UploadId;
1391 /**
1392 * The integer value of the last byte received in the request.
1393 */
1394 lastByteReceived?: PartSize;
1395 }
1396 export type Url = string;
1397 export type VulnerabilitySourceUpdateTimestamp = Date;
1398 /**
1399 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
1400 */
1401 export type apiVersion = "2015-09-21"|"latest"|string;
1402 export interface ClientApiVersions {
1403 /**
1404 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
1405 */
1406 apiVersion?: apiVersion;
1407 }
1408 export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
1409 /**
1410 * Contains interfaces for use with the ECR client.
1411 */
1412 export import Types = ECR;
1413}
1414export = ECR;