aws-sdk-ecr 1.65.0 → 1.67.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1f863825db35a3bd49713e0ed95d6efb7ef4691e8ef033736111adfc7d1bc120
4
- data.tar.gz: c9ec4a77969ae4f365c04a8977a48ffae8bd6aaad3d4318f52b109988238bfe1
3
+ metadata.gz: 98fb19b76055ce9c0c6949a7de860a42489f0e284a00837d516d48a5040c46b1
4
+ data.tar.gz: 1d083e1f436ddec229490bbc48b819e1bdc116ec216d6b798e235b635d58fd26
5
5
  SHA512:
6
- metadata.gz: f74e70d02b521259aba86f35f671c222d3d23ed2957ccf9245a05cf4439b2b8fd523a3a3530f93c0f5d508cfb8e0c5256eeab8a3cd02060b51cfc0604b3241ad
7
- data.tar.gz: b5601b2aca2ba2a3e2a6dd7a386f8bc727b39b02c0db687ca431dcbda19b87b052b68a4cd34b3ca17e5784f432a933001066aa536685f48d0b391797b84ab670
6
+ metadata.gz: f2e1e2c9eed6e7daeac9e057d9b3d121c90c046f5f0a08ad7b5217721a5a0bef086b009e741759215d728afa0b17cb57b559ab6ff49dc9719ceedf1359d37f5a
7
+ data.tar.gz: dcd13937b4c457bce9e702713ea075d5b924d58478a30bd9f4efe5702962726e3b00d5e64f670fcc56a230e8c8ad61dd66b5776544cb97895b905d19f2e85a0f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.67.0 (2023-11-22)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.66.0 (2023-11-17)
10
+ ------------------
11
+
12
+ * Feature - Documentation and operational updates for Amazon ECR, adding support for pull through cache rules for upstream registries that require authentication.
13
+
4
14
  1.65.0 (2023-09-27)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.65.0
1
+ 1.67.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.67.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.67.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.67.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-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.184.0
22
+ version: 3.188.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.184.0
32
+ version: 3.188.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -81,7 +81,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - ">="
83
83
  - !ruby/object:Gem::Version
84
- version: '2.3'
84
+ version: '2.5'
85
85
  required_rubygems_version: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="