aws-sdk-ecr 1.65.0 → 1.66.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1f863825db35a3bd49713e0ed95d6efb7ef4691e8ef033736111adfc7d1bc120
4
- data.tar.gz: c9ec4a77969ae4f365c04a8977a48ffae8bd6aaad3d4318f52b109988238bfe1
3
+ metadata.gz: 4b1573eb5bbc39c596ad572882cd6f1180a1d85c0b23c6b70fcb64a467d3d5ce
4
+ data.tar.gz: 1f0744084dd68fdc6d65782e095735822954c7529cc1e6dd973b2ef603737e32
5
5
  SHA512:
6
- metadata.gz: f74e70d02b521259aba86f35f671c222d3d23ed2957ccf9245a05cf4439b2b8fd523a3a3530f93c0f5d508cfb8e0c5256eeab8a3cd02060b51cfc0604b3241ad
7
- data.tar.gz: b5601b2aca2ba2a3e2a6dd7a386f8bc727b39b02c0db687ca431dcbda19b87b052b68a4cd34b3ca17e5784f432a933001066aa536685f48d0b391797b84ab670
6
+ metadata.gz: 37f6e4d46efde86839c345e8f78f6ec41052a662007b37cc600be7065712f6ab76a3c659860e2929c5458e4009551d75ece8c8779212dfb25e8c94d06f7bf892
7
+ data.tar.gz: 9674d7235db234ffd62605b56121e99958b66a36e20022cd8d77cc006f45bb32ab294f978ea389152c43c61b2b4503338aaaf0021df2626186b2ebaa13514f47
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.66.0 (2023-11-17)
5
+ ------------------
6
+
7
+ * Feature - Documentation and operational updates for Amazon ECR, adding support for pull through cache rules for upstream registries that require authentication.
8
+
4
9
  1.65.0 (2023-09-27)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.65.0
1
+ 1.66.0
@@ -532,7 +532,7 @@ module Aws::ECR
532
532
  # resp.failures #=> Array
533
533
  # resp.failures[0].image_id.image_digest #=> String
534
534
  # resp.failures[0].image_id.image_tag #=> String
535
- # resp.failures[0].failure_code #=> String, one of "InvalidImageDigest", "InvalidImageTag", "ImageTagDoesNotMatchDigest", "ImageNotFound", "MissingDigestAndTag", "ImageReferencedByManifestList", "KmsError"
535
+ # resp.failures[0].failure_code #=> String, one of "InvalidImageDigest", "InvalidImageTag", "ImageTagDoesNotMatchDigest", "ImageNotFound", "MissingDigestAndTag", "ImageReferencedByManifestList", "KmsError", "UpstreamAccessDenied", "UpstreamTooManyRequests", "UpstreamUnavailable"
536
536
  # resp.failures[0].failure_reason #=> String
537
537
  #
538
538
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/BatchDeleteImage AWS API Documentation
@@ -633,7 +633,7 @@ module Aws::ECR
633
633
  # resp.failures #=> Array
634
634
  # resp.failures[0].image_id.image_digest #=> String
635
635
  # resp.failures[0].image_id.image_tag #=> String
636
- # resp.failures[0].failure_code #=> String, one of "InvalidImageDigest", "InvalidImageTag", "ImageTagDoesNotMatchDigest", "ImageNotFound", "MissingDigestAndTag", "ImageReferencedByManifestList", "KmsError"
636
+ # resp.failures[0].failure_code #=> String, one of "InvalidImageDigest", "InvalidImageTag", "ImageTagDoesNotMatchDigest", "ImageNotFound", "MissingDigestAndTag", "ImageReferencedByManifestList", "KmsError", "UpstreamAccessDenied", "UpstreamTooManyRequests", "UpstreamUnavailable"
637
637
  # resp.failures[0].failure_reason #=> String
638
638
  #
639
639
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/BatchGetImage AWS API Documentation
@@ -747,8 +747,13 @@ module Aws::ECR
747
747
  end
748
748
 
749
749
  # Creates a pull through cache rule. A pull through cache rule provides
750
- # a way to cache images from an external public registry in your Amazon
751
- # ECR private registry.
750
+ # a way to cache images from an upstream registry source in your Amazon
751
+ # ECR private registry. For more information, see [Using pull through
752
+ # cache rules][1] in the *Amazon Elastic Container Registry User Guide*.
753
+ #
754
+ #
755
+ #
756
+ # [1]: https://docs.aws.amazon.com/AmazonECR/latest/userguide/pull-through-cache.html
752
757
  #
753
758
  # @option params [required, String] :ecr_repository_prefix
754
759
  # The repository name prefix to use when caching images from the source
@@ -756,19 +761,43 @@ module Aws::ECR
756
761
  #
757
762
  # @option params [required, String] :upstream_registry_url
758
763
  # The registry URL of the upstream public registry to use as the source
759
- # for the pull through cache rule.
764
+ # for the pull through cache rule. The following is the syntax to use
765
+ # for each supported upstream registry.
766
+ #
767
+ # * Amazon ECR Public (`ecr-public`) - `public.ecr.aws`
768
+ #
769
+ # * Docker Hub (`docker-hub`) - `registry-1.docker.io`
770
+ #
771
+ # * Quay (`quay`) - `quay.io`
772
+ #
773
+ # * Kubernetes (`k8s`) - `registry.k8s.io`
774
+ #
775
+ # * GitHub Container Registry (`github-container-registry`) - `ghcr.io`
776
+ #
777
+ # * Microsoft Azure Container Registry (`azure-container-registry`) -
778
+ # `<custom>.azurecr.io`
760
779
  #
761
780
  # @option params [String] :registry_id
762
781
  # The Amazon Web Services account ID associated with the registry to
763
782
  # create the pull through cache rule for. If you do not specify a
764
783
  # registry, the default registry is assumed.
765
784
  #
785
+ # @option params [String] :upstream_registry
786
+ # The name of the upstream registry.
787
+ #
788
+ # @option params [String] :credential_arn
789
+ # The Amazon Resource Name (ARN) of the Amazon Web Services Secrets
790
+ # Manager secret that identifies the credentials to authenticate to the
791
+ # upstream registry.
792
+ #
766
793
  # @return [Types::CreatePullThroughCacheRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
767
794
  #
768
795
  # * {Types::CreatePullThroughCacheRuleResponse#ecr_repository_prefix #ecr_repository_prefix} => String
769
796
  # * {Types::CreatePullThroughCacheRuleResponse#upstream_registry_url #upstream_registry_url} => String
770
797
  # * {Types::CreatePullThroughCacheRuleResponse#created_at #created_at} => Time
771
798
  # * {Types::CreatePullThroughCacheRuleResponse#registry_id #registry_id} => String
799
+ # * {Types::CreatePullThroughCacheRuleResponse#upstream_registry #upstream_registry} => String
800
+ # * {Types::CreatePullThroughCacheRuleResponse#credential_arn #credential_arn} => String
772
801
  #
773
802
  # @example Request syntax with placeholder values
774
803
  #
@@ -776,6 +805,8 @@ module Aws::ECR
776
805
  # ecr_repository_prefix: "PullThroughCacheRuleRepositoryPrefix", # required
777
806
  # upstream_registry_url: "Url", # required
778
807
  # registry_id: "RegistryId",
808
+ # upstream_registry: "ecr-public", # accepts ecr-public, quay, k8s, docker-hub, github-container-registry, azure-container-registry
809
+ # credential_arn: "CredentialArn",
779
810
  # })
780
811
  #
781
812
  # @example Response structure
@@ -784,6 +815,8 @@ module Aws::ECR
784
815
  # resp.upstream_registry_url #=> String
785
816
  # resp.created_at #=> Time
786
817
  # resp.registry_id #=> String
818
+ # resp.upstream_registry #=> String, one of "ecr-public", "quay", "k8s", "docker-hub", "github-container-registry", "azure-container-registry"
819
+ # resp.credential_arn #=> String
787
820
  #
788
821
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/CreatePullThroughCacheRule AWS API Documentation
789
822
  #
@@ -961,6 +994,7 @@ module Aws::ECR
961
994
  # * {Types::DeletePullThroughCacheRuleResponse#upstream_registry_url #upstream_registry_url} => String
962
995
  # * {Types::DeletePullThroughCacheRuleResponse#created_at #created_at} => Time
963
996
  # * {Types::DeletePullThroughCacheRuleResponse#registry_id #registry_id} => String
997
+ # * {Types::DeletePullThroughCacheRuleResponse#credential_arn #credential_arn} => String
964
998
  #
965
999
  # @example Request syntax with placeholder values
966
1000
  #
@@ -975,6 +1009,7 @@ module Aws::ECR
975
1009
  # resp.upstream_registry_url #=> String
976
1010
  # resp.created_at #=> Time
977
1011
  # resp.registry_id #=> String
1012
+ # resp.credential_arn #=> String
978
1013
  #
979
1014
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeletePullThroughCacheRule AWS API Documentation
980
1015
  #
@@ -1006,9 +1041,10 @@ module Aws::ECR
1006
1041
  req.send_request(options)
1007
1042
  end
1008
1043
 
1009
- # Deletes a repository. If the repository contains images, you must
1010
- # either delete all images in the repository or use the `force` option
1011
- # to delete the repository.
1044
+ # Deletes a repository. If the repository isn't empty, you must either
1045
+ # delete the contents of the repository or use the `force` option to
1046
+ # delete the repository and have Amazon ECR delete all of its contents
1047
+ # on your behalf.
1012
1048
  #
1013
1049
  # @option params [String] :registry_id
1014
1050
  # The Amazon Web Services account ID associated with the registry that
@@ -1019,7 +1055,9 @@ module Aws::ECR
1019
1055
  # The name of the repository to delete.
1020
1056
  #
1021
1057
  # @option params [Boolean] :force
1022
- # If a repository contains images, forces the deletion.
1058
+ # If true, deleting the repository force deletes the contents of the
1059
+ # repository. If false, the repository must be empty before attempting
1060
+ # to delete it.
1023
1061
  #
1024
1062
  # @return [Types::DeleteRepositoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1025
1063
  #
@@ -1486,6 +1524,9 @@ module Aws::ECR
1486
1524
  # resp.pull_through_cache_rules[0].upstream_registry_url #=> String
1487
1525
  # resp.pull_through_cache_rules[0].created_at #=> Time
1488
1526
  # resp.pull_through_cache_rules[0].registry_id #=> String
1527
+ # resp.pull_through_cache_rules[0].credential_arn #=> String
1528
+ # resp.pull_through_cache_rules[0].upstream_registry #=> String, one of "ecr-public", "quay", "k8s", "docker-hub", "github-container-registry", "azure-container-registry"
1529
+ # resp.pull_through_cache_rules[0].updated_at #=> Time
1489
1530
  # resp.next_token #=> String
1490
1531
  #
1491
1532
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribePullThroughCacheRules AWS API Documentation
@@ -2792,6 +2833,53 @@ module Aws::ECR
2792
2833
  req.send_request(options)
2793
2834
  end
2794
2835
 
2836
+ # Updates an existing pull through cache rule.
2837
+ #
2838
+ # @option params [String] :registry_id
2839
+ # The Amazon Web Services account ID associated with the registry
2840
+ # associated with the pull through cache rule. If you do not specify a
2841
+ # registry, the default registry is assumed.
2842
+ #
2843
+ # @option params [required, String] :ecr_repository_prefix
2844
+ # The repository name prefix to use when caching images from the source
2845
+ # registry.
2846
+ #
2847
+ # @option params [required, String] :credential_arn
2848
+ # The Amazon Resource Name (ARN) of the Amazon Web Services Secrets
2849
+ # Manager secret that identifies the credentials to authenticate to the
2850
+ # upstream registry.
2851
+ #
2852
+ # @return [Types::UpdatePullThroughCacheRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2853
+ #
2854
+ # * {Types::UpdatePullThroughCacheRuleResponse#ecr_repository_prefix #ecr_repository_prefix} => String
2855
+ # * {Types::UpdatePullThroughCacheRuleResponse#registry_id #registry_id} => String
2856
+ # * {Types::UpdatePullThroughCacheRuleResponse#updated_at #updated_at} => Time
2857
+ # * {Types::UpdatePullThroughCacheRuleResponse#credential_arn #credential_arn} => String
2858
+ #
2859
+ # @example Request syntax with placeholder values
2860
+ #
2861
+ # resp = client.update_pull_through_cache_rule({
2862
+ # registry_id: "RegistryId",
2863
+ # ecr_repository_prefix: "PullThroughCacheRuleRepositoryPrefix", # required
2864
+ # credential_arn: "CredentialArn", # required
2865
+ # })
2866
+ #
2867
+ # @example Response structure
2868
+ #
2869
+ # resp.ecr_repository_prefix #=> String
2870
+ # resp.registry_id #=> String
2871
+ # resp.updated_at #=> Time
2872
+ # resp.credential_arn #=> String
2873
+ #
2874
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/UpdatePullThroughCacheRule AWS API Documentation
2875
+ #
2876
+ # @overload update_pull_through_cache_rule(params = {})
2877
+ # @param [Hash] params ({})
2878
+ def update_pull_through_cache_rule(params = {}, options = {})
2879
+ req = build_request(:update_pull_through_cache_rule, params)
2880
+ req.send_request(options)
2881
+ end
2882
+
2795
2883
  # Uploads an image layer part to Amazon ECR.
2796
2884
  #
2797
2885
  # When an image is pushed, each new image layer is uploaded in parts.
@@ -2862,6 +2950,54 @@ module Aws::ECR
2862
2950
  req.send_request(options)
2863
2951
  end
2864
2952
 
2953
+ # Validates an existing pull through cache rule for an upstream registry
2954
+ # that requires authentication. This will retrieve the contents of the
2955
+ # Amazon Web Services Secrets Manager secret, verify the syntax, and
2956
+ # then validate that authentication to the upstream registry is
2957
+ # successful.
2958
+ #
2959
+ # @option params [required, String] :ecr_repository_prefix
2960
+ # The repository name prefix associated with the pull through cache
2961
+ # rule.
2962
+ #
2963
+ # @option params [String] :registry_id
2964
+ # The registry ID associated with the pull through cache rule. If you do
2965
+ # not specify a registry, the default registry is assumed.
2966
+ #
2967
+ # @return [Types::ValidatePullThroughCacheRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2968
+ #
2969
+ # * {Types::ValidatePullThroughCacheRuleResponse#ecr_repository_prefix #ecr_repository_prefix} => String
2970
+ # * {Types::ValidatePullThroughCacheRuleResponse#registry_id #registry_id} => String
2971
+ # * {Types::ValidatePullThroughCacheRuleResponse#upstream_registry_url #upstream_registry_url} => String
2972
+ # * {Types::ValidatePullThroughCacheRuleResponse#credential_arn #credential_arn} => String
2973
+ # * {Types::ValidatePullThroughCacheRuleResponse#is_valid #is_valid} => Boolean
2974
+ # * {Types::ValidatePullThroughCacheRuleResponse#failure #failure} => String
2975
+ #
2976
+ # @example Request syntax with placeholder values
2977
+ #
2978
+ # resp = client.validate_pull_through_cache_rule({
2979
+ # ecr_repository_prefix: "PullThroughCacheRuleRepositoryPrefix", # required
2980
+ # registry_id: "RegistryId",
2981
+ # })
2982
+ #
2983
+ # @example Response structure
2984
+ #
2985
+ # resp.ecr_repository_prefix #=> String
2986
+ # resp.registry_id #=> String
2987
+ # resp.upstream_registry_url #=> String
2988
+ # resp.credential_arn #=> String
2989
+ # resp.is_valid #=> Boolean
2990
+ # resp.failure #=> String
2991
+ #
2992
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ValidatePullThroughCacheRule AWS API Documentation
2993
+ #
2994
+ # @overload validate_pull_through_cache_rule(params = {})
2995
+ # @param [Hash] params ({})
2996
+ def validate_pull_through_cache_rule(params = {}, options = {})
2997
+ req = build_request(:validate_pull_through_cache_rule, params)
2998
+ req.send_request(options)
2999
+ end
3000
+
2865
3001
  # @!endgroup
2866
3002
 
2867
3003
  # @param params ({})
@@ -2875,7 +3011,7 @@ module Aws::ECR
2875
3011
  params: params,
2876
3012
  config: config)
2877
3013
  context[:gem_name] = 'aws-sdk-ecr'
2878
- context[:gem_version] = '1.65.0'
3014
+ context[:gem_version] = '1.66.0'
2879
3015
  Seahorse::Client::Request.new(handlers, context)
2880
3016
  end
2881
3017
 
@@ -42,6 +42,7 @@ module Aws::ECR
42
42
  CreateRepositoryRequest = Shapes::StructureShape.new(name: 'CreateRepositoryRequest')
43
43
  CreateRepositoryResponse = Shapes::StructureShape.new(name: 'CreateRepositoryResponse')
44
44
  CreationTimestamp = Shapes::TimestampShape.new(name: 'CreationTimestamp')
45
+ CredentialArn = Shapes::StringShape.new(name: 'CredentialArn')
45
46
  CvssScore = Shapes::StructureShape.new(name: 'CvssScore')
46
47
  CvssScoreAdjustment = Shapes::StructureShape.new(name: 'CvssScoreAdjustment')
47
48
  CvssScoreAdjustmentList = Shapes::ListShape.new(name: 'CvssScoreAdjustmentList')
@@ -139,6 +140,7 @@ module Aws::ECR
139
140
  InvalidLayerPartException = Shapes::StructureShape.new(name: 'InvalidLayerPartException')
140
141
  InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException')
141
142
  InvalidTagParameterException = Shapes::StructureShape.new(name: 'InvalidTagParameterException')
143
+ IsPTCRuleValid = Shapes::BooleanShape.new(name: 'IsPTCRuleValid')
142
144
  KmsError = Shapes::StringShape.new(name: 'KmsError')
143
145
  KmsException = Shapes::StructureShape.new(name: 'KmsException')
144
146
  KmsKey = Shapes::StringShape.new(name: 'KmsKey')
@@ -180,6 +182,7 @@ module Aws::ECR
180
182
  MediaTypeList = Shapes::ListShape.new(name: 'MediaTypeList')
181
183
  Metric = Shapes::StringShape.new(name: 'Metric')
182
184
  NextToken = Shapes::StringShape.new(name: 'NextToken')
185
+ PTCValidateFailure = Shapes::StringShape.new(name: 'PTCValidateFailure')
183
186
  PackageManager = Shapes::StringShape.new(name: 'PackageManager')
184
187
  PackageVulnerabilityDetails = Shapes::StructureShape.new(name: 'PackageVulnerabilityDetails')
185
188
  PartSize = Shapes::IntegerShape.new(name: 'PartSize')
@@ -268,6 +271,7 @@ module Aws::ECR
268
271
  Score = Shapes::FloatShape.new(name: 'Score')
269
272
  ScoreDetails = Shapes::StructureShape.new(name: 'ScoreDetails')
270
273
  ScoringVector = Shapes::StringShape.new(name: 'ScoringVector')
274
+ SecretNotFoundException = Shapes::StructureShape.new(name: 'SecretNotFoundException')
271
275
  ServerException = Shapes::StructureShape.new(name: 'ServerException')
272
276
  SetRepositoryPolicyRequest = Shapes::StructureShape.new(name: 'SetRepositoryPolicyRequest')
273
277
  SetRepositoryPolicyResponse = Shapes::StructureShape.new(name: 'SetRepositoryPolicyResponse')
@@ -292,15 +296,25 @@ module Aws::ECR
292
296
  Title = Shapes::StringShape.new(name: 'Title')
293
297
  TooManyTagsException = Shapes::StructureShape.new(name: 'TooManyTagsException')
294
298
  Type = Shapes::StringShape.new(name: 'Type')
299
+ UnableToAccessSecretException = Shapes::StructureShape.new(name: 'UnableToAccessSecretException')
300
+ UnableToDecryptSecretValueException = Shapes::StructureShape.new(name: 'UnableToDecryptSecretValueException')
301
+ UnableToGetUpstreamImageException = Shapes::StructureShape.new(name: 'UnableToGetUpstreamImageException')
302
+ UnableToGetUpstreamLayerException = Shapes::StructureShape.new(name: 'UnableToGetUpstreamLayerException')
295
303
  UnsupportedImageTypeException = Shapes::StructureShape.new(name: 'UnsupportedImageTypeException')
296
304
  UnsupportedUpstreamRegistryException = Shapes::StructureShape.new(name: 'UnsupportedUpstreamRegistryException')
297
305
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
298
306
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
307
+ UpdatePullThroughCacheRuleRequest = Shapes::StructureShape.new(name: 'UpdatePullThroughCacheRuleRequest')
308
+ UpdatePullThroughCacheRuleResponse = Shapes::StructureShape.new(name: 'UpdatePullThroughCacheRuleResponse')
309
+ UpdatedTimestamp = Shapes::TimestampShape.new(name: 'UpdatedTimestamp')
299
310
  UploadId = Shapes::StringShape.new(name: 'UploadId')
300
311
  UploadLayerPartRequest = Shapes::StructureShape.new(name: 'UploadLayerPartRequest')
301
312
  UploadLayerPartResponse = Shapes::StructureShape.new(name: 'UploadLayerPartResponse')
302
313
  UploadNotFoundException = Shapes::StructureShape.new(name: 'UploadNotFoundException')
314
+ UpstreamRegistry = Shapes::StringShape.new(name: 'UpstreamRegistry')
303
315
  Url = Shapes::StringShape.new(name: 'Url')
316
+ ValidatePullThroughCacheRuleRequest = Shapes::StructureShape.new(name: 'ValidatePullThroughCacheRuleRequest')
317
+ ValidatePullThroughCacheRuleResponse = Shapes::StructureShape.new(name: 'ValidatePullThroughCacheRuleResponse')
304
318
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
305
319
  Version = Shapes::StringShape.new(name: 'Version')
306
320
  VulnerabilityId = Shapes::StringShape.new(name: 'VulnerabilityId')
@@ -384,12 +398,16 @@ module Aws::ECR
384
398
  CreatePullThroughCacheRuleRequest.add_member(:ecr_repository_prefix, Shapes::ShapeRef.new(shape: PullThroughCacheRuleRepositoryPrefix, required: true, location_name: "ecrRepositoryPrefix"))
385
399
  CreatePullThroughCacheRuleRequest.add_member(:upstream_registry_url, Shapes::ShapeRef.new(shape: Url, required: true, location_name: "upstreamRegistryUrl"))
386
400
  CreatePullThroughCacheRuleRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
401
+ CreatePullThroughCacheRuleRequest.add_member(:upstream_registry, Shapes::ShapeRef.new(shape: UpstreamRegistry, location_name: "upstreamRegistry"))
402
+ CreatePullThroughCacheRuleRequest.add_member(:credential_arn, Shapes::ShapeRef.new(shape: CredentialArn, location_name: "credentialArn"))
387
403
  CreatePullThroughCacheRuleRequest.struct_class = Types::CreatePullThroughCacheRuleRequest
388
404
 
389
405
  CreatePullThroughCacheRuleResponse.add_member(:ecr_repository_prefix, Shapes::ShapeRef.new(shape: PullThroughCacheRuleRepositoryPrefix, location_name: "ecrRepositoryPrefix"))
390
406
  CreatePullThroughCacheRuleResponse.add_member(:upstream_registry_url, Shapes::ShapeRef.new(shape: Url, location_name: "upstreamRegistryUrl"))
391
407
  CreatePullThroughCacheRuleResponse.add_member(:created_at, Shapes::ShapeRef.new(shape: CreationTimestamp, location_name: "createdAt"))
392
408
  CreatePullThroughCacheRuleResponse.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
409
+ CreatePullThroughCacheRuleResponse.add_member(:upstream_registry, Shapes::ShapeRef.new(shape: UpstreamRegistry, location_name: "upstreamRegistry"))
410
+ CreatePullThroughCacheRuleResponse.add_member(:credential_arn, Shapes::ShapeRef.new(shape: CredentialArn, location_name: "credentialArn"))
393
411
  CreatePullThroughCacheRuleResponse.struct_class = Types::CreatePullThroughCacheRuleResponse
394
412
 
395
413
  CreateRepositoryRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
@@ -442,6 +460,7 @@ module Aws::ECR
442
460
  DeletePullThroughCacheRuleResponse.add_member(:upstream_registry_url, Shapes::ShapeRef.new(shape: Url, location_name: "upstreamRegistryUrl"))
443
461
  DeletePullThroughCacheRuleResponse.add_member(:created_at, Shapes::ShapeRef.new(shape: CreationTimestamp, location_name: "createdAt"))
444
462
  DeletePullThroughCacheRuleResponse.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
463
+ DeletePullThroughCacheRuleResponse.add_member(:credential_arn, Shapes::ShapeRef.new(shape: CredentialArn, location_name: "credentialArn"))
445
464
  DeletePullThroughCacheRuleResponse.struct_class = Types::DeletePullThroughCacheRuleResponse
446
465
 
447
466
  DeleteRegistryPolicyRequest.struct_class = Types::DeleteRegistryPolicyRequest
@@ -841,6 +860,9 @@ module Aws::ECR
841
860
  PullThroughCacheRule.add_member(:upstream_registry_url, Shapes::ShapeRef.new(shape: Url, location_name: "upstreamRegistryUrl"))
842
861
  PullThroughCacheRule.add_member(:created_at, Shapes::ShapeRef.new(shape: CreationTimestamp, location_name: "createdAt"))
843
862
  PullThroughCacheRule.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
863
+ PullThroughCacheRule.add_member(:credential_arn, Shapes::ShapeRef.new(shape: CredentialArn, location_name: "credentialArn"))
864
+ PullThroughCacheRule.add_member(:upstream_registry, Shapes::ShapeRef.new(shape: UpstreamRegistry, location_name: "upstreamRegistry"))
865
+ PullThroughCacheRule.add_member(:updated_at, Shapes::ShapeRef.new(shape: UpdatedTimestamp, location_name: "updatedAt"))
844
866
  PullThroughCacheRule.struct_class = Types::PullThroughCacheRule
845
867
 
846
868
  PullThroughCacheRuleAlreadyExistsException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
@@ -1029,6 +1051,9 @@ module Aws::ECR
1029
1051
  ScoreDetails.add_member(:cvss, Shapes::ShapeRef.new(shape: CvssScoreDetails, location_name: "cvss"))
1030
1052
  ScoreDetails.struct_class = Types::ScoreDetails
1031
1053
 
1054
+ SecretNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
1055
+ SecretNotFoundException.struct_class = Types::SecretNotFoundException
1056
+
1032
1057
  ServerException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
1033
1058
  ServerException.struct_class = Types::ServerException
1034
1059
 
@@ -1085,6 +1110,18 @@ module Aws::ECR
1085
1110
  TooManyTagsException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
1086
1111
  TooManyTagsException.struct_class = Types::TooManyTagsException
1087
1112
 
1113
+ UnableToAccessSecretException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
1114
+ UnableToAccessSecretException.struct_class = Types::UnableToAccessSecretException
1115
+
1116
+ UnableToDecryptSecretValueException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
1117
+ UnableToDecryptSecretValueException.struct_class = Types::UnableToDecryptSecretValueException
1118
+
1119
+ UnableToGetUpstreamImageException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
1120
+ UnableToGetUpstreamImageException.struct_class = Types::UnableToGetUpstreamImageException
1121
+
1122
+ UnableToGetUpstreamLayerException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
1123
+ UnableToGetUpstreamLayerException.struct_class = Types::UnableToGetUpstreamLayerException
1124
+
1088
1125
  UnsupportedImageTypeException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
1089
1126
  UnsupportedImageTypeException.struct_class = Types::UnsupportedImageTypeException
1090
1127
 
@@ -1097,6 +1134,17 @@ module Aws::ECR
1097
1134
 
1098
1135
  UntagResourceResponse.struct_class = Types::UntagResourceResponse
1099
1136
 
1137
+ UpdatePullThroughCacheRuleRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
1138
+ UpdatePullThroughCacheRuleRequest.add_member(:ecr_repository_prefix, Shapes::ShapeRef.new(shape: PullThroughCacheRuleRepositoryPrefix, required: true, location_name: "ecrRepositoryPrefix"))
1139
+ UpdatePullThroughCacheRuleRequest.add_member(:credential_arn, Shapes::ShapeRef.new(shape: CredentialArn, required: true, location_name: "credentialArn"))
1140
+ UpdatePullThroughCacheRuleRequest.struct_class = Types::UpdatePullThroughCacheRuleRequest
1141
+
1142
+ UpdatePullThroughCacheRuleResponse.add_member(:ecr_repository_prefix, Shapes::ShapeRef.new(shape: PullThroughCacheRuleRepositoryPrefix, location_name: "ecrRepositoryPrefix"))
1143
+ UpdatePullThroughCacheRuleResponse.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
1144
+ UpdatePullThroughCacheRuleResponse.add_member(:updated_at, Shapes::ShapeRef.new(shape: UpdatedTimestamp, location_name: "updatedAt"))
1145
+ UpdatePullThroughCacheRuleResponse.add_member(:credential_arn, Shapes::ShapeRef.new(shape: CredentialArn, location_name: "credentialArn"))
1146
+ UpdatePullThroughCacheRuleResponse.struct_class = Types::UpdatePullThroughCacheRuleResponse
1147
+
1100
1148
  UploadLayerPartRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
1101
1149
  UploadLayerPartRequest.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, required: true, location_name: "repositoryName"))
1102
1150
  UploadLayerPartRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: UploadId, required: true, location_name: "uploadId"))
@@ -1114,6 +1162,18 @@ module Aws::ECR
1114
1162
  UploadNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
1115
1163
  UploadNotFoundException.struct_class = Types::UploadNotFoundException
1116
1164
 
1165
+ ValidatePullThroughCacheRuleRequest.add_member(:ecr_repository_prefix, Shapes::ShapeRef.new(shape: PullThroughCacheRuleRepositoryPrefix, required: true, location_name: "ecrRepositoryPrefix"))
1166
+ ValidatePullThroughCacheRuleRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
1167
+ ValidatePullThroughCacheRuleRequest.struct_class = Types::ValidatePullThroughCacheRuleRequest
1168
+
1169
+ ValidatePullThroughCacheRuleResponse.add_member(:ecr_repository_prefix, Shapes::ShapeRef.new(shape: PullThroughCacheRuleRepositoryPrefix, location_name: "ecrRepositoryPrefix"))
1170
+ ValidatePullThroughCacheRuleResponse.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
1171
+ ValidatePullThroughCacheRuleResponse.add_member(:upstream_registry_url, Shapes::ShapeRef.new(shape: Url, location_name: "upstreamRegistryUrl"))
1172
+ ValidatePullThroughCacheRuleResponse.add_member(:credential_arn, Shapes::ShapeRef.new(shape: CredentialArn, location_name: "credentialArn"))
1173
+ ValidatePullThroughCacheRuleResponse.add_member(:is_valid, Shapes::ShapeRef.new(shape: IsPTCRuleValid, location_name: "isValid"))
1174
+ ValidatePullThroughCacheRuleResponse.add_member(:failure, Shapes::ShapeRef.new(shape: PTCValidateFailure, location_name: "failure"))
1175
+ ValidatePullThroughCacheRuleResponse.struct_class = Types::ValidatePullThroughCacheRuleResponse
1176
+
1117
1177
  ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
1118
1178
  ValidationException.struct_class = Types::ValidationException
1119
1179
 
@@ -1180,6 +1240,8 @@ module Aws::ECR
1180
1240
  o.errors << Shapes::ShapeRef.new(shape: ServerException)
1181
1241
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1182
1242
  o.errors << Shapes::ShapeRef.new(shape: RepositoryNotFoundException)
1243
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1244
+ o.errors << Shapes::ShapeRef.new(shape: UnableToGetUpstreamImageException)
1183
1245
  end)
1184
1246
 
1185
1247
  api.add_operation(:batch_get_repository_scanning_configuration, Seahorse::Model::Operation.new.tap do |o|
@@ -1223,6 +1285,9 @@ module Aws::ECR
1223
1285
  o.errors << Shapes::ShapeRef.new(shape: PullThroughCacheRuleAlreadyExistsException)
1224
1286
  o.errors << Shapes::ShapeRef.new(shape: UnsupportedUpstreamRegistryException)
1225
1287
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1288
+ o.errors << Shapes::ShapeRef.new(shape: UnableToAccessSecretException)
1289
+ o.errors << Shapes::ShapeRef.new(shape: SecretNotFoundException)
1290
+ o.errors << Shapes::ShapeRef.new(shape: UnableToDecryptSecretValueException)
1226
1291
  end)
1227
1292
 
1228
1293
  api.add_operation(:create_repository, Seahorse::Model::Operation.new.tap do |o|
@@ -1420,6 +1485,7 @@ module Aws::ECR
1420
1485
  o.errors << Shapes::ShapeRef.new(shape: LayersNotFoundException)
1421
1486
  o.errors << Shapes::ShapeRef.new(shape: LayerInaccessibleException)
1422
1487
  o.errors << Shapes::ShapeRef.new(shape: RepositoryNotFoundException)
1488
+ o.errors << Shapes::ShapeRef.new(shape: UnableToGetUpstreamLayerException)
1423
1489
  end)
1424
1490
 
1425
1491
  api.add_operation(:get_lifecycle_policy, Seahorse::Model::Operation.new.tap do |o|
@@ -1681,6 +1747,21 @@ module Aws::ECR
1681
1747
  o.errors << Shapes::ShapeRef.new(shape: ServerException)
1682
1748
  end)
1683
1749
 
1750
+ api.add_operation(:update_pull_through_cache_rule, Seahorse::Model::Operation.new.tap do |o|
1751
+ o.name = "UpdatePullThroughCacheRule"
1752
+ o.http_method = "POST"
1753
+ o.http_request_uri = "/"
1754
+ o.input = Shapes::ShapeRef.new(shape: UpdatePullThroughCacheRuleRequest)
1755
+ o.output = Shapes::ShapeRef.new(shape: UpdatePullThroughCacheRuleResponse)
1756
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
1757
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1758
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1759
+ o.errors << Shapes::ShapeRef.new(shape: UnableToAccessSecretException)
1760
+ o.errors << Shapes::ShapeRef.new(shape: PullThroughCacheRuleNotFoundException)
1761
+ o.errors << Shapes::ShapeRef.new(shape: SecretNotFoundException)
1762
+ o.errors << Shapes::ShapeRef.new(shape: UnableToDecryptSecretValueException)
1763
+ end)
1764
+
1684
1765
  api.add_operation(:upload_layer_part, Seahorse::Model::Operation.new.tap do |o|
1685
1766
  o.name = "UploadLayerPart"
1686
1767
  o.http_method = "POST"
@@ -1695,6 +1776,18 @@ module Aws::ECR
1695
1776
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1696
1777
  o.errors << Shapes::ShapeRef.new(shape: KmsException)
1697
1778
  end)
1779
+
1780
+ api.add_operation(:validate_pull_through_cache_rule, Seahorse::Model::Operation.new.tap do |o|
1781
+ o.name = "ValidatePullThroughCacheRule"
1782
+ o.http_method = "POST"
1783
+ o.http_request_uri = "/"
1784
+ o.input = Shapes::ShapeRef.new(shape: ValidatePullThroughCacheRuleRequest)
1785
+ o.output = Shapes::ShapeRef.new(shape: ValidatePullThroughCacheRuleResponse)
1786
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
1787
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1788
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1789
+ o.errors << Shapes::ShapeRef.new(shape: PullThroughCacheRuleNotFoundException)
1790
+ end)
1698
1791
  end
1699
1792
 
1700
1793
  end
@@ -32,11 +32,11 @@ module Aws::ECR
32
32
  raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
33
  end
34
34
  if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
36
- if Aws::Endpoints::Matchers.string_equals?("aws", Aws::Endpoints::Matchers.attr(partition_result, "name"))
35
+ if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
36
+ if Aws::Endpoints::Matchers.string_equals?(Aws::Endpoints::Matchers.attr(partition_result, "name"), "aws")
37
37
  return Aws::Endpoints::Endpoint.new(url: "https://ecr-fips.#{region}.amazonaws.com", headers: {}, properties: {})
38
38
  end
39
- if Aws::Endpoints::Matchers.string_equals?("aws-us-gov", Aws::Endpoints::Matchers.attr(partition_result, "name"))
39
+ if Aws::Endpoints::Matchers.string_equals?(Aws::Endpoints::Matchers.attr(partition_result, "name"), "aws-us-gov")
40
40
  return Aws::Endpoints::Endpoint.new(url: "https://ecr-fips.#{region}.amazonaws.com", headers: {}, properties: {})
41
41
  end
42
42
  return Aws::Endpoints::Endpoint.new(url: "https://api.ecr-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
@@ -572,6 +572,20 @@ module Aws::ECR
572
572
  end
573
573
  end
574
574
 
575
+ class UpdatePullThroughCacheRule
576
+ def self.build(context)
577
+ unless context.config.regional_endpoint
578
+ endpoint = context.config.endpoint.to_s
579
+ end
580
+ Aws::ECR::EndpointParameters.new(
581
+ region: context.config.region,
582
+ use_dual_stack: context.config.use_dualstack_endpoint,
583
+ use_fips: context.config.use_fips_endpoint,
584
+ endpoint: endpoint,
585
+ )
586
+ end
587
+ end
588
+
575
589
  class UploadLayerPart
576
590
  def self.build(context)
577
591
  unless context.config.regional_endpoint
@@ -586,5 +600,19 @@ module Aws::ECR
586
600
  end
587
601
  end
588
602
 
603
+ class ValidatePullThroughCacheRule
604
+ def self.build(context)
605
+ unless context.config.regional_endpoint
606
+ endpoint = context.config.endpoint.to_s
607
+ end
608
+ Aws::ECR::EndpointParameters.new(
609
+ region: context.config.region,
610
+ use_dual_stack: context.config.use_dualstack_endpoint,
611
+ use_fips: context.config.use_fips_endpoint,
612
+ endpoint: endpoint,
613
+ )
614
+ end
615
+ end
616
+
589
617
  end
590
618
  end
@@ -54,8 +54,13 @@ module Aws::ECR
54
54
  # * {RepositoryNotFoundException}
55
55
  # * {RepositoryPolicyNotFoundException}
56
56
  # * {ScanNotFoundException}
57
+ # * {SecretNotFoundException}
57
58
  # * {ServerException}
58
59
  # * {TooManyTagsException}
60
+ # * {UnableToAccessSecretException}
61
+ # * {UnableToDecryptSecretValueException}
62
+ # * {UnableToGetUpstreamImageException}
63
+ # * {UnableToGetUpstreamLayerException}
59
64
  # * {UnsupportedImageTypeException}
60
65
  # * {UnsupportedUpstreamRegistryException}
61
66
  # * {UploadNotFoundException}
@@ -497,6 +502,21 @@ module Aws::ECR
497
502
  end
498
503
  end
499
504
 
505
+ class SecretNotFoundException < ServiceError
506
+
507
+ # @param [Seahorse::Client::RequestContext] context
508
+ # @param [String] message
509
+ # @param [Aws::ECR::Types::SecretNotFoundException] data
510
+ def initialize(context, message, data = Aws::EmptyStructure.new)
511
+ super(context, message, data)
512
+ end
513
+
514
+ # @return [String]
515
+ def message
516
+ @message || @data[:message]
517
+ end
518
+ end
519
+
500
520
  class ServerException < ServiceError
501
521
 
502
522
  # @param [Seahorse::Client::RequestContext] context
@@ -527,6 +547,66 @@ module Aws::ECR
527
547
  end
528
548
  end
529
549
 
550
+ class UnableToAccessSecretException < ServiceError
551
+
552
+ # @param [Seahorse::Client::RequestContext] context
553
+ # @param [String] message
554
+ # @param [Aws::ECR::Types::UnableToAccessSecretException] data
555
+ def initialize(context, message, data = Aws::EmptyStructure.new)
556
+ super(context, message, data)
557
+ end
558
+
559
+ # @return [String]
560
+ def message
561
+ @message || @data[:message]
562
+ end
563
+ end
564
+
565
+ class UnableToDecryptSecretValueException < ServiceError
566
+
567
+ # @param [Seahorse::Client::RequestContext] context
568
+ # @param [String] message
569
+ # @param [Aws::ECR::Types::UnableToDecryptSecretValueException] data
570
+ def initialize(context, message, data = Aws::EmptyStructure.new)
571
+ super(context, message, data)
572
+ end
573
+
574
+ # @return [String]
575
+ def message
576
+ @message || @data[:message]
577
+ end
578
+ end
579
+
580
+ class UnableToGetUpstreamImageException < ServiceError
581
+
582
+ # @param [Seahorse::Client::RequestContext] context
583
+ # @param [String] message
584
+ # @param [Aws::ECR::Types::UnableToGetUpstreamImageException] data
585
+ def initialize(context, message, data = Aws::EmptyStructure.new)
586
+ super(context, message, data)
587
+ end
588
+
589
+ # @return [String]
590
+ def message
591
+ @message || @data[:message]
592
+ end
593
+ end
594
+
595
+ class UnableToGetUpstreamLayerException < ServiceError
596
+
597
+ # @param [Seahorse::Client::RequestContext] context
598
+ # @param [String] message
599
+ # @param [Aws::ECR::Types::UnableToGetUpstreamLayerException] data
600
+ def initialize(context, message, data = Aws::EmptyStructure.new)
601
+ super(context, message, data)
602
+ end
603
+
604
+ # @return [String]
605
+ def message
606
+ @message || @data[:message]
607
+ end
608
+ end
609
+
530
610
  class UnsupportedImageTypeException < ServiceError
531
611
 
532
612
  # @param [Seahorse::Client::RequestContext] context
@@ -136,8 +136,12 @@ module Aws::ECR
136
136
  Aws::ECR::Endpoints::TagResource.build(context)
137
137
  when :untag_resource
138
138
  Aws::ECR::Endpoints::UntagResource.build(context)
139
+ when :update_pull_through_cache_rule
140
+ Aws::ECR::Endpoints::UpdatePullThroughCacheRule.build(context)
139
141
  when :upload_layer_part
140
142
  Aws::ECR::Endpoints::UploadLayerPart.build(context)
143
+ when :validate_pull_through_cache_rule
144
+ Aws::ECR::Endpoints::ValidatePullThroughCacheRule.build(context)
141
145
  end
142
146
  end
143
147
  end
@@ -345,7 +345,22 @@ module Aws::ECR
345
345
  #
346
346
  # @!attribute [rw] upstream_registry_url
347
347
  # The registry URL of the upstream public registry to use as the
348
- # source for the pull through cache rule.
348
+ # source for the pull through cache rule. The following is the syntax
349
+ # to use for each supported upstream registry.
350
+ #
351
+ # * Amazon ECR Public (`ecr-public`) - `public.ecr.aws`
352
+ #
353
+ # * Docker Hub (`docker-hub`) - `registry-1.docker.io`
354
+ #
355
+ # * Quay (`quay`) - `quay.io`
356
+ #
357
+ # * Kubernetes (`k8s`) - `registry.k8s.io`
358
+ #
359
+ # * GitHub Container Registry (`github-container-registry`) -
360
+ # `ghcr.io`
361
+ #
362
+ # * Microsoft Azure Container Registry (`azure-container-registry`) -
363
+ # `<custom>.azurecr.io`
349
364
  # @return [String]
350
365
  #
351
366
  # @!attribute [rw] registry_id
@@ -354,12 +369,24 @@ module Aws::ECR
354
369
  # registry, the default registry is assumed.
355
370
  # @return [String]
356
371
  #
372
+ # @!attribute [rw] upstream_registry
373
+ # The name of the upstream registry.
374
+ # @return [String]
375
+ #
376
+ # @!attribute [rw] credential_arn
377
+ # The Amazon Resource Name (ARN) of the Amazon Web Services Secrets
378
+ # Manager secret that identifies the credentials to authenticate to
379
+ # the upstream registry.
380
+ # @return [String]
381
+ #
357
382
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/CreatePullThroughCacheRuleRequest AWS API Documentation
358
383
  #
359
384
  class CreatePullThroughCacheRuleRequest < Struct.new(
360
385
  :ecr_repository_prefix,
361
386
  :upstream_registry_url,
362
- :registry_id)
387
+ :registry_id,
388
+ :upstream_registry,
389
+ :credential_arn)
363
390
  SENSITIVE = []
364
391
  include Aws::Structure
365
392
  end
@@ -383,13 +410,25 @@ module Aws::ECR
383
410
  # The registry ID associated with the request.
384
411
  # @return [String]
385
412
  #
413
+ # @!attribute [rw] upstream_registry
414
+ # The name of the upstream registry associated with the pull through
415
+ # cache rule.
416
+ # @return [String]
417
+ #
418
+ # @!attribute [rw] credential_arn
419
+ # The Amazon Resource Name (ARN) of the Amazon Web Services Secrets
420
+ # Manager secret associated with the pull through cache rule.
421
+ # @return [String]
422
+ #
386
423
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/CreatePullThroughCacheRuleResponse AWS API Documentation
387
424
  #
388
425
  class CreatePullThroughCacheRuleResponse < Struct.new(
389
426
  :ecr_repository_prefix,
390
427
  :upstream_registry_url,
391
428
  :created_at,
392
- :registry_id)
429
+ :registry_id,
430
+ :upstream_registry,
431
+ :credential_arn)
393
432
  SENSITIVE = []
394
433
  include Aws::Structure
395
434
  end
@@ -630,13 +669,19 @@ module Aws::ECR
630
669
  # The registry ID associated with the request.
631
670
  # @return [String]
632
671
  #
672
+ # @!attribute [rw] credential_arn
673
+ # The Amazon Resource Name (ARN) of the Amazon Web Services Secrets
674
+ # Manager secret associated with the pull through cache rule.
675
+ # @return [String]
676
+ #
633
677
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeletePullThroughCacheRuleResponse AWS API Documentation
634
678
  #
635
679
  class DeletePullThroughCacheRuleResponse < Struct.new(
636
680
  :ecr_repository_prefix,
637
681
  :upstream_registry_url,
638
682
  :created_at,
639
- :registry_id)
683
+ :registry_id,
684
+ :credential_arn)
640
685
  SENSITIVE = []
641
686
  include Aws::Structure
642
687
  end
@@ -717,7 +762,9 @@ module Aws::ECR
717
762
  # @return [String]
718
763
  #
719
764
  # @!attribute [rw] force
720
- # If a repository contains images, forces the deletion.
765
+ # If true, deleting the repository force deletes the contents of the
766
+ # repository. If false, the repository must be empty before attempting
767
+ # to delete it.
721
768
  # @return [Boolean]
722
769
  #
723
770
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeleteRepositoryRequest AWS API Documentation
@@ -2575,13 +2622,31 @@ module Aws::ECR
2575
2622
  # pull through cache rule is associated with.
2576
2623
  # @return [String]
2577
2624
  #
2625
+ # @!attribute [rw] credential_arn
2626
+ # The ARN of the Secrets Manager secret associated with the pull
2627
+ # through cache rule.
2628
+ # @return [String]
2629
+ #
2630
+ # @!attribute [rw] upstream_registry
2631
+ # The name of the upstream source registry associated with the pull
2632
+ # through cache rule.
2633
+ # @return [String]
2634
+ #
2635
+ # @!attribute [rw] updated_at
2636
+ # The date and time, in JavaScript date format, when the pull through
2637
+ # cache rule was last updated.
2638
+ # @return [Time]
2639
+ #
2578
2640
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PullThroughCacheRule AWS API Documentation
2579
2641
  #
2580
2642
  class PullThroughCacheRule < Struct.new(
2581
2643
  :ecr_repository_prefix,
2582
2644
  :upstream_registry_url,
2583
2645
  :created_at,
2584
- :registry_id)
2646
+ :registry_id,
2647
+ :credential_arn,
2648
+ :upstream_registry,
2649
+ :updated_at)
2585
2650
  SENSITIVE = []
2586
2651
  include Aws::Structure
2587
2652
  end
@@ -3388,6 +3453,21 @@ module Aws::ECR
3388
3453
  include Aws::Structure
3389
3454
  end
3390
3455
 
3456
+ # The ARN of the secret specified in the pull through cache rule was not
3457
+ # found. Update the pull through cache rule with a valid secret ARN and
3458
+ # try again.
3459
+ #
3460
+ # @!attribute [rw] message
3461
+ # @return [String]
3462
+ #
3463
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/SecretNotFoundException AWS API Documentation
3464
+ #
3465
+ class SecretNotFoundException < Struct.new(
3466
+ :message)
3467
+ SENSITIVE = []
3468
+ include Aws::Structure
3469
+ end
3470
+
3391
3471
  # These errors are usually caused by a server-side issue.
3392
3472
  #
3393
3473
  # @!attribute [rw] message
@@ -3632,6 +3712,64 @@ module Aws::ECR
3632
3712
  include Aws::Structure
3633
3713
  end
3634
3714
 
3715
+ # The secret is unable to be accessed. Verify the resource permissions
3716
+ # for the secret and try again.
3717
+ #
3718
+ # @!attribute [rw] message
3719
+ # @return [String]
3720
+ #
3721
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/UnableToAccessSecretException AWS API Documentation
3722
+ #
3723
+ class UnableToAccessSecretException < Struct.new(
3724
+ :message)
3725
+ SENSITIVE = []
3726
+ include Aws::Structure
3727
+ end
3728
+
3729
+ # The secret is accessible but is unable to be decrypted. Verify the
3730
+ # resource permisisons and try again.
3731
+ #
3732
+ # @!attribute [rw] message
3733
+ # @return [String]
3734
+ #
3735
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/UnableToDecryptSecretValueException AWS API Documentation
3736
+ #
3737
+ class UnableToDecryptSecretValueException < Struct.new(
3738
+ :message)
3739
+ SENSITIVE = []
3740
+ include Aws::Structure
3741
+ end
3742
+
3743
+ # The image or images were unable to be pulled using the pull through
3744
+ # cache rule. This is usually caused because of an issue with the
3745
+ # Secrets Manager secret containing the credentials for the upstream
3746
+ # registry.
3747
+ #
3748
+ # @!attribute [rw] message
3749
+ # @return [String]
3750
+ #
3751
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/UnableToGetUpstreamImageException AWS API Documentation
3752
+ #
3753
+ class UnableToGetUpstreamImageException < Struct.new(
3754
+ :message)
3755
+ SENSITIVE = []
3756
+ include Aws::Structure
3757
+ end
3758
+
3759
+ # There was an issue getting the upstream layer matching the pull
3760
+ # through cache rule.
3761
+ #
3762
+ # @!attribute [rw] message
3763
+ # @return [String]
3764
+ #
3765
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/UnableToGetUpstreamLayerException AWS API Documentation
3766
+ #
3767
+ class UnableToGetUpstreamLayerException < Struct.new(
3768
+ :message)
3769
+ SENSITIVE = []
3770
+ include Aws::Structure
3771
+ end
3772
+
3635
3773
  # The image is of a type that cannot be scanned.
3636
3774
  #
3637
3775
  # @!attribute [rw] message
@@ -3681,6 +3819,63 @@ module Aws::ECR
3681
3819
  #
3682
3820
  class UntagResourceResponse < Aws::EmptyStructure; end
3683
3821
 
3822
+ # @!attribute [rw] registry_id
3823
+ # The Amazon Web Services account ID associated with the registry
3824
+ # associated with the pull through cache rule. If you do not specify a
3825
+ # registry, the default registry is assumed.
3826
+ # @return [String]
3827
+ #
3828
+ # @!attribute [rw] ecr_repository_prefix
3829
+ # The repository name prefix to use when caching images from the
3830
+ # source registry.
3831
+ # @return [String]
3832
+ #
3833
+ # @!attribute [rw] credential_arn
3834
+ # The Amazon Resource Name (ARN) of the Amazon Web Services Secrets
3835
+ # Manager secret that identifies the credentials to authenticate to
3836
+ # the upstream registry.
3837
+ # @return [String]
3838
+ #
3839
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/UpdatePullThroughCacheRuleRequest AWS API Documentation
3840
+ #
3841
+ class UpdatePullThroughCacheRuleRequest < Struct.new(
3842
+ :registry_id,
3843
+ :ecr_repository_prefix,
3844
+ :credential_arn)
3845
+ SENSITIVE = []
3846
+ include Aws::Structure
3847
+ end
3848
+
3849
+ # @!attribute [rw] ecr_repository_prefix
3850
+ # The Amazon ECR repository prefix associated with the pull through
3851
+ # cache rule.
3852
+ # @return [String]
3853
+ #
3854
+ # @!attribute [rw] registry_id
3855
+ # The registry ID associated with the request.
3856
+ # @return [String]
3857
+ #
3858
+ # @!attribute [rw] updated_at
3859
+ # The date and time, in JavaScript date format, when the pull through
3860
+ # cache rule was updated.
3861
+ # @return [Time]
3862
+ #
3863
+ # @!attribute [rw] credential_arn
3864
+ # The Amazon Resource Name (ARN) of the Amazon Web Services Secrets
3865
+ # Manager secret associated with the pull through cache rule.
3866
+ # @return [String]
3867
+ #
3868
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/UpdatePullThroughCacheRuleResponse AWS API Documentation
3869
+ #
3870
+ class UpdatePullThroughCacheRuleResponse < Struct.new(
3871
+ :ecr_repository_prefix,
3872
+ :registry_id,
3873
+ :updated_at,
3874
+ :credential_arn)
3875
+ SENSITIVE = []
3876
+ include Aws::Structure
3877
+ end
3878
+
3684
3879
  # @!attribute [rw] registry_id
3685
3880
  # The Amazon Web Services account ID associated with the registry to
3686
3881
  # which you are uploading layer parts. If you do not specify a
@@ -3765,6 +3960,74 @@ module Aws::ECR
3765
3960
  include Aws::Structure
3766
3961
  end
3767
3962
 
3963
+ # @!attribute [rw] ecr_repository_prefix
3964
+ # The repository name prefix associated with the pull through cache
3965
+ # rule.
3966
+ # @return [String]
3967
+ #
3968
+ # @!attribute [rw] registry_id
3969
+ # The registry ID associated with the pull through cache rule. If you
3970
+ # do not specify a registry, the default registry is assumed.
3971
+ # @return [String]
3972
+ #
3973
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ValidatePullThroughCacheRuleRequest AWS API Documentation
3974
+ #
3975
+ class ValidatePullThroughCacheRuleRequest < Struct.new(
3976
+ :ecr_repository_prefix,
3977
+ :registry_id)
3978
+ SENSITIVE = []
3979
+ include Aws::Structure
3980
+ end
3981
+
3982
+ # @!attribute [rw] ecr_repository_prefix
3983
+ # The Amazon ECR repository prefix associated with the pull through
3984
+ # cache rule.
3985
+ # @return [String]
3986
+ #
3987
+ # @!attribute [rw] registry_id
3988
+ # The registry ID associated with the request.
3989
+ # @return [String]
3990
+ #
3991
+ # @!attribute [rw] upstream_registry_url
3992
+ # The upstream registry URL associated with the pull through cache
3993
+ # rule.
3994
+ # @return [String]
3995
+ #
3996
+ # @!attribute [rw] credential_arn
3997
+ # The Amazon Resource Name (ARN) of the Amazon Web Services Secrets
3998
+ # Manager secret associated with the pull through cache rule.
3999
+ # @return [String]
4000
+ #
4001
+ # @!attribute [rw] is_valid
4002
+ # Whether or not the pull through cache rule was validated. If `true`,
4003
+ # Amazon ECR was able to reach the upstream registry and
4004
+ # authentication was successful. If `false`, there was an issue and
4005
+ # validation failed. The `failure` reason indicates the cause.
4006
+ # @return [Boolean]
4007
+ #
4008
+ # @!attribute [rw] failure
4009
+ # The reason the validation failed. For more details about possible
4010
+ # causes and how to address them, see [Using pull through cache
4011
+ # rules][1] in the *Amazon Elastic Container Registry User Guide*.
4012
+ #
4013
+ #
4014
+ #
4015
+ # [1]: https://docs.aws.amazon.com/AmazonECR/latest/userguide/pull-through-cache.html
4016
+ # @return [String]
4017
+ #
4018
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ValidatePullThroughCacheRuleResponse AWS API Documentation
4019
+ #
4020
+ class ValidatePullThroughCacheRuleResponse < Struct.new(
4021
+ :ecr_repository_prefix,
4022
+ :registry_id,
4023
+ :upstream_registry_url,
4024
+ :credential_arn,
4025
+ :is_valid,
4026
+ :failure)
4027
+ SENSITIVE = []
4028
+ include Aws::Structure
4029
+ end
4030
+
3768
4031
  # There was an exception validating this request.
3769
4032
  #
3770
4033
  # @!attribute [rw] message
data/lib/aws-sdk-ecr.rb CHANGED
@@ -53,6 +53,6 @@ require_relative 'aws-sdk-ecr/customizations'
53
53
  # @!group service
54
54
  module Aws::ECR
55
55
 
56
- GEM_VERSION = '1.65.0'
56
+ GEM_VERSION = '1.66.0'
57
57
 
58
58
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-ecr
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.65.0
4
+ version: 1.66.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-27 00:00:00.000000000 Z
11
+ date: 2023-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core