@aws-sdk/client-ecr 3.451.0 → 3.458.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +57 -41
  2. package/dist-cjs/ECR.js +4 -0
  3. package/dist-cjs/commands/UpdatePullThroughCacheRuleCommand.js +51 -0
  4. package/dist-cjs/commands/ValidatePullThroughCacheRuleCommand.js +51 -0
  5. package/dist-cjs/commands/index.js +2 -0
  6. package/dist-cjs/models/models_0.js +88 -11
  7. package/dist-cjs/protocols/Aws_json1_1.js +186 -2
  8. package/dist-es/ECR.js +4 -0
  9. package/dist-es/commands/UpdatePullThroughCacheRuleCommand.js +47 -0
  10. package/dist-es/commands/ValidatePullThroughCacheRuleCommand.js +47 -0
  11. package/dist-es/commands/index.js +2 -0
  12. package/dist-es/models/models_0.js +79 -8
  13. package/dist-es/protocols/Aws_json1_1.js +181 -1
  14. package/dist-types/ECR.d.ts +14 -0
  15. package/dist-types/ECRClient.d.ts +4 -2
  16. package/dist-types/commands/BatchDeleteImageCommand.d.ts +1 -1
  17. package/dist-types/commands/BatchGetImageCommand.d.ts +11 -1
  18. package/dist-types/commands/CreatePullThroughCacheRuleCommand.d.ts +19 -1
  19. package/dist-types/commands/DeletePullThroughCacheRuleCommand.d.ts +1 -0
  20. package/dist-types/commands/DeleteRepositoryCommand.d.ts +3 -3
  21. package/dist-types/commands/DescribePullThroughCacheRulesCommand.d.ts +3 -0
  22. package/dist-types/commands/GetDownloadUrlForLayerCommand.d.ts +4 -0
  23. package/dist-types/commands/UpdatePullThroughCacheRuleCommand.d.ts +104 -0
  24. package/dist-types/commands/ValidatePullThroughCacheRuleCommand.d.ts +96 -0
  25. package/dist-types/commands/index.d.ts +2 -0
  26. package/dist-types/models/models_0.d.ts +280 -13
  27. package/dist-types/protocols/Aws_json1_1.d.ts +18 -0
  28. package/dist-types/ts3.4/ECR.d.ts +34 -0
  29. package/dist-types/ts3.4/ECRClient.d.ts +14 -2
  30. package/dist-types/ts3.4/commands/UpdatePullThroughCacheRuleCommand.d.ts +42 -0
  31. package/dist-types/ts3.4/commands/ValidatePullThroughCacheRuleCommand.d.ts +42 -0
  32. package/dist-types/ts3.4/commands/index.d.ts +2 -0
  33. package/dist-types/ts3.4/models/models_0.d.ts +94 -6
  34. package/dist-types/ts3.4/protocols/Aws_json1_1.d.ts +24 -0
  35. package/package.json +3 -3
@@ -0,0 +1,104 @@
1
+ import { EndpointParameterInstructions } from "@smithy/middleware-endpoint";
2
+ import { Command as $Command } from "@smithy/smithy-client";
3
+ import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@smithy/types";
4
+ import { ECRClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ECRClient";
5
+ import { UpdatePullThroughCacheRuleRequest, UpdatePullThroughCacheRuleResponse } from "../models/models_0";
6
+ /**
7
+ * @public
8
+ */
9
+ export { __MetadataBearer, $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link UpdatePullThroughCacheRuleCommand}.
14
+ */
15
+ export interface UpdatePullThroughCacheRuleCommandInput extends UpdatePullThroughCacheRuleRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link UpdatePullThroughCacheRuleCommand}.
21
+ */
22
+ export interface UpdatePullThroughCacheRuleCommandOutput extends UpdatePullThroughCacheRuleResponse, __MetadataBearer {
23
+ }
24
+ /**
25
+ * @public
26
+ * <p>Updates an existing pull through cache rule.</p>
27
+ * @example
28
+ * Use a bare-bones client and the command you need to make an API call.
29
+ * ```javascript
30
+ * import { ECRClient, UpdatePullThroughCacheRuleCommand } from "@aws-sdk/client-ecr"; // ES Modules import
31
+ * // const { ECRClient, UpdatePullThroughCacheRuleCommand } = require("@aws-sdk/client-ecr"); // CommonJS import
32
+ * const client = new ECRClient(config);
33
+ * const input = { // UpdatePullThroughCacheRuleRequest
34
+ * registryId: "STRING_VALUE",
35
+ * ecrRepositoryPrefix: "STRING_VALUE", // required
36
+ * credentialArn: "STRING_VALUE", // required
37
+ * };
38
+ * const command = new UpdatePullThroughCacheRuleCommand(input);
39
+ * const response = await client.send(command);
40
+ * // { // UpdatePullThroughCacheRuleResponse
41
+ * // ecrRepositoryPrefix: "STRING_VALUE",
42
+ * // registryId: "STRING_VALUE",
43
+ * // updatedAt: new Date("TIMESTAMP"),
44
+ * // credentialArn: "STRING_VALUE",
45
+ * // };
46
+ *
47
+ * ```
48
+ *
49
+ * @param UpdatePullThroughCacheRuleCommandInput - {@link UpdatePullThroughCacheRuleCommandInput}
50
+ * @returns {@link UpdatePullThroughCacheRuleCommandOutput}
51
+ * @see {@link UpdatePullThroughCacheRuleCommandInput} for command's `input` shape.
52
+ * @see {@link UpdatePullThroughCacheRuleCommandOutput} for command's `response` shape.
53
+ * @see {@link ECRClientResolvedConfig | config} for ECRClient's `config` shape.
54
+ *
55
+ * @throws {@link InvalidParameterException} (client fault)
56
+ * <p>The specified parameter is invalid. Review the available parameters for the API
57
+ * request.</p>
58
+ *
59
+ * @throws {@link PullThroughCacheRuleNotFoundException} (client fault)
60
+ * <p>The pull through cache rule was not found. Specify a valid pull through cache rule and
61
+ * try again.</p>
62
+ *
63
+ * @throws {@link SecretNotFoundException} (client fault)
64
+ * <p>The ARN of the secret specified in the pull through cache rule was not found. Update
65
+ * the pull through cache rule with a valid secret ARN and try again.</p>
66
+ *
67
+ * @throws {@link ServerException} (server fault)
68
+ * <p>These errors are usually caused by a server-side issue.</p>
69
+ *
70
+ * @throws {@link UnableToAccessSecretException} (client fault)
71
+ * <p>The secret is unable to be accessed. Verify the resource permissions for the secret
72
+ * and try again.</p>
73
+ *
74
+ * @throws {@link UnableToDecryptSecretValueException} (client fault)
75
+ * <p>The secret is accessible but is unable to be decrypted. Verify the resource
76
+ * permisisons and try again.</p>
77
+ *
78
+ * @throws {@link ValidationException} (client fault)
79
+ * <p>There was an exception validating this request.</p>
80
+ *
81
+ * @throws {@link ECRServiceException}
82
+ * <p>Base exception class for all service exceptions from ECR service.</p>
83
+ *
84
+ */
85
+ export declare class UpdatePullThroughCacheRuleCommand extends $Command<UpdatePullThroughCacheRuleCommandInput, UpdatePullThroughCacheRuleCommandOutput, ECRClientResolvedConfig> {
86
+ readonly input: UpdatePullThroughCacheRuleCommandInput;
87
+ static getEndpointParameterInstructions(): EndpointParameterInstructions;
88
+ /**
89
+ * @public
90
+ */
91
+ constructor(input: UpdatePullThroughCacheRuleCommandInput);
92
+ /**
93
+ * @internal
94
+ */
95
+ resolveMiddleware(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: ECRClientResolvedConfig, options?: __HttpHandlerOptions): Handler<UpdatePullThroughCacheRuleCommandInput, UpdatePullThroughCacheRuleCommandOutput>;
96
+ /**
97
+ * @internal
98
+ */
99
+ private serialize;
100
+ /**
101
+ * @internal
102
+ */
103
+ private deserialize;
104
+ }
@@ -0,0 +1,96 @@
1
+ import { EndpointParameterInstructions } from "@smithy/middleware-endpoint";
2
+ import { Command as $Command } from "@smithy/smithy-client";
3
+ import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@smithy/types";
4
+ import { ECRClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ECRClient";
5
+ import { ValidatePullThroughCacheRuleRequest, ValidatePullThroughCacheRuleResponse } from "../models/models_0";
6
+ /**
7
+ * @public
8
+ */
9
+ export { __MetadataBearer, $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link ValidatePullThroughCacheRuleCommand}.
14
+ */
15
+ export interface ValidatePullThroughCacheRuleCommandInput extends ValidatePullThroughCacheRuleRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link ValidatePullThroughCacheRuleCommand}.
21
+ */
22
+ export interface ValidatePullThroughCacheRuleCommandOutput extends ValidatePullThroughCacheRuleResponse, __MetadataBearer {
23
+ }
24
+ /**
25
+ * @public
26
+ * <p>Validates an existing pull through cache rule for an upstream registry that requires
27
+ * authentication. This will retrieve the contents of the Amazon Web Services Secrets Manager secret, verify the
28
+ * syntax, and then validate that authentication to the upstream registry is
29
+ * successful.</p>
30
+ * @example
31
+ * Use a bare-bones client and the command you need to make an API call.
32
+ * ```javascript
33
+ * import { ECRClient, ValidatePullThroughCacheRuleCommand } from "@aws-sdk/client-ecr"; // ES Modules import
34
+ * // const { ECRClient, ValidatePullThroughCacheRuleCommand } = require("@aws-sdk/client-ecr"); // CommonJS import
35
+ * const client = new ECRClient(config);
36
+ * const input = { // ValidatePullThroughCacheRuleRequest
37
+ * ecrRepositoryPrefix: "STRING_VALUE", // required
38
+ * registryId: "STRING_VALUE",
39
+ * };
40
+ * const command = new ValidatePullThroughCacheRuleCommand(input);
41
+ * const response = await client.send(command);
42
+ * // { // ValidatePullThroughCacheRuleResponse
43
+ * // ecrRepositoryPrefix: "STRING_VALUE",
44
+ * // registryId: "STRING_VALUE",
45
+ * // upstreamRegistryUrl: "STRING_VALUE",
46
+ * // credentialArn: "STRING_VALUE",
47
+ * // isValid: true || false,
48
+ * // failure: "STRING_VALUE",
49
+ * // };
50
+ *
51
+ * ```
52
+ *
53
+ * @param ValidatePullThroughCacheRuleCommandInput - {@link ValidatePullThroughCacheRuleCommandInput}
54
+ * @returns {@link ValidatePullThroughCacheRuleCommandOutput}
55
+ * @see {@link ValidatePullThroughCacheRuleCommandInput} for command's `input` shape.
56
+ * @see {@link ValidatePullThroughCacheRuleCommandOutput} for command's `response` shape.
57
+ * @see {@link ECRClientResolvedConfig | config} for ECRClient's `config` shape.
58
+ *
59
+ * @throws {@link InvalidParameterException} (client fault)
60
+ * <p>The specified parameter is invalid. Review the available parameters for the API
61
+ * request.</p>
62
+ *
63
+ * @throws {@link PullThroughCacheRuleNotFoundException} (client fault)
64
+ * <p>The pull through cache rule was not found. Specify a valid pull through cache rule and
65
+ * try again.</p>
66
+ *
67
+ * @throws {@link ServerException} (server fault)
68
+ * <p>These errors are usually caused by a server-side issue.</p>
69
+ *
70
+ * @throws {@link ValidationException} (client fault)
71
+ * <p>There was an exception validating this request.</p>
72
+ *
73
+ * @throws {@link ECRServiceException}
74
+ * <p>Base exception class for all service exceptions from ECR service.</p>
75
+ *
76
+ */
77
+ export declare class ValidatePullThroughCacheRuleCommand extends $Command<ValidatePullThroughCacheRuleCommandInput, ValidatePullThroughCacheRuleCommandOutput, ECRClientResolvedConfig> {
78
+ readonly input: ValidatePullThroughCacheRuleCommandInput;
79
+ static getEndpointParameterInstructions(): EndpointParameterInstructions;
80
+ /**
81
+ * @public
82
+ */
83
+ constructor(input: ValidatePullThroughCacheRuleCommandInput);
84
+ /**
85
+ * @internal
86
+ */
87
+ resolveMiddleware(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: ECRClientResolvedConfig, options?: __HttpHandlerOptions): Handler<ValidatePullThroughCacheRuleCommandInput, ValidatePullThroughCacheRuleCommandOutput>;
88
+ /**
89
+ * @internal
90
+ */
91
+ private serialize;
92
+ /**
93
+ * @internal
94
+ */
95
+ private deserialize;
96
+ }
@@ -38,4 +38,6 @@ export * from "./StartImageScanCommand";
38
38
  export * from "./StartLifecyclePolicyPreviewCommand";
39
39
  export * from "./TagResourceCommand";
40
40
  export * from "./UntagResourceCommand";
41
+ export * from "./UpdatePullThroughCacheRuleCommand";
41
42
  export * from "./UploadLayerPartCommand";
43
+ export * from "./ValidatePullThroughCacheRuleCommand";
@@ -201,6 +201,9 @@ export declare const ImageFailureCode: {
201
201
  readonly InvalidImageTag: "InvalidImageTag";
202
202
  readonly KmsError: "KmsError";
203
203
  readonly MissingDigestAndTag: "MissingDigestAndTag";
204
+ readonly UpstreamAccessDenied: "UpstreamAccessDenied";
205
+ readonly UpstreamTooManyRequests: "UpstreamTooManyRequests";
206
+ readonly UpstreamUnavailable: "UpstreamUnavailable";
204
207
  };
205
208
  /**
206
209
  * @public
@@ -320,6 +323,34 @@ export interface BatchGetImageResponse {
320
323
  */
321
324
  failures?: ImageFailure[];
322
325
  }
326
+ /**
327
+ * @public
328
+ * <p>The operation did not succeed because it would have exceeded a service limit for your
329
+ * account. For more information, see <a href="https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html">Amazon ECR service quotas</a> in
330
+ * the Amazon Elastic Container Registry User Guide.</p>
331
+ */
332
+ export declare class LimitExceededException extends __BaseException {
333
+ readonly name: "LimitExceededException";
334
+ readonly $fault: "client";
335
+ /**
336
+ * @internal
337
+ */
338
+ constructor(opts: __ExceptionOptionType<LimitExceededException, __BaseException>);
339
+ }
340
+ /**
341
+ * @public
342
+ * <p>The image or images were unable to be pulled using the pull through cache rule. This
343
+ * is usually caused because of an issue with the Secrets Manager secret containing the credentials
344
+ * for the upstream registry.</p>
345
+ */
346
+ export declare class UnableToGetUpstreamImageException extends __BaseException {
347
+ readonly name: "UnableToGetUpstreamImageException";
348
+ readonly $fault: "client";
349
+ /**
350
+ * @internal
351
+ */
352
+ constructor(opts: __ExceptionOptionType<UnableToGetUpstreamImageException, __BaseException>);
353
+ }
323
354
  /**
324
355
  * @public
325
356
  */
@@ -594,6 +625,22 @@ export declare class UploadNotFoundException extends __BaseException {
594
625
  */
595
626
  constructor(opts: __ExceptionOptionType<UploadNotFoundException, __BaseException>);
596
627
  }
628
+ /**
629
+ * @public
630
+ * @enum
631
+ */
632
+ export declare const UpstreamRegistry: {
633
+ readonly AzureContainerRegistry: "azure-container-registry";
634
+ readonly DockerHub: "docker-hub";
635
+ readonly EcrPublic: "ecr-public";
636
+ readonly GitHubContainerRegistry: "github-container-registry";
637
+ readonly K8s: "k8s";
638
+ readonly Quay: "quay";
639
+ };
640
+ /**
641
+ * @public
642
+ */
643
+ export type UpstreamRegistry = (typeof UpstreamRegistry)[keyof typeof UpstreamRegistry];
597
644
  /**
598
645
  * @public
599
646
  */
@@ -606,7 +653,37 @@ export interface CreatePullThroughCacheRuleRequest {
606
653
  /**
607
654
  * @public
608
655
  * <p>The registry URL of the upstream public registry to use as the source for the pull
609
- * through cache rule.</p>
656
+ * through cache rule. The following is the syntax to use for each supported upstream
657
+ * registry.</p>
658
+ * <ul>
659
+ * <li>
660
+ * <p>Amazon ECR Public (<code>ecr-public</code>) - <code>public.ecr.aws</code>
661
+ * </p>
662
+ * </li>
663
+ * <li>
664
+ * <p>Docker Hub (<code>docker-hub</code>) -
665
+ * <code>registry-1.docker.io</code>
666
+ * </p>
667
+ * </li>
668
+ * <li>
669
+ * <p>Quay (<code>quay</code>) - <code>quay.io</code>
670
+ * </p>
671
+ * </li>
672
+ * <li>
673
+ * <p>Kubernetes (<code>k8s</code>) - <code>registry.k8s.io</code>
674
+ * </p>
675
+ * </li>
676
+ * <li>
677
+ * <p>GitHub Container Registry (<code>github-container-registry</code>) -
678
+ * <code>ghcr.io</code>
679
+ * </p>
680
+ * </li>
681
+ * <li>
682
+ * <p>Microsoft Azure Container Registry (<code>azure-container-registry</code>) -
683
+ * <code><custom>.azurecr.io</code>
684
+ * </p>
685
+ * </li>
686
+ * </ul>
610
687
  */
611
688
  upstreamRegistryUrl: string | undefined;
612
689
  /**
@@ -615,6 +692,17 @@ export interface CreatePullThroughCacheRuleRequest {
615
692
  * rule for. If you do not specify a registry, the default registry is assumed.</p>
616
693
  */
617
694
  registryId?: string;
695
+ /**
696
+ * @public
697
+ * <p>The name of the upstream registry.</p>
698
+ */
699
+ upstreamRegistry?: UpstreamRegistry;
700
+ /**
701
+ * @public
702
+ * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager secret that identifies the credentials to authenticate
703
+ * to the upstream registry.</p>
704
+ */
705
+ credentialArn?: string;
618
706
  }
619
707
  /**
620
708
  * @public
@@ -641,33 +729,69 @@ export interface CreatePullThroughCacheRuleResponse {
641
729
  * <p>The registry ID associated with the request.</p>
642
730
  */
643
731
  registryId?: string;
732
+ /**
733
+ * @public
734
+ * <p>The name of the upstream registry associated with the pull through cache rule.</p>
735
+ */
736
+ upstreamRegistry?: UpstreamRegistry;
737
+ /**
738
+ * @public
739
+ * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager secret associated with the pull through cache
740
+ * rule.</p>
741
+ */
742
+ credentialArn?: string;
644
743
  }
645
744
  /**
646
745
  * @public
647
- * <p>The operation did not succeed because it would have exceeded a service limit for your
648
- * account. For more information, see <a href="https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html">Amazon ECR service quotas</a> in
649
- * the Amazon Elastic Container Registry User Guide.</p>
746
+ * <p>A pull through cache rule with these settings already exists for the private
747
+ * registry.</p>
650
748
  */
651
- export declare class LimitExceededException extends __BaseException {
652
- readonly name: "LimitExceededException";
749
+ export declare class PullThroughCacheRuleAlreadyExistsException extends __BaseException {
750
+ readonly name: "PullThroughCacheRuleAlreadyExistsException";
653
751
  readonly $fault: "client";
654
752
  /**
655
753
  * @internal
656
754
  */
657
- constructor(opts: __ExceptionOptionType<LimitExceededException, __BaseException>);
755
+ constructor(opts: __ExceptionOptionType<PullThroughCacheRuleAlreadyExistsException, __BaseException>);
658
756
  }
659
757
  /**
660
758
  * @public
661
- * <p>A pull through cache rule with these settings already exists for the private
662
- * registry.</p>
759
+ * <p>The ARN of the secret specified in the pull through cache rule was not found. Update
760
+ * the pull through cache rule with a valid secret ARN and try again.</p>
663
761
  */
664
- export declare class PullThroughCacheRuleAlreadyExistsException extends __BaseException {
665
- readonly name: "PullThroughCacheRuleAlreadyExistsException";
762
+ export declare class SecretNotFoundException extends __BaseException {
763
+ readonly name: "SecretNotFoundException";
666
764
  readonly $fault: "client";
667
765
  /**
668
766
  * @internal
669
767
  */
670
- constructor(opts: __ExceptionOptionType<PullThroughCacheRuleAlreadyExistsException, __BaseException>);
768
+ constructor(opts: __ExceptionOptionType<SecretNotFoundException, __BaseException>);
769
+ }
770
+ /**
771
+ * @public
772
+ * <p>The secret is unable to be accessed. Verify the resource permissions for the secret
773
+ * and try again.</p>
774
+ */
775
+ export declare class UnableToAccessSecretException extends __BaseException {
776
+ readonly name: "UnableToAccessSecretException";
777
+ readonly $fault: "client";
778
+ /**
779
+ * @internal
780
+ */
781
+ constructor(opts: __ExceptionOptionType<UnableToAccessSecretException, __BaseException>);
782
+ }
783
+ /**
784
+ * @public
785
+ * <p>The secret is accessible but is unable to be decrypted. Verify the resource
786
+ * permisisons and try again.</p>
787
+ */
788
+ export declare class UnableToDecryptSecretValueException extends __BaseException {
789
+ readonly name: "UnableToDecryptSecretValueException";
790
+ readonly $fault: "client";
791
+ /**
792
+ * @internal
793
+ */
794
+ constructor(opts: __ExceptionOptionType<UnableToDecryptSecretValueException, __BaseException>);
671
795
  }
672
796
  /**
673
797
  * @public
@@ -1019,6 +1143,12 @@ export interface DeletePullThroughCacheRuleResponse {
1019
1143
  * <p>The registry ID associated with the request.</p>
1020
1144
  */
1021
1145
  registryId?: string;
1146
+ /**
1147
+ * @public
1148
+ * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager secret associated with the pull through cache
1149
+ * rule.</p>
1150
+ */
1151
+ credentialArn?: string;
1022
1152
  }
1023
1153
  /**
1024
1154
  * @public
@@ -1082,7 +1212,8 @@ export interface DeleteRepositoryRequest {
1082
1212
  repositoryName: string | undefined;
1083
1213
  /**
1084
1214
  * @public
1085
- * <p> If a repository contains images, forces the deletion.</p>
1215
+ * <p>If true, deleting the repository force deletes the contents of the repository. If
1216
+ * false, the repository must be empty before attempting to delete it.</p>
1086
1217
  */
1087
1218
  force?: boolean;
1088
1219
  }
@@ -2119,6 +2250,23 @@ export interface PullThroughCacheRule {
2119
2250
  * associated with.</p>
2120
2251
  */
2121
2252
  registryId?: string;
2253
+ /**
2254
+ * @public
2255
+ * <p>The ARN of the Secrets Manager secret associated with the pull through cache rule.</p>
2256
+ */
2257
+ credentialArn?: string;
2258
+ /**
2259
+ * @public
2260
+ * <p>The name of the upstream source registry associated with the pull through cache
2261
+ * rule.</p>
2262
+ */
2263
+ upstreamRegistry?: UpstreamRegistry;
2264
+ /**
2265
+ * @public
2266
+ * <p>The date and time, in JavaScript date format, when the pull through cache rule was
2267
+ * last updated.</p>
2268
+ */
2269
+ updatedAt?: Date;
2122
2270
  }
2123
2271
  /**
2124
2272
  * @public
@@ -2419,6 +2567,19 @@ export declare class LayersNotFoundException extends __BaseException {
2419
2567
  */
2420
2568
  constructor(opts: __ExceptionOptionType<LayersNotFoundException, __BaseException>);
2421
2569
  }
2570
+ /**
2571
+ * @public
2572
+ * <p>There was an issue getting the upstream layer matching the pull through cache
2573
+ * rule.</p>
2574
+ */
2575
+ export declare class UnableToGetUpstreamLayerException extends __BaseException {
2576
+ readonly name: "UnableToGetUpstreamLayerException";
2577
+ readonly $fault: "client";
2578
+ /**
2579
+ * @internal
2580
+ */
2581
+ constructor(opts: __ExceptionOptionType<UnableToGetUpstreamLayerException, __BaseException>);
2582
+ }
2422
2583
  /**
2423
2584
  * @public
2424
2585
  */
@@ -3452,6 +3613,55 @@ export interface UntagResourceRequest {
3452
3613
  */
3453
3614
  export interface UntagResourceResponse {
3454
3615
  }
3616
+ /**
3617
+ * @public
3618
+ */
3619
+ export interface UpdatePullThroughCacheRuleRequest {
3620
+ /**
3621
+ * @public
3622
+ * <p>The Amazon Web Services account ID associated with the registry associated with the pull through
3623
+ * cache rule. If you do not specify a registry, the default registry is assumed.</p>
3624
+ */
3625
+ registryId?: string;
3626
+ /**
3627
+ * @public
3628
+ * <p>The repository name prefix to use when caching images from the source registry.</p>
3629
+ */
3630
+ ecrRepositoryPrefix: string | undefined;
3631
+ /**
3632
+ * @public
3633
+ * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager secret that identifies the credentials to authenticate
3634
+ * to the upstream registry.</p>
3635
+ */
3636
+ credentialArn: string | undefined;
3637
+ }
3638
+ /**
3639
+ * @public
3640
+ */
3641
+ export interface UpdatePullThroughCacheRuleResponse {
3642
+ /**
3643
+ * @public
3644
+ * <p>The Amazon ECR repository prefix associated with the pull through cache rule.</p>
3645
+ */
3646
+ ecrRepositoryPrefix?: string;
3647
+ /**
3648
+ * @public
3649
+ * <p>The registry ID associated with the request.</p>
3650
+ */
3651
+ registryId?: string;
3652
+ /**
3653
+ * @public
3654
+ * <p>The date and time, in JavaScript date format, when the pull through cache rule was
3655
+ * updated.</p>
3656
+ */
3657
+ updatedAt?: Date;
3658
+ /**
3659
+ * @public
3660
+ * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager secret associated with the pull through cache
3661
+ * rule.</p>
3662
+ */
3663
+ credentialArn?: string;
3664
+ }
3455
3665
  /**
3456
3666
  * @public
3457
3667
  * <p>The layer part size is not valid, or the first byte specified is not consecutive to
@@ -3548,3 +3758,60 @@ export interface UploadLayerPartResponse {
3548
3758
  */
3549
3759
  lastByteReceived?: number;
3550
3760
  }
3761
+ /**
3762
+ * @public
3763
+ */
3764
+ export interface ValidatePullThroughCacheRuleRequest {
3765
+ /**
3766
+ * @public
3767
+ * <p>The repository name prefix associated with the pull through cache rule.</p>
3768
+ */
3769
+ ecrRepositoryPrefix: string | undefined;
3770
+ /**
3771
+ * @public
3772
+ * <p>The registry ID associated with the pull through cache rule.
3773
+ * If you do not specify a registry, the default registry is assumed.</p>
3774
+ */
3775
+ registryId?: string;
3776
+ }
3777
+ /**
3778
+ * @public
3779
+ */
3780
+ export interface ValidatePullThroughCacheRuleResponse {
3781
+ /**
3782
+ * @public
3783
+ * <p>The Amazon ECR repository prefix associated with the pull through cache rule.</p>
3784
+ */
3785
+ ecrRepositoryPrefix?: string;
3786
+ /**
3787
+ * @public
3788
+ * <p>The registry ID associated with the request.</p>
3789
+ */
3790
+ registryId?: string;
3791
+ /**
3792
+ * @public
3793
+ * <p>The upstream registry URL associated with the pull through cache rule.</p>
3794
+ */
3795
+ upstreamRegistryUrl?: string;
3796
+ /**
3797
+ * @public
3798
+ * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager secret associated with the pull through cache
3799
+ * rule.</p>
3800
+ */
3801
+ credentialArn?: string;
3802
+ /**
3803
+ * @public
3804
+ * <p>Whether or not the pull through cache rule was validated. If <code>true</code>, Amazon ECR
3805
+ * was able to reach the upstream registry and authentication was successful. If
3806
+ * <code>false</code>, there was an issue and validation failed. The
3807
+ * <code>failure</code> reason indicates the cause.</p>
3808
+ */
3809
+ isValid?: boolean;
3810
+ /**
3811
+ * @public
3812
+ * <p>The reason the validation failed. For more details about possible causes and how to
3813
+ * address them, see <a href="https://docs.aws.amazon.com/AmazonECR/latest/userguide/pull-through-cache.html">Using pull through cache
3814
+ * rules</a> in the <i>Amazon Elastic Container Registry User Guide</i>.</p>
3815
+ */
3816
+ failure?: string;
3817
+ }
@@ -40,7 +40,9 @@ import { StartImageScanCommandInput, StartImageScanCommandOutput } from "../comm
40
40
  import { StartLifecyclePolicyPreviewCommandInput, StartLifecyclePolicyPreviewCommandOutput } from "../commands/StartLifecyclePolicyPreviewCommand";
41
41
  import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand";
42
42
  import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand";
43
+ import { UpdatePullThroughCacheRuleCommandInput, UpdatePullThroughCacheRuleCommandOutput } from "../commands/UpdatePullThroughCacheRuleCommand";
43
44
  import { UploadLayerPartCommandInput, UploadLayerPartCommandOutput } from "../commands/UploadLayerPartCommand";
45
+ import { ValidatePullThroughCacheRuleCommandInput, ValidatePullThroughCacheRuleCommandOutput } from "../commands/ValidatePullThroughCacheRuleCommand";
44
46
  /**
45
47
  * serializeAws_json1_1BatchCheckLayerAvailabilityCommand
46
48
  */
@@ -201,10 +203,18 @@ export declare const se_TagResourceCommand: (input: TagResourceCommandInput, con
201
203
  * serializeAws_json1_1UntagResourceCommand
202
204
  */
203
205
  export declare const se_UntagResourceCommand: (input: UntagResourceCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
206
+ /**
207
+ * serializeAws_json1_1UpdatePullThroughCacheRuleCommand
208
+ */
209
+ export declare const se_UpdatePullThroughCacheRuleCommand: (input: UpdatePullThroughCacheRuleCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
204
210
  /**
205
211
  * serializeAws_json1_1UploadLayerPartCommand
206
212
  */
207
213
  export declare const se_UploadLayerPartCommand: (input: UploadLayerPartCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
214
+ /**
215
+ * serializeAws_json1_1ValidatePullThroughCacheRuleCommand
216
+ */
217
+ export declare const se_ValidatePullThroughCacheRuleCommand: (input: ValidatePullThroughCacheRuleCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
208
218
  /**
209
219
  * deserializeAws_json1_1BatchCheckLayerAvailabilityCommand
210
220
  */
@@ -365,7 +375,15 @@ export declare const de_TagResourceCommand: (output: __HttpResponse, context: __
365
375
  * deserializeAws_json1_1UntagResourceCommand
366
376
  */
367
377
  export declare const de_UntagResourceCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<UntagResourceCommandOutput>;
378
+ /**
379
+ * deserializeAws_json1_1UpdatePullThroughCacheRuleCommand
380
+ */
381
+ export declare const de_UpdatePullThroughCacheRuleCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<UpdatePullThroughCacheRuleCommandOutput>;
368
382
  /**
369
383
  * deserializeAws_json1_1UploadLayerPartCommand
370
384
  */
371
385
  export declare const de_UploadLayerPartCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<UploadLayerPartCommandOutput>;
386
+ /**
387
+ * deserializeAws_json1_1ValidatePullThroughCacheRuleCommand
388
+ */
389
+ export declare const de_ValidatePullThroughCacheRuleCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<ValidatePullThroughCacheRuleCommandOutput>;