aws-sdk-ecr 1.32.0 → 1.37.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: 20ac92b1cd6d7111a8a09fc5fa7ecad85a024f9a51579f924a66c2fad2c9b4d3
4
- data.tar.gz: c9b0ea66ceb5e23806de2bf0f75e45af1fdeb5c68a1fe6a2eeb801d262c09192
3
+ metadata.gz: f373d01d02bfc59d132f3d5fbb927a57da95d137134a9b1e5ec09cfce464aead
4
+ data.tar.gz: 0cdbd6db918bc19575a6fda3d25635a2a21ccc3390e63f44b74ad00a4d7debf9
5
5
  SHA512:
6
- metadata.gz: 4f59fad5102a68eb17d28765f897e0b48854a8a5553d1195007b0842975a513d5f19157c793285bfec6a116f278508c5e9a79307efaee003b371e4bc71fbde00
7
- data.tar.gz: b5a8925fffb271d4b9cb44efecc6140e60b48ce26c0b2093fbf28e355104f7e657856a137a95d8cd0035761d8c3098375637d706c5c80c8db2d073d7fd3b7cfe
6
+ metadata.gz: d3a29384b484da74d30ef5d46e934761ab3e762eed19fbd44a59d9a7008d746bcb1c7a8c7a041a1e0b8e25b7f7534297dc985e11d8aeccf2ef98cd0c2d419985
7
+ data.tar.gz: 9b010327421cd3bbdda3c3305bd9be1d278cdc1ed59431c4a88ee6619ef6b939983427eaf666a77e2677e00b87ce2b6c84282d51e22192b7ecb9c4109eaa2bac
@@ -45,9 +45,9 @@ require_relative 'aws-sdk-ecr/customizations'
45
45
  #
46
46
  # See {Errors} for more information.
47
47
  #
48
- # @service
48
+ # @!group service
49
49
  module Aws::ECR
50
50
 
51
- GEM_VERSION = '1.32.0'
51
+ GEM_VERSION = '1.37.0'
52
52
 
53
53
  end
@@ -85,13 +85,28 @@ module Aws::ECR
85
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
86
  # credentials.
87
87
  #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
88
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
89
103
  # from an EC2 IMDS on an EC2 instance.
90
104
  #
91
- # * `Aws::SharedCredentials` - Used for loading credentials from a
92
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
93
107
  #
94
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
95
110
  #
96
111
  # When `:credentials` are not configured directly, the following
97
112
  # locations will be searched for credentials:
@@ -101,10 +116,10 @@ module Aws::ECR
101
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
102
117
  # * `~/.aws/credentials`
103
118
  # * `~/.aws/config`
104
- # * EC2 IMDS instance profile - When used by default, the timeouts are
105
- # very aggressive. Construct and pass an instance of
106
- # `Aws::InstanceProfileCredentails` to enable retries and extended
107
- # timeouts.
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
108
123
  #
109
124
  # @option options [required, String] :region
110
125
  # The AWS region to connect to. The configured `:region` is
@@ -456,7 +471,7 @@ module Aws::ECR
456
471
  # resp.failures #=> Array
457
472
  # resp.failures[0].image_id.image_digest #=> String
458
473
  # resp.failures[0].image_id.image_tag #=> String
459
- # resp.failures[0].failure_code #=> String, one of "InvalidImageDigest", "InvalidImageTag", "ImageTagDoesNotMatchDigest", "ImageNotFound", "MissingDigestAndTag", "ImageReferencedByManifestList"
474
+ # resp.failures[0].failure_code #=> String, one of "InvalidImageDigest", "InvalidImageTag", "ImageTagDoesNotMatchDigest", "ImageNotFound", "MissingDigestAndTag", "ImageReferencedByManifestList", "KmsError"
460
475
  # resp.failures[0].failure_reason #=> String
461
476
  #
462
477
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/BatchDeleteImage AWS API Documentation
@@ -557,7 +572,7 @@ module Aws::ECR
557
572
  # resp.failures #=> Array
558
573
  # resp.failures[0].image_id.image_digest #=> String
559
574
  # resp.failures[0].image_id.image_tag #=> String
560
- # resp.failures[0].failure_code #=> String, one of "InvalidImageDigest", "InvalidImageTag", "ImageTagDoesNotMatchDigest", "ImageNotFound", "MissingDigestAndTag", "ImageReferencedByManifestList"
575
+ # resp.failures[0].failure_code #=> String, one of "InvalidImageDigest", "InvalidImageTag", "ImageTagDoesNotMatchDigest", "ImageNotFound", "MissingDigestAndTag", "ImageReferencedByManifestList", "KmsError"
561
576
  # resp.failures[0].failure_reason #=> String
562
577
  #
563
578
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/BatchGetImage AWS API Documentation
@@ -659,9 +674,13 @@ module Aws::ECR
659
674
  # them from being overwritten.
660
675
  #
661
676
  # @option params [Types::ImageScanningConfiguration] :image_scanning_configuration
662
- # The image scanning configuration for the repository. This setting
663
- # determines whether images are scanned for known vulnerabilities after
664
- # being pushed to the repository.
677
+ # The image scanning configuration for the repository. This determines
678
+ # whether images are scanned for known vulnerabilities after being
679
+ # pushed to the repository.
680
+ #
681
+ # @option params [Types::EncryptionConfiguration] :encryption_configuration
682
+ # The encryption configuration for the repository. This determines how
683
+ # the contents of your repository are encrypted at rest.
665
684
  #
666
685
  # @return [Types::CreateRepositoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
667
686
  #
@@ -700,6 +719,10 @@ module Aws::ECR
700
719
  # image_scanning_configuration: {
701
720
  # scan_on_push: false,
702
721
  # },
722
+ # encryption_configuration: {
723
+ # encryption_type: "AES256", # required, accepts AES256, KMS
724
+ # kms_key: "KmsKey",
725
+ # },
703
726
  # })
704
727
  #
705
728
  # @example Response structure
@@ -711,6 +734,8 @@ module Aws::ECR
711
734
  # resp.repository.created_at #=> Time
712
735
  # resp.repository.image_tag_mutability #=> String, one of "MUTABLE", "IMMUTABLE"
713
736
  # resp.repository.image_scanning_configuration.scan_on_push #=> Boolean
737
+ # resp.repository.encryption_configuration.encryption_type #=> String, one of "AES256", "KMS"
738
+ # resp.repository.encryption_configuration.kms_key #=> String
714
739
  #
715
740
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/CreateRepository AWS API Documentation
716
741
  #
@@ -817,6 +842,8 @@ module Aws::ECR
817
842
  # resp.repository.created_at #=> Time
818
843
  # resp.repository.image_tag_mutability #=> String, one of "MUTABLE", "IMMUTABLE"
819
844
  # resp.repository.image_scanning_configuration.scan_on_push #=> Boolean
845
+ # resp.repository.encryption_configuration.encryption_type #=> String, one of "AES256", "KMS"
846
+ # resp.repository.encryption_configuration.kms_key #=> String
820
847
  #
821
848
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeleteRepository AWS API Documentation
822
849
  #
@@ -1059,6 +1086,8 @@ module Aws::ECR
1059
1086
  # resp.image_details[0].image_scan_findings_summary.vulnerability_source_updated_at #=> Time
1060
1087
  # resp.image_details[0].image_scan_findings_summary.finding_severity_counts #=> Hash
1061
1088
  # resp.image_details[0].image_scan_findings_summary.finding_severity_counts["FindingSeverity"] #=> Integer
1089
+ # resp.image_details[0].image_manifest_media_type #=> String
1090
+ # resp.image_details[0].artifact_media_type #=> String
1062
1091
  # resp.next_token #=> String
1063
1092
  #
1064
1093
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeImages AWS API Documentation
@@ -1159,6 +1188,8 @@ module Aws::ECR
1159
1188
  # resp.repositories[0].created_at #=> Time
1160
1189
  # resp.repositories[0].image_tag_mutability #=> String, one of "MUTABLE", "IMMUTABLE"
1161
1190
  # resp.repositories[0].image_scanning_configuration.scan_on_push #=> Boolean
1191
+ # resp.repositories[0].encryption_configuration.encryption_type #=> String, one of "AES256", "KMS"
1192
+ # resp.repositories[0].encryption_configuration.kms_key #=> String
1162
1193
  # resp.next_token #=> String
1163
1194
  #
1164
1195
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeRepositories AWS API Documentation
@@ -1690,7 +1721,11 @@ module Aws::ECR
1690
1721
  #
1691
1722
  # @option params [String] :image_tag
1692
1723
  # The tag to associate with the image. This parameter is required for
1693
- # images that use the Docker Image Manifest V2 Schema 2 or OCI formats.
1724
+ # images that use the Docker Image Manifest V2 Schema 2 or Open
1725
+ # Container Initiative (OCI) formats.
1726
+ #
1727
+ # @option params [String] :image_digest
1728
+ # The image digest of the image manifest corresponding to the image.
1694
1729
  #
1695
1730
  # @return [Types::PutImageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1696
1731
  #
@@ -1704,6 +1739,7 @@ module Aws::ECR
1704
1739
  # image_manifest: "ImageManifest", # required
1705
1740
  # image_manifest_media_type: "MediaType",
1706
1741
  # image_tag: "ImageTag",
1742
+ # image_digest: "ImageDigest",
1707
1743
  # })
1708
1744
  #
1709
1745
  # @example Response structure
@@ -2133,7 +2169,7 @@ module Aws::ECR
2133
2169
  # The position of the last byte of the layer part within the overall
2134
2170
  # image layer.
2135
2171
  #
2136
- # @option params [required, String, IO] :layer_part_blob
2172
+ # @option params [required, String, StringIO, File] :layer_part_blob
2137
2173
  # The base64-encoded layer part payload.
2138
2174
  #
2139
2175
  # @return [Types::UploadLayerPartResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -2183,7 +2219,7 @@ module Aws::ECR
2183
2219
  params: params,
2184
2220
  config: config)
2185
2221
  context[:gem_name] = 'aws-sdk-ecr'
2186
- context[:gem_version] = '1.32.0'
2222
+ context[:gem_version] = '1.37.0'
2187
2223
  Seahorse::Client::Request.new(handlers, context)
2188
2224
  end
2189
2225
 
@@ -48,6 +48,8 @@ module Aws::ECR
48
48
  DescribeRepositoriesRequest = Shapes::StructureShape.new(name: 'DescribeRepositoriesRequest')
49
49
  DescribeRepositoriesResponse = Shapes::StructureShape.new(name: 'DescribeRepositoriesResponse')
50
50
  EmptyUploadException = Shapes::StructureShape.new(name: 'EmptyUploadException')
51
+ EncryptionConfiguration = Shapes::StructureShape.new(name: 'EncryptionConfiguration')
52
+ EncryptionType = Shapes::StringShape.new(name: 'EncryptionType')
51
53
  EvaluationTimestamp = Shapes::TimestampShape.new(name: 'EvaluationTimestamp')
52
54
  ExceptionMessage = Shapes::StringShape.new(name: 'ExceptionMessage')
53
55
  ExpirationTimestamp = Shapes::TimestampShape.new(name: 'ExpirationTimestamp')
@@ -74,6 +76,7 @@ module Aws::ECR
74
76
  ImageDetail = Shapes::StructureShape.new(name: 'ImageDetail')
75
77
  ImageDetailList = Shapes::ListShape.new(name: 'ImageDetailList')
76
78
  ImageDigest = Shapes::StringShape.new(name: 'ImageDigest')
79
+ ImageDigestDoesNotMatchException = Shapes::StructureShape.new(name: 'ImageDigestDoesNotMatchException')
77
80
  ImageFailure = Shapes::StructureShape.new(name: 'ImageFailure')
78
81
  ImageFailureCode = Shapes::StringShape.new(name: 'ImageFailureCode')
79
82
  ImageFailureList = Shapes::ListShape.new(name: 'ImageFailureList')
@@ -100,6 +103,9 @@ module Aws::ECR
100
103
  InvalidLayerPartException = Shapes::StructureShape.new(name: 'InvalidLayerPartException')
101
104
  InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException')
102
105
  InvalidTagParameterException = Shapes::StructureShape.new(name: 'InvalidTagParameterException')
106
+ KmsError = Shapes::StringShape.new(name: 'KmsError')
107
+ KmsException = Shapes::StructureShape.new(name: 'KmsException')
108
+ KmsKey = Shapes::StringShape.new(name: 'KmsKey')
103
109
  Layer = Shapes::StructureShape.new(name: 'Layer')
104
110
  LayerAlreadyExistsException = Shapes::StructureShape.new(name: 'LayerAlreadyExistsException')
105
111
  LayerAvailability = Shapes::StringShape.new(name: 'LayerAvailability')
@@ -250,6 +256,7 @@ module Aws::ECR
250
256
  CreateRepositoryRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
251
257
  CreateRepositoryRequest.add_member(:image_tag_mutability, Shapes::ShapeRef.new(shape: ImageTagMutability, location_name: "imageTagMutability"))
252
258
  CreateRepositoryRequest.add_member(:image_scanning_configuration, Shapes::ShapeRef.new(shape: ImageScanningConfiguration, location_name: "imageScanningConfiguration"))
259
+ CreateRepositoryRequest.add_member(:encryption_configuration, Shapes::ShapeRef.new(shape: EncryptionConfiguration, location_name: "encryptionConfiguration"))
253
260
  CreateRepositoryRequest.struct_class = Types::CreateRepositoryRequest
254
261
 
255
262
  CreateRepositoryResponse.add_member(:repository, Shapes::ShapeRef.new(shape: Repository, location_name: "repository"))
@@ -325,6 +332,10 @@ module Aws::ECR
325
332
  EmptyUploadException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
326
333
  EmptyUploadException.struct_class = Types::EmptyUploadException
327
334
 
335
+ EncryptionConfiguration.add_member(:encryption_type, Shapes::ShapeRef.new(shape: EncryptionType, required: true, location_name: "encryptionType"))
336
+ EncryptionConfiguration.add_member(:kms_key, Shapes::ShapeRef.new(shape: KmsKey, location_name: "kmsKey"))
337
+ EncryptionConfiguration.struct_class = Types::EncryptionConfiguration
338
+
328
339
  FindingSeverityCounts.key = Shapes::ShapeRef.new(shape: FindingSeverity)
329
340
  FindingSeverityCounts.value = Shapes::ShapeRef.new(shape: SeverityCount)
330
341
 
@@ -399,10 +410,15 @@ module Aws::ECR
399
410
  ImageDetail.add_member(:image_pushed_at, Shapes::ShapeRef.new(shape: PushTimestamp, location_name: "imagePushedAt"))
400
411
  ImageDetail.add_member(:image_scan_status, Shapes::ShapeRef.new(shape: ImageScanStatus, location_name: "imageScanStatus"))
401
412
  ImageDetail.add_member(:image_scan_findings_summary, Shapes::ShapeRef.new(shape: ImageScanFindingsSummary, location_name: "imageScanFindingsSummary"))
413
+ ImageDetail.add_member(:image_manifest_media_type, Shapes::ShapeRef.new(shape: MediaType, location_name: "imageManifestMediaType"))
414
+ ImageDetail.add_member(:artifact_media_type, Shapes::ShapeRef.new(shape: MediaType, location_name: "artifactMediaType"))
402
415
  ImageDetail.struct_class = Types::ImageDetail
403
416
 
404
417
  ImageDetailList.member = Shapes::ShapeRef.new(shape: ImageDetail)
405
418
 
419
+ ImageDigestDoesNotMatchException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
420
+ ImageDigestDoesNotMatchException.struct_class = Types::ImageDigestDoesNotMatchException
421
+
406
422
  ImageFailure.add_member(:image_id, Shapes::ShapeRef.new(shape: ImageIdentifier, location_name: "imageId"))
407
423
  ImageFailure.add_member(:failure_code, Shapes::ShapeRef.new(shape: ImageFailureCode, location_name: "failureCode"))
408
424
  ImageFailure.add_member(:failure_reason, Shapes::ShapeRef.new(shape: ImageFailureReason, location_name: "failureReason"))
@@ -477,6 +493,10 @@ module Aws::ECR
477
493
  InvalidTagParameterException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
478
494
  InvalidTagParameterException.struct_class = Types::InvalidTagParameterException
479
495
 
496
+ KmsException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
497
+ KmsException.add_member(:kms_error, Shapes::ShapeRef.new(shape: KmsError, location_name: "kmsError"))
498
+ KmsException.struct_class = Types::KmsException
499
+
480
500
  Layer.add_member(:layer_digest, Shapes::ShapeRef.new(shape: LayerDigest, location_name: "layerDigest"))
481
501
  Layer.add_member(:layer_availability, Shapes::ShapeRef.new(shape: LayerAvailability, location_name: "layerAvailability"))
482
502
  Layer.add_member(:layer_size, Shapes::ShapeRef.new(shape: LayerSizeInBytes, location_name: "layerSize"))
@@ -563,6 +583,7 @@ module Aws::ECR
563
583
  PutImageRequest.add_member(:image_manifest, Shapes::ShapeRef.new(shape: ImageManifest, required: true, location_name: "imageManifest"))
564
584
  PutImageRequest.add_member(:image_manifest_media_type, Shapes::ShapeRef.new(shape: MediaType, location_name: "imageManifestMediaType"))
565
585
  PutImageRequest.add_member(:image_tag, Shapes::ShapeRef.new(shape: ImageTag, location_name: "imageTag"))
586
+ PutImageRequest.add_member(:image_digest, Shapes::ShapeRef.new(shape: ImageDigest, location_name: "imageDigest"))
566
587
  PutImageRequest.struct_class = Types::PutImageRequest
567
588
 
568
589
  PutImageResponse.add_member(:image, Shapes::ShapeRef.new(shape: Image, location_name: "image"))
@@ -608,6 +629,7 @@ module Aws::ECR
608
629
  Repository.add_member(:created_at, Shapes::ShapeRef.new(shape: CreationTimestamp, location_name: "createdAt"))
609
630
  Repository.add_member(:image_tag_mutability, Shapes::ShapeRef.new(shape: ImageTagMutability, location_name: "imageTagMutability"))
610
631
  Repository.add_member(:image_scanning_configuration, Shapes::ShapeRef.new(shape: ImageScanningConfiguration, location_name: "imageScanningConfiguration"))
632
+ Repository.add_member(:encryption_configuration, Shapes::ShapeRef.new(shape: EncryptionConfiguration, location_name: "encryptionConfiguration"))
611
633
  Repository.struct_class = Types::Repository
612
634
 
613
635
  RepositoryAlreadyExistsException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
@@ -775,6 +797,7 @@ module Aws::ECR
775
797
  o.errors << Shapes::ShapeRef.new(shape: LayerPartTooSmallException)
776
798
  o.errors << Shapes::ShapeRef.new(shape: LayerAlreadyExistsException)
777
799
  o.errors << Shapes::ShapeRef.new(shape: EmptyUploadException)
800
+ o.errors << Shapes::ShapeRef.new(shape: KmsException)
778
801
  end)
779
802
 
780
803
  api.add_operation(:create_repository, Seahorse::Model::Operation.new.tap do |o|
@@ -789,6 +812,7 @@ module Aws::ECR
789
812
  o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
790
813
  o.errors << Shapes::ShapeRef.new(shape: RepositoryAlreadyExistsException)
791
814
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
815
+ o.errors << Shapes::ShapeRef.new(shape: KmsException)
792
816
  end)
793
817
 
794
818
  api.add_operation(:delete_lifecycle_policy, Seahorse::Model::Operation.new.tap do |o|
@@ -813,6 +837,7 @@ module Aws::ECR
813
837
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
814
838
  o.errors << Shapes::ShapeRef.new(shape: RepositoryNotFoundException)
815
839
  o.errors << Shapes::ShapeRef.new(shape: RepositoryNotEmptyException)
840
+ o.errors << Shapes::ShapeRef.new(shape: KmsException)
816
841
  end)
817
842
 
818
843
  api.add_operation(:delete_repository_policy, Seahorse::Model::Operation.new.tap do |o|
@@ -955,6 +980,7 @@ module Aws::ECR
955
980
  o.errors << Shapes::ShapeRef.new(shape: ServerException)
956
981
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
957
982
  o.errors << Shapes::ShapeRef.new(shape: RepositoryNotFoundException)
983
+ o.errors << Shapes::ShapeRef.new(shape: KmsException)
958
984
  end)
959
985
 
960
986
  api.add_operation(:list_images, Seahorse::Model::Operation.new.tap do |o|
@@ -999,6 +1025,8 @@ module Aws::ECR
999
1025
  o.errors << Shapes::ShapeRef.new(shape: ReferencedImagesNotFoundException)
1000
1026
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1001
1027
  o.errors << Shapes::ShapeRef.new(shape: ImageTagAlreadyExistsException)
1028
+ o.errors << Shapes::ShapeRef.new(shape: ImageDigestDoesNotMatchException)
1029
+ o.errors << Shapes::ShapeRef.new(shape: KmsException)
1002
1030
  end)
1003
1031
 
1004
1032
  api.add_operation(:put_image_scanning_configuration, Seahorse::Model::Operation.new.tap do |o|
@@ -1110,6 +1138,7 @@ module Aws::ECR
1110
1138
  o.errors << Shapes::ShapeRef.new(shape: RepositoryNotFoundException)
1111
1139
  o.errors << Shapes::ShapeRef.new(shape: UploadNotFoundException)
1112
1140
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1141
+ o.errors << Shapes::ShapeRef.new(shape: KmsException)
1113
1142
  end)
1114
1143
  end
1115
1144
 
@@ -29,12 +29,14 @@ module Aws::ECR
29
29
  # ## Error Classes
30
30
  # * {EmptyUploadException}
31
31
  # * {ImageAlreadyExistsException}
32
+ # * {ImageDigestDoesNotMatchException}
32
33
  # * {ImageNotFoundException}
33
34
  # * {ImageTagAlreadyExistsException}
34
35
  # * {InvalidLayerException}
35
36
  # * {InvalidLayerPartException}
36
37
  # * {InvalidParameterException}
37
38
  # * {InvalidTagParameterException}
39
+ # * {KmsException}
38
40
  # * {LayerAlreadyExistsException}
39
41
  # * {LayerInaccessibleException}
40
42
  # * {LayerPartTooSmallException}
@@ -90,6 +92,21 @@ module Aws::ECR
90
92
  end
91
93
  end
92
94
 
95
+ class ImageDigestDoesNotMatchException < ServiceError
96
+
97
+ # @param [Seahorse::Client::RequestContext] context
98
+ # @param [String] message
99
+ # @param [Aws::ECR::Types::ImageDigestDoesNotMatchException] data
100
+ def initialize(context, message, data = Aws::EmptyStructure.new)
101
+ super(context, message, data)
102
+ end
103
+
104
+ # @return [String]
105
+ def message
106
+ @message || @data[:message]
107
+ end
108
+ end
109
+
93
110
  class ImageNotFoundException < ServiceError
94
111
 
95
112
  # @param [Seahorse::Client::RequestContext] context
@@ -200,6 +217,26 @@ module Aws::ECR
200
217
  end
201
218
  end
202
219
 
220
+ class KmsException < ServiceError
221
+
222
+ # @param [Seahorse::Client::RequestContext] context
223
+ # @param [String] message
224
+ # @param [Aws::ECR::Types::KmsException] data
225
+ def initialize(context, message, data = Aws::EmptyStructure.new)
226
+ super(context, message, data)
227
+ end
228
+
229
+ # @return [String]
230
+ def message
231
+ @message || @data[:message]
232
+ end
233
+
234
+ # @return [String]
235
+ def kms_error
236
+ @data[:kms_error]
237
+ end
238
+ end
239
+
203
240
  class LayerAlreadyExistsException < ServiceError
204
241
 
205
242
  # @param [Seahorse::Client::RequestContext] context
@@ -322,6 +322,10 @@ module Aws::ECR
322
322
  # image_scanning_configuration: {
323
323
  # scan_on_push: false,
324
324
  # },
325
+ # encryption_configuration: {
326
+ # encryption_type: "AES256", # required, accepts AES256, KMS
327
+ # kms_key: "KmsKey",
328
+ # },
325
329
  # }
326
330
  #
327
331
  # @!attribute [rw] repository_name
@@ -348,18 +352,24 @@ module Aws::ECR
348
352
  # @return [String]
349
353
  #
350
354
  # @!attribute [rw] image_scanning_configuration
351
- # The image scanning configuration for the repository. This setting
352
- # determines whether images are scanned for known vulnerabilities
353
- # after being pushed to the repository.
355
+ # The image scanning configuration for the repository. This determines
356
+ # whether images are scanned for known vulnerabilities after being
357
+ # pushed to the repository.
354
358
  # @return [Types::ImageScanningConfiguration]
355
359
  #
360
+ # @!attribute [rw] encryption_configuration
361
+ # The encryption configuration for the repository. This determines how
362
+ # the contents of your repository are encrypted at rest.
363
+ # @return [Types::EncryptionConfiguration]
364
+ #
356
365
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/CreateRepositoryRequest AWS API Documentation
357
366
  #
358
367
  class CreateRepositoryRequest < Struct.new(
359
368
  :repository_name,
360
369
  :tags,
361
370
  :image_tag_mutability,
362
- :image_scanning_configuration)
371
+ :image_scanning_configuration,
372
+ :encryption_configuration)
363
373
  SENSITIVE = []
364
374
  include Aws::Structure
365
375
  end
@@ -840,6 +850,75 @@ module Aws::ECR
840
850
  include Aws::Structure
841
851
  end
842
852
 
853
+ # The encryption configuration for the repository. This determines how
854
+ # the contents of your repository are encrypted at rest.
855
+ #
856
+ # By default, when no encryption configuration is set or the `AES256`
857
+ # encryption type is used, Amazon ECR uses server-side encryption with
858
+ # Amazon S3-managed encryption keys which encrypts your data at rest
859
+ # using an AES-256 encryption algorithm. This does not require any
860
+ # action on your part.
861
+ #
862
+ # For more control over the encryption of the contents of your
863
+ # repository, you can use server-side encryption with customer master
864
+ # keys (CMKs) stored in AWS Key Management Service (AWS KMS) to encrypt
865
+ # your images. For more information, see [Amazon ECR encryption at
866
+ # rest][1] in the *Amazon Elastic Container Registry User Guide*.
867
+ #
868
+ #
869
+ #
870
+ # [1]: https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html
871
+ #
872
+ # @note When making an API call, you may pass EncryptionConfiguration
873
+ # data as a hash:
874
+ #
875
+ # {
876
+ # encryption_type: "AES256", # required, accepts AES256, KMS
877
+ # kms_key: "KmsKey",
878
+ # }
879
+ #
880
+ # @!attribute [rw] encryption_type
881
+ # The encryption type to use.
882
+ #
883
+ # If you use the `KMS` encryption type, the contents of the repository
884
+ # will be encrypted using server-side encryption with customer master
885
+ # keys (CMKs) stored in AWS KMS. When you use AWS KMS to encrypt your
886
+ # data, you can either use the default AWS managed CMK for Amazon ECR,
887
+ # or specify your own CMK, which you already created. For more
888
+ # information, see [Protecting Data Using Server-Side Encryption with
889
+ # CMKs Stored in AWS Key Management Service (SSE-KMS)][1] in the
890
+ # *Amazon Simple Storage Service Console Developer Guide.*.
891
+ #
892
+ # If you use the `AES256` encryption type, Amazon ECR uses server-side
893
+ # encryption with Amazon S3-managed encryption keys which encrypts the
894
+ # images in the repository using an AES-256 encryption algorithm. For
895
+ # more information, see [Protecting Data Using Server-Side Encryption
896
+ # with Amazon S3-Managed Encryption Keys (SSE-S3)][2] in the *Amazon
897
+ # Simple Storage Service Console Developer Guide.*.
898
+ #
899
+ #
900
+ #
901
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html
902
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
903
+ # @return [String]
904
+ #
905
+ # @!attribute [rw] kms_key
906
+ # If you use the `KMS` encryption type, specify the CMK to use for
907
+ # encryption. The alias, key ID, or full ARN of the CMK can be
908
+ # specified. The key must exist in the same Region as the repository.
909
+ # If no key is specified, the default AWS managed CMK for Amazon ECR
910
+ # will be used.
911
+ # @return [String]
912
+ #
913
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/EncryptionConfiguration AWS API Documentation
914
+ #
915
+ class EncryptionConfiguration < Struct.new(
916
+ :encryption_type,
917
+ :kms_key)
918
+ SENSITIVE = []
919
+ include Aws::Structure
920
+ end
921
+
843
922
  # @note When making an API call, you may pass GetAuthorizationTokenRequest
844
923
  # data as a hash:
845
924
  #
@@ -1170,7 +1249,7 @@ module Aws::ECR
1170
1249
  # @return [String]
1171
1250
  #
1172
1251
  # @!attribute [rw] image_manifest_media_type
1173
- # The media type associated with the image manifest.
1252
+ # The manifest media type of the image.
1174
1253
  # @return [String]
1175
1254
  #
1176
1255
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/Image AWS API Documentation
@@ -1248,6 +1327,14 @@ module Aws::ECR
1248
1327
  # A summary of the last completed image scan.
1249
1328
  # @return [Types::ImageScanFindingsSummary]
1250
1329
  #
1330
+ # @!attribute [rw] image_manifest_media_type
1331
+ # The media type of the image manifest.
1332
+ # @return [String]
1333
+ #
1334
+ # @!attribute [rw] artifact_media_type
1335
+ # The artifact media type of the image.
1336
+ # @return [String]
1337
+ #
1251
1338
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ImageDetail AWS API Documentation
1252
1339
  #
1253
1340
  class ImageDetail < Struct.new(
@@ -1258,7 +1345,23 @@ module Aws::ECR
1258
1345
  :image_size_in_bytes,
1259
1346
  :image_pushed_at,
1260
1347
  :image_scan_status,
1261
- :image_scan_findings_summary)
1348
+ :image_scan_findings_summary,
1349
+ :image_manifest_media_type,
1350
+ :artifact_media_type)
1351
+ SENSITIVE = []
1352
+ include Aws::Structure
1353
+ end
1354
+
1355
+ # The specified image digest does not match the digest that Amazon ECR
1356
+ # calculated for the image.
1357
+ #
1358
+ # @!attribute [rw] message
1359
+ # @return [String]
1360
+ #
1361
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ImageDigestDoesNotMatchException AWS API Documentation
1362
+ #
1363
+ class ImageDigestDoesNotMatchException < Struct.new(
1364
+ :message)
1262
1365
  SENSITIVE = []
1263
1366
  include Aws::Structure
1264
1367
  end
@@ -1601,6 +1704,24 @@ module Aws::ECR
1601
1704
  include Aws::Structure
1602
1705
  end
1603
1706
 
1707
+ # The operation failed due to a KMS exception.
1708
+ #
1709
+ # @!attribute [rw] message
1710
+ # @return [String]
1711
+ #
1712
+ # @!attribute [rw] kms_error
1713
+ # The error code returned by AWS KMS.
1714
+ # @return [String]
1715
+ #
1716
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/KmsException AWS API Documentation
1717
+ #
1718
+ class KmsException < Struct.new(
1719
+ :message,
1720
+ :kms_error)
1721
+ SENSITIVE = []
1722
+ include Aws::Structure
1723
+ end
1724
+
1604
1725
  # An object representing an Amazon ECR image layer.
1605
1726
  #
1606
1727
  # @!attribute [rw] layer_digest
@@ -1749,8 +1870,8 @@ module Aws::ECR
1749
1870
  include Aws::Structure
1750
1871
  end
1751
1872
 
1752
- # The previous lifecycle policy preview request has not completed.
1753
- # Please try again later.
1873
+ # The previous lifecycle policy preview request has not completed. Wait
1874
+ # and try again.
1754
1875
  #
1755
1876
  # @!attribute [rw] message
1756
1877
  # @return [String]
@@ -2008,6 +2129,7 @@ module Aws::ECR
2008
2129
  # image_manifest: "ImageManifest", # required
2009
2130
  # image_manifest_media_type: "MediaType",
2010
2131
  # image_tag: "ImageTag",
2132
+ # image_digest: "ImageDigest",
2011
2133
  # }
2012
2134
  #
2013
2135
  # @!attribute [rw] registry_id
@@ -2032,8 +2154,12 @@ module Aws::ECR
2032
2154
  #
2033
2155
  # @!attribute [rw] image_tag
2034
2156
  # The tag to associate with the image. This parameter is required for
2035
- # images that use the Docker Image Manifest V2 Schema 2 or OCI
2036
- # formats.
2157
+ # images that use the Docker Image Manifest V2 Schema 2 or Open
2158
+ # Container Initiative (OCI) formats.
2159
+ # @return [String]
2160
+ #
2161
+ # @!attribute [rw] image_digest
2162
+ # The image digest of the image manifest corresponding to the image.
2037
2163
  # @return [String]
2038
2164
  #
2039
2165
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutImageRequest AWS API Documentation
@@ -2043,7 +2169,8 @@ module Aws::ECR
2043
2169
  :repository_name,
2044
2170
  :image_manifest,
2045
2171
  :image_manifest_media_type,
2046
- :image_tag)
2172
+ :image_tag,
2173
+ :image_digest)
2047
2174
  SENSITIVE = []
2048
2175
  include Aws::Structure
2049
2176
  end
@@ -2268,8 +2395,8 @@ module Aws::ECR
2268
2395
  # @return [String]
2269
2396
  #
2270
2397
  # @!attribute [rw] repository_uri
2271
- # The URI for the repository. You can use this URI for Docker `push`
2272
- # or `pull` operations.
2398
+ # The URI for the repository. You can use this URI for container image
2399
+ # `push` and `pull` operations.
2273
2400
  # @return [String]
2274
2401
  #
2275
2402
  # @!attribute [rw] created_at
@@ -2285,6 +2412,11 @@ module Aws::ECR
2285
2412
  # The image scanning configuration for a repository.
2286
2413
  # @return [Types::ImageScanningConfiguration]
2287
2414
  #
2415
+ # @!attribute [rw] encryption_configuration
2416
+ # The encryption configuration for the repository. This determines how
2417
+ # the contents of your repository are encrypted at rest.
2418
+ # @return [Types::EncryptionConfiguration]
2419
+ #
2288
2420
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/Repository AWS API Documentation
2289
2421
  #
2290
2422
  class Repository < Struct.new(
@@ -2294,7 +2426,8 @@ module Aws::ECR
2294
2426
  :repository_uri,
2295
2427
  :created_at,
2296
2428
  :image_tag_mutability,
2297
- :image_scanning_configuration)
2429
+ :image_scanning_configuration,
2430
+ :encryption_configuration)
2298
2431
  SENSITIVE = []
2299
2432
  include Aws::Structure
2300
2433
  end
@@ -2794,7 +2927,7 @@ module Aws::ECR
2794
2927
  include Aws::Structure
2795
2928
  end
2796
2929
 
2797
- # The upload could not be found, or the specified upload id is not valid
2930
+ # The upload could not be found, or the specified upload ID is not valid
2798
2931
  # for this repository.
2799
2932
  #
2800
2933
  # @!attribute [rw] message
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.32.0
4
+ version: 1.37.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: 2020-06-23 00:00:00.000000000 Z
11
+ date: 2020-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core