aws-sdk-ecr 1.21.0 → 1.22.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
  SHA1:
3
- metadata.gz: c3581778c9338105a07323ab10bcf661561d4dfe
4
- data.tar.gz: dc63c12efb943b78d2ecd1e822fb414879acfbdb
3
+ metadata.gz: 3c18bffad069aff09045c8769558305309fea1d1
4
+ data.tar.gz: 93a4ea1b0a9d28d13d160af2f5d335d86b26a739
5
5
  SHA512:
6
- metadata.gz: a82d7167f67a24effde8847223b64b61ac2a8b63d10efb786448cf6c435c7915700b52e833955fbba5f4a3f638a042e67114e6d989c9059f8e5992c3b4a7583e
7
- data.tar.gz: 48f508e895809fd81dd82eabd98587d7ef6bb1ac9aacf79dad6a5a1e03d90eea76f72394c9c2aa4484b87128d3fbae6c0ad0d415da6b59d833caddc10e6beec5
6
+ metadata.gz: 72ff38325d14e000925d8776f7801c9e71cd073dc663a1d67ab1e656683e6ca9f200a00c8154a8ddc8d3ff365d80694bfd79f2535990dd25fed5c6cc652ff2e6
7
+ data.tar.gz: fa40575c998c9a0b01a5efc7303cdf9344e36f0853f2d779f8d13cd4a112d644c8dfa2793c3293b8ec44b12b940975644a57d8eefffbd643c8e3ef342b0f6a25
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-ecr/customizations'
42
42
  # @service
43
43
  module Aws::ECR
44
44
 
45
- GEM_VERSION = '1.21.0'
45
+ GEM_VERSION = '1.22.0'
46
46
 
47
47
  end
@@ -563,7 +563,14 @@ module Aws::ECR
563
563
  req.send_request(options)
564
564
  end
565
565
 
566
- # Creates an image repository.
566
+ # Creates an Amazon Elastic Container Registry (Amazon ECR) repository,
567
+ # where users can push and pull Docker images. For more information, see
568
+ # [Amazon ECR Repositories][1] in the *Amazon Elastic Container Registry
569
+ # User Guide*.
570
+ #
571
+ #
572
+ #
573
+ # [1]: https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html
567
574
  #
568
575
  # @option params [required, String] :repository_name
569
576
  # The name to use for the repository. The repository name may be
@@ -585,6 +592,11 @@ module Aws::ECR
585
592
  # image tags within the repository will be immutable which will prevent
586
593
  # them from being overwritten.
587
594
  #
595
+ # @option params [Types::ImageScanningConfiguration] :image_scanning_configuration
596
+ # The image scanning configuration for the repository. This setting
597
+ # determines whether images are scanned for known vulnerabilities after
598
+ # being pushed to the repository.
599
+ #
588
600
  # @return [Types::CreateRepositoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
589
601
  #
590
602
  # * {Types::CreateRepositoryResponse#repository #repository} => Types::Repository
@@ -619,6 +631,9 @@ module Aws::ECR
619
631
  # },
620
632
  # ],
621
633
  # image_tag_mutability: "MUTABLE", # accepts MUTABLE, IMMUTABLE
634
+ # image_scanning_configuration: {
635
+ # scan_on_push: false,
636
+ # },
622
637
  # })
623
638
  #
624
639
  # @example Response structure
@@ -629,6 +644,7 @@ module Aws::ECR
629
644
  # resp.repository.repository_uri #=> String
630
645
  # resp.repository.created_at #=> Time
631
646
  # resp.repository.image_tag_mutability #=> String, one of "MUTABLE", "IMMUTABLE"
647
+ # resp.repository.image_scanning_configuration.scan_on_push #=> Boolean
632
648
  #
633
649
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/CreateRepository AWS API Documentation
634
650
  #
@@ -733,6 +749,7 @@ module Aws::ECR
733
749
  # resp.repository.repository_uri #=> String
734
750
  # resp.repository.created_at #=> Time
735
751
  # resp.repository.image_tag_mutability #=> String, one of "MUTABLE", "IMMUTABLE"
752
+ # resp.repository.image_scanning_configuration.scan_on_push #=> Boolean
736
753
  #
737
754
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeleteRepository AWS API Documentation
738
755
  #
@@ -798,6 +815,90 @@ module Aws::ECR
798
815
  req.send_request(options)
799
816
  end
800
817
 
818
+ # Describes the image scan findings for the specified image.
819
+ #
820
+ # @option params [String] :registry_id
821
+ # The AWS account ID associated with the registry that contains the
822
+ # repository in which to describe the image scan findings for. If you do
823
+ # not specify a registry, the default registry is assumed.
824
+ #
825
+ # @option params [required, String] :repository_name
826
+ # The repository for the image for which to describe the scan findings.
827
+ #
828
+ # @option params [required, Types::ImageIdentifier] :image_id
829
+ # An object with identifying information for an Amazon ECR image.
830
+ #
831
+ # @option params [String] :next_token
832
+ # The `nextToken` value returned from a previous paginated
833
+ # `DescribeImageScanFindings` request where `maxResults` was used and
834
+ # the results exceeded the value of that parameter. Pagination continues
835
+ # from the end of the previous results that returned the `nextToken`
836
+ # value. This value is null when there are no more results to return.
837
+ #
838
+ # @option params [Integer] :max_results
839
+ # The maximum number of image scan results returned by
840
+ # `DescribeImageScanFindings` in paginated output. When this parameter
841
+ # is used, `DescribeImageScanFindings` only returns `maxResults` results
842
+ # in a single page along with a `nextToken` response element. The
843
+ # remaining results of the initial request can be seen by sending
844
+ # another `DescribeImageScanFindings` request with the returned
845
+ # `nextToken` value. This value can be between 1 and 1000. If this
846
+ # parameter is not used, then `DescribeImageScanFindings` returns up to
847
+ # 100 results and a `nextToken` value, if applicable.
848
+ #
849
+ # @return [Types::DescribeImageScanFindingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
850
+ #
851
+ # * {Types::DescribeImageScanFindingsResponse#registry_id #registry_id} => String
852
+ # * {Types::DescribeImageScanFindingsResponse#repository_name #repository_name} => String
853
+ # * {Types::DescribeImageScanFindingsResponse#image_id #image_id} => Types::ImageIdentifier
854
+ # * {Types::DescribeImageScanFindingsResponse#image_scan_status #image_scan_status} => Types::ImageScanStatus
855
+ # * {Types::DescribeImageScanFindingsResponse#image_scan_findings #image_scan_findings} => Types::ImageScanFindings
856
+ # * {Types::DescribeImageScanFindingsResponse#next_token #next_token} => String
857
+ #
858
+ # @example Request syntax with placeholder values
859
+ #
860
+ # resp = client.describe_image_scan_findings({
861
+ # registry_id: "RegistryId",
862
+ # repository_name: "RepositoryName", # required
863
+ # image_id: { # required
864
+ # image_digest: "ImageDigest",
865
+ # image_tag: "ImageTag",
866
+ # },
867
+ # next_token: "NextToken",
868
+ # max_results: 1,
869
+ # })
870
+ #
871
+ # @example Response structure
872
+ #
873
+ # resp.registry_id #=> String
874
+ # resp.repository_name #=> String
875
+ # resp.image_id.image_digest #=> String
876
+ # resp.image_id.image_tag #=> String
877
+ # resp.image_scan_status.status #=> String, one of "IN_PROGRESS", "COMPLETE", "FAILED"
878
+ # resp.image_scan_status.description #=> String
879
+ # resp.image_scan_findings.image_scan_completed_at #=> Time
880
+ # resp.image_scan_findings.vulnerability_source_updated_at #=> Time
881
+ # resp.image_scan_findings.findings #=> Array
882
+ # resp.image_scan_findings.findings[0].name #=> String
883
+ # resp.image_scan_findings.findings[0].description #=> String
884
+ # resp.image_scan_findings.findings[0].uri #=> String
885
+ # resp.image_scan_findings.findings[0].severity #=> String, one of "INFORMATIONAL", "LOW", "MEDIUM", "HIGH", "CRITICAL", "UNDEFINED"
886
+ # resp.image_scan_findings.findings[0].attributes #=> Array
887
+ # resp.image_scan_findings.findings[0].attributes[0].key #=> String
888
+ # resp.image_scan_findings.findings[0].attributes[0].value #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
889
+ # resp.image_scan_findings.finding_severity_counts #=> Hash
890
+ # resp.image_scan_findings.finding_severity_counts["FindingSeverity"] #=> Integer
891
+ # resp.next_token #=> String
892
+ #
893
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeImageScanFindings AWS API Documentation
894
+ #
895
+ # @overload describe_image_scan_findings(params = {})
896
+ # @param [Hash] params ({})
897
+ def describe_image_scan_findings(params = {}, options = {})
898
+ req = build_request(:describe_image_scan_findings, params)
899
+ req.send_request(options)
900
+ end
901
+
801
902
  # Returns metadata about the images in a repository, including image
802
903
  # size, image tags, and creation date.
803
904
  #
@@ -876,6 +977,12 @@ module Aws::ECR
876
977
  # resp.image_details[0].image_tags[0] #=> String
877
978
  # resp.image_details[0].image_size_in_bytes #=> Integer
878
979
  # resp.image_details[0].image_pushed_at #=> Time
980
+ # resp.image_details[0].image_scan_status.status #=> String, one of "IN_PROGRESS", "COMPLETE", "FAILED"
981
+ # resp.image_details[0].image_scan_status.description #=> String
982
+ # resp.image_details[0].image_scan_findings_summary.image_scan_completed_at #=> Time
983
+ # resp.image_details[0].image_scan_findings_summary.vulnerability_source_updated_at #=> Time
984
+ # resp.image_details[0].image_scan_findings_summary.finding_severity_counts #=> Hash
985
+ # resp.image_details[0].image_scan_findings_summary.finding_severity_counts["FindingSeverity"] #=> Integer
879
986
  # resp.next_token #=> String
880
987
  #
881
988
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeImages AWS API Documentation
@@ -973,6 +1080,7 @@ module Aws::ECR
973
1080
  # resp.repositories[0].repository_uri #=> String
974
1081
  # resp.repositories[0].created_at #=> Time
975
1082
  # resp.repositories[0].image_tag_mutability #=> String, one of "MUTABLE", "IMMUTABLE"
1083
+ # resp.repositories[0].image_scanning_configuration.scan_on_push #=> Boolean
976
1084
  # resp.next_token #=> String
977
1085
  #
978
1086
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeRepositories AWS API Documentation
@@ -1504,6 +1612,54 @@ module Aws::ECR
1504
1612
  req.send_request(options)
1505
1613
  end
1506
1614
 
1615
+ # Updates the image scanning configuration for a repository.
1616
+ #
1617
+ # @option params [String] :registry_id
1618
+ # The AWS account ID associated with the registry that contains the
1619
+ # repository in which to update the image scanning configuration
1620
+ # setting. If you do not specify a registry, the default registry is
1621
+ # assumed.
1622
+ #
1623
+ # @option params [required, String] :repository_name
1624
+ # The name of the repository in which to update the image scanning
1625
+ # configuration setting.
1626
+ #
1627
+ # @option params [required, Types::ImageScanningConfiguration] :image_scanning_configuration
1628
+ # The image scanning configuration for the repository. This setting
1629
+ # determines whether images are scanned for known vulnerabilities after
1630
+ # being pushed to the repository.
1631
+ #
1632
+ # @return [Types::PutImageScanningConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1633
+ #
1634
+ # * {Types::PutImageScanningConfigurationResponse#registry_id #registry_id} => String
1635
+ # * {Types::PutImageScanningConfigurationResponse#repository_name #repository_name} => String
1636
+ # * {Types::PutImageScanningConfigurationResponse#image_scanning_configuration #image_scanning_configuration} => Types::ImageScanningConfiguration
1637
+ #
1638
+ # @example Request syntax with placeholder values
1639
+ #
1640
+ # resp = client.put_image_scanning_configuration({
1641
+ # registry_id: "RegistryId",
1642
+ # repository_name: "RepositoryName", # required
1643
+ # image_scanning_configuration: { # required
1644
+ # scan_on_push: false,
1645
+ # },
1646
+ # })
1647
+ #
1648
+ # @example Response structure
1649
+ #
1650
+ # resp.registry_id #=> String
1651
+ # resp.repository_name #=> String
1652
+ # resp.image_scanning_configuration.scan_on_push #=> Boolean
1653
+ #
1654
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutImageScanningConfiguration AWS API Documentation
1655
+ #
1656
+ # @overload put_image_scanning_configuration(params = {})
1657
+ # @param [Hash] params ({})
1658
+ def put_image_scanning_configuration(params = {}, options = {})
1659
+ req = build_request(:put_image_scanning_configuration, params)
1660
+ req.send_request(options)
1661
+ end
1662
+
1507
1663
  # Updates the image tag mutability settings for a repository.
1508
1664
  #
1509
1665
  # @option params [String] :registry_id
@@ -1658,6 +1814,55 @@ module Aws::ECR
1658
1814
  req.send_request(options)
1659
1815
  end
1660
1816
 
1817
+ # Starts an image vulnerability scan.
1818
+ #
1819
+ # @option params [String] :registry_id
1820
+ # The AWS account ID associated with the registry that contains the
1821
+ # repository in which to start an image scan request. If you do not
1822
+ # specify a registry, the default registry is assumed.
1823
+ #
1824
+ # @option params [required, String] :repository_name
1825
+ # The name of the repository that contains the images to scan.
1826
+ #
1827
+ # @option params [required, Types::ImageIdentifier] :image_id
1828
+ # An object with identifying information for an Amazon ECR image.
1829
+ #
1830
+ # @return [Types::StartImageScanResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1831
+ #
1832
+ # * {Types::StartImageScanResponse#registry_id #registry_id} => String
1833
+ # * {Types::StartImageScanResponse#repository_name #repository_name} => String
1834
+ # * {Types::StartImageScanResponse#image_id #image_id} => Types::ImageIdentifier
1835
+ # * {Types::StartImageScanResponse#image_scan_status #image_scan_status} => Types::ImageScanStatus
1836
+ #
1837
+ # @example Request syntax with placeholder values
1838
+ #
1839
+ # resp = client.start_image_scan({
1840
+ # registry_id: "RegistryId",
1841
+ # repository_name: "RepositoryName", # required
1842
+ # image_id: { # required
1843
+ # image_digest: "ImageDigest",
1844
+ # image_tag: "ImageTag",
1845
+ # },
1846
+ # })
1847
+ #
1848
+ # @example Response structure
1849
+ #
1850
+ # resp.registry_id #=> String
1851
+ # resp.repository_name #=> String
1852
+ # resp.image_id.image_digest #=> String
1853
+ # resp.image_id.image_tag #=> String
1854
+ # resp.image_scan_status.status #=> String, one of "IN_PROGRESS", "COMPLETE", "FAILED"
1855
+ # resp.image_scan_status.description #=> String
1856
+ #
1857
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/StartImageScan AWS API Documentation
1858
+ #
1859
+ # @overload start_image_scan(params = {})
1860
+ # @param [Hash] params ({})
1861
+ def start_image_scan(params = {}, options = {})
1862
+ req = build_request(:start_image_scan, params)
1863
+ req.send_request(options)
1864
+ end
1865
+
1661
1866
  # Starts a preview of the specified lifecycle policy. This allows you to
1662
1867
  # see the results before creating the lifecycle policy.
1663
1868
  #
@@ -1845,7 +2050,7 @@ module Aws::ECR
1845
2050
  params: params,
1846
2051
  config: config)
1847
2052
  context[:gem_name] = 'aws-sdk-ecr'
1848
- context[:gem_version] = '1.21.0'
2053
+ context[:gem_version] = '1.22.0'
1849
2054
  Seahorse::Client::Request.new(handlers, context)
1850
2055
  end
1851
2056
 
@@ -12,6 +12,10 @@ module Aws::ECR
12
12
  include Seahorse::Model
13
13
 
14
14
  Arn = Shapes::StringShape.new(name: 'Arn')
15
+ Attribute = Shapes::StructureShape.new(name: 'Attribute')
16
+ AttributeKey = Shapes::StringShape.new(name: 'AttributeKey')
17
+ AttributeList = Shapes::ListShape.new(name: 'AttributeList')
18
+ AttributeValue = Shapes::StringShape.new(name: 'AttributeValue')
15
19
  AuthorizationData = Shapes::StructureShape.new(name: 'AuthorizationData')
16
20
  AuthorizationDataList = Shapes::ListShape.new(name: 'AuthorizationDataList')
17
21
  Base64 = Shapes::StringShape.new(name: 'Base64')
@@ -34,6 +38,8 @@ module Aws::ECR
34
38
  DeleteRepositoryPolicyResponse = Shapes::StructureShape.new(name: 'DeleteRepositoryPolicyResponse')
35
39
  DeleteRepositoryRequest = Shapes::StructureShape.new(name: 'DeleteRepositoryRequest')
36
40
  DeleteRepositoryResponse = Shapes::StructureShape.new(name: 'DeleteRepositoryResponse')
41
+ DescribeImageScanFindingsRequest = Shapes::StructureShape.new(name: 'DescribeImageScanFindingsRequest')
42
+ DescribeImageScanFindingsResponse = Shapes::StructureShape.new(name: 'DescribeImageScanFindingsResponse')
37
43
  DescribeImagesFilter = Shapes::StructureShape.new(name: 'DescribeImagesFilter')
38
44
  DescribeImagesRequest = Shapes::StructureShape.new(name: 'DescribeImagesRequest')
39
45
  DescribeImagesResponse = Shapes::StructureShape.new(name: 'DescribeImagesResponse')
@@ -43,6 +49,10 @@ module Aws::ECR
43
49
  EvaluationTimestamp = Shapes::TimestampShape.new(name: 'EvaluationTimestamp')
44
50
  ExceptionMessage = Shapes::StringShape.new(name: 'ExceptionMessage')
45
51
  ExpirationTimestamp = Shapes::TimestampShape.new(name: 'ExpirationTimestamp')
52
+ FindingDescription = Shapes::StringShape.new(name: 'FindingDescription')
53
+ FindingName = Shapes::StringShape.new(name: 'FindingName')
54
+ FindingSeverity = Shapes::StringShape.new(name: 'FindingSeverity')
55
+ FindingSeverityCounts = Shapes::MapShape.new(name: 'FindingSeverityCounts')
46
56
  ForceFlag = Shapes::BooleanShape.new(name: 'ForceFlag')
47
57
  GetAuthorizationTokenRegistryIdList = Shapes::ListShape.new(name: 'GetAuthorizationTokenRegistryIdList')
48
58
  GetAuthorizationTokenRequest = Shapes::StructureShape.new(name: 'GetAuthorizationTokenRequest')
@@ -71,6 +81,12 @@ module Aws::ECR
71
81
  ImageList = Shapes::ListShape.new(name: 'ImageList')
72
82
  ImageManifest = Shapes::StringShape.new(name: 'ImageManifest')
73
83
  ImageNotFoundException = Shapes::StructureShape.new(name: 'ImageNotFoundException')
84
+ ImageScanFinding = Shapes::StructureShape.new(name: 'ImageScanFinding')
85
+ ImageScanFindingList = Shapes::ListShape.new(name: 'ImageScanFindingList')
86
+ ImageScanFindings = Shapes::StructureShape.new(name: 'ImageScanFindings')
87
+ ImageScanFindingsSummary = Shapes::StructureShape.new(name: 'ImageScanFindingsSummary')
88
+ ImageScanStatus = Shapes::StructureShape.new(name: 'ImageScanStatus')
89
+ ImageScanningConfiguration = Shapes::StructureShape.new(name: 'ImageScanningConfiguration')
74
90
  ImageSizeInBytes = Shapes::IntegerShape.new(name: 'ImageSizeInBytes')
75
91
  ImageTag = Shapes::StringShape.new(name: 'ImageTag')
76
92
  ImageTagAlreadyExistsException = Shapes::StructureShape.new(name: 'ImageTagAlreadyExistsException')
@@ -124,6 +140,8 @@ module Aws::ECR
124
140
  PushTimestamp = Shapes::TimestampShape.new(name: 'PushTimestamp')
125
141
  PutImageRequest = Shapes::StructureShape.new(name: 'PutImageRequest')
126
142
  PutImageResponse = Shapes::StructureShape.new(name: 'PutImageResponse')
143
+ PutImageScanningConfigurationRequest = Shapes::StructureShape.new(name: 'PutImageScanningConfigurationRequest')
144
+ PutImageScanningConfigurationResponse = Shapes::StructureShape.new(name: 'PutImageScanningConfigurationResponse')
127
145
  PutImageTagMutabilityRequest = Shapes::StructureShape.new(name: 'PutImageTagMutabilityRequest')
128
146
  PutImageTagMutabilityResponse = Shapes::StructureShape.new(name: 'PutImageTagMutabilityResponse')
129
147
  PutLifecyclePolicyRequest = Shapes::StructureShape.new(name: 'PutLifecyclePolicyRequest')
@@ -138,9 +156,17 @@ module Aws::ECR
138
156
  RepositoryNotFoundException = Shapes::StructureShape.new(name: 'RepositoryNotFoundException')
139
157
  RepositoryPolicyNotFoundException = Shapes::StructureShape.new(name: 'RepositoryPolicyNotFoundException')
140
158
  RepositoryPolicyText = Shapes::StringShape.new(name: 'RepositoryPolicyText')
159
+ ScanNotFoundException = Shapes::StructureShape.new(name: 'ScanNotFoundException')
160
+ ScanOnPushFlag = Shapes::BooleanShape.new(name: 'ScanOnPushFlag')
161
+ ScanStatus = Shapes::StringShape.new(name: 'ScanStatus')
162
+ ScanStatusDescription = Shapes::StringShape.new(name: 'ScanStatusDescription')
163
+ ScanTimestamp = Shapes::TimestampShape.new(name: 'ScanTimestamp')
141
164
  ServerException = Shapes::StructureShape.new(name: 'ServerException')
142
165
  SetRepositoryPolicyRequest = Shapes::StructureShape.new(name: 'SetRepositoryPolicyRequest')
143
166
  SetRepositoryPolicyResponse = Shapes::StructureShape.new(name: 'SetRepositoryPolicyResponse')
167
+ SeverityCount = Shapes::IntegerShape.new(name: 'SeverityCount')
168
+ StartImageScanRequest = Shapes::StructureShape.new(name: 'StartImageScanRequest')
169
+ StartImageScanResponse = Shapes::StructureShape.new(name: 'StartImageScanResponse')
144
170
  StartLifecyclePolicyPreviewRequest = Shapes::StructureShape.new(name: 'StartLifecyclePolicyPreviewRequest')
145
171
  StartLifecyclePolicyPreviewResponse = Shapes::StructureShape.new(name: 'StartLifecyclePolicyPreviewResponse')
146
172
  Tag = Shapes::StructureShape.new(name: 'Tag')
@@ -159,6 +185,13 @@ module Aws::ECR
159
185
  UploadLayerPartResponse = Shapes::StructureShape.new(name: 'UploadLayerPartResponse')
160
186
  UploadNotFoundException = Shapes::StructureShape.new(name: 'UploadNotFoundException')
161
187
  Url = Shapes::StringShape.new(name: 'Url')
188
+ VulnerabilitySourceUpdateTimestamp = Shapes::TimestampShape.new(name: 'VulnerabilitySourceUpdateTimestamp')
189
+
190
+ Attribute.add_member(:key, Shapes::ShapeRef.new(shape: AttributeKey, required: true, location_name: "key"))
191
+ Attribute.add_member(:value, Shapes::ShapeRef.new(shape: AttributeValue, location_name: "value"))
192
+ Attribute.struct_class = Types::Attribute
193
+
194
+ AttributeList.member = Shapes::ShapeRef.new(shape: Attribute)
162
195
 
163
196
  AuthorizationData.add_member(:authorization_token, Shapes::ShapeRef.new(shape: Base64, location_name: "authorizationToken"))
164
197
  AuthorizationData.add_member(:expires_at, Shapes::ShapeRef.new(shape: ExpirationTimestamp, location_name: "expiresAt"))
@@ -212,6 +245,7 @@ module Aws::ECR
212
245
  CreateRepositoryRequest.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, required: true, location_name: "repositoryName"))
213
246
  CreateRepositoryRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
214
247
  CreateRepositoryRequest.add_member(:image_tag_mutability, Shapes::ShapeRef.new(shape: ImageTagMutability, location_name: "imageTagMutability"))
248
+ CreateRepositoryRequest.add_member(:image_scanning_configuration, Shapes::ShapeRef.new(shape: ImageScanningConfiguration, location_name: "imageScanningConfiguration"))
215
249
  CreateRepositoryRequest.struct_class = Types::CreateRepositoryRequest
216
250
 
217
251
  CreateRepositoryResponse.add_member(:repository, Shapes::ShapeRef.new(shape: Repository, location_name: "repository"))
@@ -244,6 +278,21 @@ module Aws::ECR
244
278
  DeleteRepositoryResponse.add_member(:repository, Shapes::ShapeRef.new(shape: Repository, location_name: "repository"))
245
279
  DeleteRepositoryResponse.struct_class = Types::DeleteRepositoryResponse
246
280
 
281
+ DescribeImageScanFindingsRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
282
+ DescribeImageScanFindingsRequest.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, required: true, location_name: "repositoryName"))
283
+ DescribeImageScanFindingsRequest.add_member(:image_id, Shapes::ShapeRef.new(shape: ImageIdentifier, required: true, location_name: "imageId"))
284
+ DescribeImageScanFindingsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
285
+ DescribeImageScanFindingsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
286
+ DescribeImageScanFindingsRequest.struct_class = Types::DescribeImageScanFindingsRequest
287
+
288
+ DescribeImageScanFindingsResponse.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
289
+ DescribeImageScanFindingsResponse.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, location_name: "repositoryName"))
290
+ DescribeImageScanFindingsResponse.add_member(:image_id, Shapes::ShapeRef.new(shape: ImageIdentifier, location_name: "imageId"))
291
+ DescribeImageScanFindingsResponse.add_member(:image_scan_status, Shapes::ShapeRef.new(shape: ImageScanStatus, location_name: "imageScanStatus"))
292
+ DescribeImageScanFindingsResponse.add_member(:image_scan_findings, Shapes::ShapeRef.new(shape: ImageScanFindings, location_name: "imageScanFindings"))
293
+ DescribeImageScanFindingsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
294
+ DescribeImageScanFindingsResponse.struct_class = Types::DescribeImageScanFindingsResponse
295
+
247
296
  DescribeImagesFilter.add_member(:tag_status, Shapes::ShapeRef.new(shape: TagStatus, location_name: "tagStatus"))
248
297
  DescribeImagesFilter.struct_class = Types::DescribeImagesFilter
249
298
 
@@ -272,6 +321,9 @@ module Aws::ECR
272
321
  EmptyUploadException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
273
322
  EmptyUploadException.struct_class = Types::EmptyUploadException
274
323
 
324
+ FindingSeverityCounts.key = Shapes::ShapeRef.new(shape: FindingSeverity)
325
+ FindingSeverityCounts.value = Shapes::ShapeRef.new(shape: SeverityCount)
326
+
275
327
  GetAuthorizationTokenRegistryIdList.member = Shapes::ShapeRef.new(shape: RegistryId)
276
328
 
277
329
  GetAuthorizationTokenRequest.add_member(:registry_ids, Shapes::ShapeRef.new(shape: GetAuthorizationTokenRegistryIdList, location_name: "registryIds"))
@@ -340,6 +392,8 @@ module Aws::ECR
340
392
  ImageDetail.add_member(:image_tags, Shapes::ShapeRef.new(shape: ImageTagList, location_name: "imageTags"))
341
393
  ImageDetail.add_member(:image_size_in_bytes, Shapes::ShapeRef.new(shape: ImageSizeInBytes, location_name: "imageSizeInBytes"))
342
394
  ImageDetail.add_member(:image_pushed_at, Shapes::ShapeRef.new(shape: PushTimestamp, location_name: "imagePushedAt"))
395
+ ImageDetail.add_member(:image_scan_status, Shapes::ShapeRef.new(shape: ImageScanStatus, location_name: "imageScanStatus"))
396
+ ImageDetail.add_member(:image_scan_findings_summary, Shapes::ShapeRef.new(shape: ImageScanFindingsSummary, location_name: "imageScanFindingsSummary"))
343
397
  ImageDetail.struct_class = Types::ImageDetail
344
398
 
345
399
  ImageDetailList.member = Shapes::ShapeRef.new(shape: ImageDetail)
@@ -362,6 +416,33 @@ module Aws::ECR
362
416
  ImageNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
363
417
  ImageNotFoundException.struct_class = Types::ImageNotFoundException
364
418
 
419
+ ImageScanFinding.add_member(:name, Shapes::ShapeRef.new(shape: FindingName, location_name: "name"))
420
+ ImageScanFinding.add_member(:description, Shapes::ShapeRef.new(shape: FindingDescription, location_name: "description"))
421
+ ImageScanFinding.add_member(:uri, Shapes::ShapeRef.new(shape: Url, location_name: "uri"))
422
+ ImageScanFinding.add_member(:severity, Shapes::ShapeRef.new(shape: FindingSeverity, location_name: "severity"))
423
+ ImageScanFinding.add_member(:attributes, Shapes::ShapeRef.new(shape: AttributeList, location_name: "attributes"))
424
+ ImageScanFinding.struct_class = Types::ImageScanFinding
425
+
426
+ ImageScanFindingList.member = Shapes::ShapeRef.new(shape: ImageScanFinding)
427
+
428
+ ImageScanFindings.add_member(:image_scan_completed_at, Shapes::ShapeRef.new(shape: ScanTimestamp, location_name: "imageScanCompletedAt"))
429
+ ImageScanFindings.add_member(:vulnerability_source_updated_at, Shapes::ShapeRef.new(shape: VulnerabilitySourceUpdateTimestamp, location_name: "vulnerabilitySourceUpdatedAt"))
430
+ ImageScanFindings.add_member(:findings, Shapes::ShapeRef.new(shape: ImageScanFindingList, location_name: "findings"))
431
+ ImageScanFindings.add_member(:finding_severity_counts, Shapes::ShapeRef.new(shape: FindingSeverityCounts, location_name: "findingSeverityCounts"))
432
+ ImageScanFindings.struct_class = Types::ImageScanFindings
433
+
434
+ ImageScanFindingsSummary.add_member(:image_scan_completed_at, Shapes::ShapeRef.new(shape: ScanTimestamp, location_name: "imageScanCompletedAt"))
435
+ ImageScanFindingsSummary.add_member(:vulnerability_source_updated_at, Shapes::ShapeRef.new(shape: VulnerabilitySourceUpdateTimestamp, location_name: "vulnerabilitySourceUpdatedAt"))
436
+ ImageScanFindingsSummary.add_member(:finding_severity_counts, Shapes::ShapeRef.new(shape: FindingSeverityCounts, location_name: "findingSeverityCounts"))
437
+ ImageScanFindingsSummary.struct_class = Types::ImageScanFindingsSummary
438
+
439
+ ImageScanStatus.add_member(:status, Shapes::ShapeRef.new(shape: ScanStatus, location_name: "status"))
440
+ ImageScanStatus.add_member(:description, Shapes::ShapeRef.new(shape: ScanStatusDescription, location_name: "description"))
441
+ ImageScanStatus.struct_class = Types::ImageScanStatus
442
+
443
+ ImageScanningConfiguration.add_member(:scan_on_push, Shapes::ShapeRef.new(shape: ScanOnPushFlag, location_name: "scanOnPush"))
444
+ ImageScanningConfiguration.struct_class = Types::ImageScanningConfiguration
445
+
365
446
  ImageTagAlreadyExistsException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
366
447
  ImageTagAlreadyExistsException.struct_class = Types::ImageTagAlreadyExistsException
367
448
 
@@ -481,6 +562,16 @@ module Aws::ECR
481
562
  PutImageResponse.add_member(:image, Shapes::ShapeRef.new(shape: Image, location_name: "image"))
482
563
  PutImageResponse.struct_class = Types::PutImageResponse
483
564
 
565
+ PutImageScanningConfigurationRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
566
+ PutImageScanningConfigurationRequest.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, required: true, location_name: "repositoryName"))
567
+ PutImageScanningConfigurationRequest.add_member(:image_scanning_configuration, Shapes::ShapeRef.new(shape: ImageScanningConfiguration, required: true, location_name: "imageScanningConfiguration"))
568
+ PutImageScanningConfigurationRequest.struct_class = Types::PutImageScanningConfigurationRequest
569
+
570
+ PutImageScanningConfigurationResponse.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
571
+ PutImageScanningConfigurationResponse.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, location_name: "repositoryName"))
572
+ PutImageScanningConfigurationResponse.add_member(:image_scanning_configuration, Shapes::ShapeRef.new(shape: ImageScanningConfiguration, location_name: "imageScanningConfiguration"))
573
+ PutImageScanningConfigurationResponse.struct_class = Types::PutImageScanningConfigurationResponse
574
+
484
575
  PutImageTagMutabilityRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
485
576
  PutImageTagMutabilityRequest.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, required: true, location_name: "repositoryName"))
486
577
  PutImageTagMutabilityRequest.add_member(:image_tag_mutability, Shapes::ShapeRef.new(shape: ImageTagMutability, required: true, location_name: "imageTagMutability"))
@@ -507,6 +598,7 @@ module Aws::ECR
507
598
  Repository.add_member(:repository_uri, Shapes::ShapeRef.new(shape: Url, location_name: "repositoryUri"))
508
599
  Repository.add_member(:created_at, Shapes::ShapeRef.new(shape: CreationTimestamp, location_name: "createdAt"))
509
600
  Repository.add_member(:image_tag_mutability, Shapes::ShapeRef.new(shape: ImageTagMutability, location_name: "imageTagMutability"))
601
+ Repository.add_member(:image_scanning_configuration, Shapes::ShapeRef.new(shape: ImageScanningConfiguration, location_name: "imageScanningConfiguration"))
510
602
  Repository.struct_class = Types::Repository
511
603
 
512
604
  RepositoryAlreadyExistsException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
@@ -525,6 +617,9 @@ module Aws::ECR
525
617
  RepositoryPolicyNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
526
618
  RepositoryPolicyNotFoundException.struct_class = Types::RepositoryPolicyNotFoundException
527
619
 
620
+ ScanNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
621
+ ScanNotFoundException.struct_class = Types::ScanNotFoundException
622
+
528
623
  ServerException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
529
624
  ServerException.struct_class = Types::ServerException
530
625
 
@@ -539,6 +634,17 @@ module Aws::ECR
539
634
  SetRepositoryPolicyResponse.add_member(:policy_text, Shapes::ShapeRef.new(shape: RepositoryPolicyText, location_name: "policyText"))
540
635
  SetRepositoryPolicyResponse.struct_class = Types::SetRepositoryPolicyResponse
541
636
 
637
+ StartImageScanRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
638
+ StartImageScanRequest.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, required: true, location_name: "repositoryName"))
639
+ StartImageScanRequest.add_member(:image_id, Shapes::ShapeRef.new(shape: ImageIdentifier, required: true, location_name: "imageId"))
640
+ StartImageScanRequest.struct_class = Types::StartImageScanRequest
641
+
642
+ StartImageScanResponse.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
643
+ StartImageScanResponse.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, location_name: "repositoryName"))
644
+ StartImageScanResponse.add_member(:image_id, Shapes::ShapeRef.new(shape: ImageIdentifier, location_name: "imageId"))
645
+ StartImageScanResponse.add_member(:image_scan_status, Shapes::ShapeRef.new(shape: ImageScanStatus, location_name: "imageScanStatus"))
646
+ StartImageScanResponse.struct_class = Types::StartImageScanResponse
647
+
542
648
  StartLifecyclePolicyPreviewRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
543
649
  StartLifecyclePolicyPreviewRequest.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, required: true, location_name: "repositoryName"))
544
650
  StartLifecyclePolicyPreviewRequest.add_member(:lifecycle_policy_text, Shapes::ShapeRef.new(shape: LifecyclePolicyText, location_name: "lifecyclePolicyText"))
@@ -709,6 +815,25 @@ module Aws::ECR
709
815
  o.errors << Shapes::ShapeRef.new(shape: RepositoryPolicyNotFoundException)
710
816
  end)
711
817
 
818
+ api.add_operation(:describe_image_scan_findings, Seahorse::Model::Operation.new.tap do |o|
819
+ o.name = "DescribeImageScanFindings"
820
+ o.http_method = "POST"
821
+ o.http_request_uri = "/"
822
+ o.input = Shapes::ShapeRef.new(shape: DescribeImageScanFindingsRequest)
823
+ o.output = Shapes::ShapeRef.new(shape: DescribeImageScanFindingsResponse)
824
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
825
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
826
+ o.errors << Shapes::ShapeRef.new(shape: RepositoryNotFoundException)
827
+ o.errors << Shapes::ShapeRef.new(shape: ImageNotFoundException)
828
+ o.errors << Shapes::ShapeRef.new(shape: ScanNotFoundException)
829
+ o[:pager] = Aws::Pager.new(
830
+ limit_key: "max_results",
831
+ tokens: {
832
+ "next_token" => "next_token"
833
+ }
834
+ )
835
+ end)
836
+
712
837
  api.add_operation(:describe_images, Seahorse::Model::Operation.new.tap do |o|
713
838
  o.name = "DescribeImages"
714
839
  o.http_method = "POST"
@@ -789,6 +914,12 @@ module Aws::ECR
789
914
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
790
915
  o.errors << Shapes::ShapeRef.new(shape: RepositoryNotFoundException)
791
916
  o.errors << Shapes::ShapeRef.new(shape: LifecyclePolicyPreviewNotFoundException)
917
+ o[:pager] = Aws::Pager.new(
918
+ limit_key: "max_results",
919
+ tokens: {
920
+ "next_token" => "next_token"
921
+ }
922
+ )
792
923
  end)
793
924
 
794
925
  api.add_operation(:get_repository_policy, Seahorse::Model::Operation.new.tap do |o|
@@ -857,6 +988,17 @@ module Aws::ECR
857
988
  o.errors << Shapes::ShapeRef.new(shape: ImageTagAlreadyExistsException)
858
989
  end)
859
990
 
991
+ api.add_operation(:put_image_scanning_configuration, Seahorse::Model::Operation.new.tap do |o|
992
+ o.name = "PutImageScanningConfiguration"
993
+ o.http_method = "POST"
994
+ o.http_request_uri = "/"
995
+ o.input = Shapes::ShapeRef.new(shape: PutImageScanningConfigurationRequest)
996
+ o.output = Shapes::ShapeRef.new(shape: PutImageScanningConfigurationResponse)
997
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
998
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
999
+ o.errors << Shapes::ShapeRef.new(shape: RepositoryNotFoundException)
1000
+ end)
1001
+
860
1002
  api.add_operation(:put_image_tag_mutability, Seahorse::Model::Operation.new.tap do |o|
861
1003
  o.name = "PutImageTagMutability"
862
1004
  o.http_method = "POST"
@@ -890,6 +1032,18 @@ module Aws::ECR
890
1032
  o.errors << Shapes::ShapeRef.new(shape: RepositoryNotFoundException)
891
1033
  end)
892
1034
 
1035
+ api.add_operation(:start_image_scan, Seahorse::Model::Operation.new.tap do |o|
1036
+ o.name = "StartImageScan"
1037
+ o.http_method = "POST"
1038
+ o.http_request_uri = "/"
1039
+ o.input = Shapes::ShapeRef.new(shape: StartImageScanRequest)
1040
+ o.output = Shapes::ShapeRef.new(shape: StartImageScanResponse)
1041
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
1042
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1043
+ o.errors << Shapes::ShapeRef.new(shape: RepositoryNotFoundException)
1044
+ o.errors << Shapes::ShapeRef.new(shape: ImageNotFoundException)
1045
+ end)
1046
+
893
1047
  api.add_operation(:start_lifecycle_policy_preview, Seahorse::Model::Operation.new.tap do |o|
894
1048
  o.name = "StartLifecyclePolicyPreview"
895
1049
  o.http_method = "POST"
@@ -350,6 +350,22 @@ module Aws::ECR
350
350
 
351
351
  end
352
352
 
353
+ class ScanNotFoundException < ServiceError
354
+
355
+ # @param [Seahorse::Client::RequestContext] context
356
+ # @param [String] message
357
+ # @param [Aws::ECR::Types::ScanNotFoundException] data
358
+ def initialize(context, message, data = Aws::EmptyStructure.new)
359
+ super(context, message, data)
360
+ end
361
+
362
+ # @return [String]
363
+ def message
364
+ @message || @data[:message]
365
+ end
366
+
367
+ end
368
+
353
369
  class ServerException < ServiceError
354
370
 
355
371
  # @param [Seahorse::Client::RequestContext] context
@@ -8,6 +8,24 @@
8
8
  module Aws::ECR
9
9
  module Types
10
10
 
11
+ # This data type is used in the ImageScanFinding data type.
12
+ #
13
+ # @!attribute [rw] key
14
+ # The attribute key.
15
+ # @return [String]
16
+ #
17
+ # @!attribute [rw] value
18
+ # The value assigned to the attribute key.
19
+ # @return [String]
20
+ #
21
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/Attribute AWS API Documentation
22
+ #
23
+ class Attribute < Struct.new(
24
+ :key,
25
+ :value)
26
+ include Aws::Structure
27
+ end
28
+
11
29
  # An object representing authorization data for an Amazon ECR registry.
12
30
  #
13
31
  # @!attribute [rw] authorization_token
@@ -289,6 +307,9 @@ module Aws::ECR
289
307
  # },
290
308
  # ],
291
309
  # image_tag_mutability: "MUTABLE", # accepts MUTABLE, IMMUTABLE
310
+ # image_scanning_configuration: {
311
+ # scan_on_push: false,
312
+ # },
292
313
  # }
293
314
  #
294
315
  # @!attribute [rw] repository_name
@@ -314,12 +335,19 @@ module Aws::ECR
314
335
  # prevent them from being overwritten.
315
336
  # @return [String]
316
337
  #
338
+ # @!attribute [rw] image_scanning_configuration
339
+ # The image scanning configuration for the repository. This setting
340
+ # determines whether images are scanned for known vulnerabilities
341
+ # after being pushed to the repository.
342
+ # @return [Types::ImageScanningConfiguration]
343
+ #
317
344
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/CreateRepositoryRequest AWS API Documentation
318
345
  #
319
346
  class CreateRepositoryRequest < Struct.new(
320
347
  :repository_name,
321
348
  :tags,
322
- :image_tag_mutability)
349
+ :image_tag_mutability,
350
+ :image_scanning_configuration)
323
351
  include Aws::Structure
324
352
  end
325
353
 
@@ -477,6 +505,107 @@ module Aws::ECR
477
505
  include Aws::Structure
478
506
  end
479
507
 
508
+ # @note When making an API call, you may pass DescribeImageScanFindingsRequest
509
+ # data as a hash:
510
+ #
511
+ # {
512
+ # registry_id: "RegistryId",
513
+ # repository_name: "RepositoryName", # required
514
+ # image_id: { # required
515
+ # image_digest: "ImageDigest",
516
+ # image_tag: "ImageTag",
517
+ # },
518
+ # next_token: "NextToken",
519
+ # max_results: 1,
520
+ # }
521
+ #
522
+ # @!attribute [rw] registry_id
523
+ # The AWS account ID associated with the registry that contains the
524
+ # repository in which to describe the image scan findings for. If you
525
+ # do not specify a registry, the default registry is assumed.
526
+ # @return [String]
527
+ #
528
+ # @!attribute [rw] repository_name
529
+ # The repository for the image for which to describe the scan
530
+ # findings.
531
+ # @return [String]
532
+ #
533
+ # @!attribute [rw] image_id
534
+ # An object with identifying information for an Amazon ECR image.
535
+ # @return [Types::ImageIdentifier]
536
+ #
537
+ # @!attribute [rw] next_token
538
+ # The `nextToken` value returned from a previous paginated
539
+ # `DescribeImageScanFindings` request where `maxResults` was used and
540
+ # the results exceeded the value of that parameter. Pagination
541
+ # continues from the end of the previous results that returned the
542
+ # `nextToken` value. This value is null when there are no more results
543
+ # to return.
544
+ # @return [String]
545
+ #
546
+ # @!attribute [rw] max_results
547
+ # The maximum number of image scan results returned by
548
+ # `DescribeImageScanFindings` in paginated output. When this parameter
549
+ # is used, `DescribeImageScanFindings` only returns `maxResults`
550
+ # results in a single page along with a `nextToken` response element.
551
+ # The remaining results of the initial request can be seen by sending
552
+ # another `DescribeImageScanFindings` request with the returned
553
+ # `nextToken` value. This value can be between 1 and 1000. If this
554
+ # parameter is not used, then `DescribeImageScanFindings` returns up
555
+ # to 100 results and a `nextToken` value, if applicable.
556
+ # @return [Integer]
557
+ #
558
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeImageScanFindingsRequest AWS API Documentation
559
+ #
560
+ class DescribeImageScanFindingsRequest < Struct.new(
561
+ :registry_id,
562
+ :repository_name,
563
+ :image_id,
564
+ :next_token,
565
+ :max_results)
566
+ include Aws::Structure
567
+ end
568
+
569
+ # @!attribute [rw] registry_id
570
+ # The registry ID associated with the request.
571
+ # @return [String]
572
+ #
573
+ # @!attribute [rw] repository_name
574
+ # The repository name associated with the request.
575
+ # @return [String]
576
+ #
577
+ # @!attribute [rw] image_id
578
+ # An object with identifying information for an Amazon ECR image.
579
+ # @return [Types::ImageIdentifier]
580
+ #
581
+ # @!attribute [rw] image_scan_status
582
+ # The current state of the scan.
583
+ # @return [Types::ImageScanStatus]
584
+ #
585
+ # @!attribute [rw] image_scan_findings
586
+ # The information contained in the image scan findings.
587
+ # @return [Types::ImageScanFindings]
588
+ #
589
+ # @!attribute [rw] next_token
590
+ # The `nextToken` value to include in a future
591
+ # `DescribeImageScanFindings` request. When the results of a
592
+ # `DescribeImageScanFindings` request exceed `maxResults`, this value
593
+ # can be used to retrieve the next page of results. This value is null
594
+ # when there are no more results to return.
595
+ # @return [String]
596
+ #
597
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeImageScanFindingsResponse AWS API Documentation
598
+ #
599
+ class DescribeImageScanFindingsResponse < Struct.new(
600
+ :registry_id,
601
+ :repository_name,
602
+ :image_id,
603
+ :image_scan_status,
604
+ :image_scan_findings,
605
+ :next_token)
606
+ include Aws::Structure
607
+ end
608
+
480
609
  # An object representing a filter on a DescribeImages operation.
481
610
  #
482
611
  # @note When making an API call, you may pass DescribeImagesFilter
@@ -1063,6 +1192,14 @@ module Aws::ECR
1063
1192
  # which the current image was pushed to the repository.
1064
1193
  # @return [Time]
1065
1194
  #
1195
+ # @!attribute [rw] image_scan_status
1196
+ # The current state of the scan.
1197
+ # @return [Types::ImageScanStatus]
1198
+ #
1199
+ # @!attribute [rw] image_scan_findings_summary
1200
+ # A summary of the last completed image scan.
1201
+ # @return [Types::ImageScanFindingsSummary]
1202
+ #
1066
1203
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ImageDetail AWS API Documentation
1067
1204
  #
1068
1205
  class ImageDetail < Struct.new(
@@ -1071,7 +1208,9 @@ module Aws::ECR
1071
1208
  :image_digest,
1072
1209
  :image_tags,
1073
1210
  :image_size_in_bytes,
1074
- :image_pushed_at)
1211
+ :image_pushed_at,
1212
+ :image_scan_status,
1213
+ :image_scan_findings_summary)
1075
1214
  include Aws::Structure
1076
1215
  end
1077
1216
 
@@ -1136,6 +1275,134 @@ module Aws::ECR
1136
1275
  include Aws::Structure
1137
1276
  end
1138
1277
 
1278
+ # Contains information about an image scan finding.
1279
+ #
1280
+ # @!attribute [rw] name
1281
+ # The name associated with the finding, usually a CVE number.
1282
+ # @return [String]
1283
+ #
1284
+ # @!attribute [rw] description
1285
+ # The description of the finding.
1286
+ # @return [String]
1287
+ #
1288
+ # @!attribute [rw] uri
1289
+ # A link containing additional details about the security
1290
+ # vulnerability.
1291
+ # @return [String]
1292
+ #
1293
+ # @!attribute [rw] severity
1294
+ # The finding severity.
1295
+ # @return [String]
1296
+ #
1297
+ # @!attribute [rw] attributes
1298
+ # A collection of attributes of the host from which the finding is
1299
+ # generated.
1300
+ # @return [Array<Types::Attribute>]
1301
+ #
1302
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ImageScanFinding AWS API Documentation
1303
+ #
1304
+ class ImageScanFinding < Struct.new(
1305
+ :name,
1306
+ :description,
1307
+ :uri,
1308
+ :severity,
1309
+ :attributes)
1310
+ include Aws::Structure
1311
+ end
1312
+
1313
+ # The details of an image scan.
1314
+ #
1315
+ # @!attribute [rw] image_scan_completed_at
1316
+ # The time of the last completed image scan.
1317
+ # @return [Time]
1318
+ #
1319
+ # @!attribute [rw] vulnerability_source_updated_at
1320
+ # The time when the vulnerability data was last scanned.
1321
+ # @return [Time]
1322
+ #
1323
+ # @!attribute [rw] findings
1324
+ # The findings from the image scan.
1325
+ # @return [Array<Types::ImageScanFinding>]
1326
+ #
1327
+ # @!attribute [rw] finding_severity_counts
1328
+ # The image vulnerability counts, sorted by severity.
1329
+ # @return [Hash<String,Integer>]
1330
+ #
1331
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ImageScanFindings AWS API Documentation
1332
+ #
1333
+ class ImageScanFindings < Struct.new(
1334
+ :image_scan_completed_at,
1335
+ :vulnerability_source_updated_at,
1336
+ :findings,
1337
+ :finding_severity_counts)
1338
+ include Aws::Structure
1339
+ end
1340
+
1341
+ # A summary of the last completed image scan.
1342
+ #
1343
+ # @!attribute [rw] image_scan_completed_at
1344
+ # The time of the last completed image scan.
1345
+ # @return [Time]
1346
+ #
1347
+ # @!attribute [rw] vulnerability_source_updated_at
1348
+ # The time when the vulnerability data was last scanned.
1349
+ # @return [Time]
1350
+ #
1351
+ # @!attribute [rw] finding_severity_counts
1352
+ # The image vulnerability counts, sorted by severity.
1353
+ # @return [Hash<String,Integer>]
1354
+ #
1355
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ImageScanFindingsSummary AWS API Documentation
1356
+ #
1357
+ class ImageScanFindingsSummary < Struct.new(
1358
+ :image_scan_completed_at,
1359
+ :vulnerability_source_updated_at,
1360
+ :finding_severity_counts)
1361
+ include Aws::Structure
1362
+ end
1363
+
1364
+ # The current status of an image scan.
1365
+ #
1366
+ # @!attribute [rw] status
1367
+ # The current state of an image scan.
1368
+ # @return [String]
1369
+ #
1370
+ # @!attribute [rw] description
1371
+ # The description of the image scan status.
1372
+ # @return [String]
1373
+ #
1374
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ImageScanStatus AWS API Documentation
1375
+ #
1376
+ class ImageScanStatus < Struct.new(
1377
+ :status,
1378
+ :description)
1379
+ include Aws::Structure
1380
+ end
1381
+
1382
+ # The image scanning configuration for a repository.
1383
+ #
1384
+ # @note When making an API call, you may pass ImageScanningConfiguration
1385
+ # data as a hash:
1386
+ #
1387
+ # {
1388
+ # scan_on_push: false,
1389
+ # }
1390
+ #
1391
+ # @!attribute [rw] scan_on_push
1392
+ # The setting that determines whether images are scanned after being
1393
+ # pushed to a repository. If set to `true`, images will be scanned
1394
+ # after being pushed. If this parameter is not specified, it will
1395
+ # default to `false` and images will not be scanned unless a scan is
1396
+ # manually started with the StartImageScan API.
1397
+ # @return [Boolean]
1398
+ #
1399
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ImageScanningConfiguration AWS API Documentation
1400
+ #
1401
+ class ImageScanningConfiguration < Struct.new(
1402
+ :scan_on_push)
1403
+ include Aws::Structure
1404
+ end
1405
+
1139
1406
  # The specified image is tagged with a tag that already exists. The
1140
1407
  # repository is configured for tag immutability.
1141
1408
  #
@@ -1701,6 +1968,65 @@ module Aws::ECR
1701
1968
  include Aws::Structure
1702
1969
  end
1703
1970
 
1971
+ # @note When making an API call, you may pass PutImageScanningConfigurationRequest
1972
+ # data as a hash:
1973
+ #
1974
+ # {
1975
+ # registry_id: "RegistryId",
1976
+ # repository_name: "RepositoryName", # required
1977
+ # image_scanning_configuration: { # required
1978
+ # scan_on_push: false,
1979
+ # },
1980
+ # }
1981
+ #
1982
+ # @!attribute [rw] registry_id
1983
+ # The AWS account ID associated with the registry that contains the
1984
+ # repository in which to update the image scanning configuration
1985
+ # setting. If you do not specify a registry, the default registry is
1986
+ # assumed.
1987
+ # @return [String]
1988
+ #
1989
+ # @!attribute [rw] repository_name
1990
+ # The name of the repository in which to update the image scanning
1991
+ # configuration setting.
1992
+ # @return [String]
1993
+ #
1994
+ # @!attribute [rw] image_scanning_configuration
1995
+ # The image scanning configuration for the repository. This setting
1996
+ # determines whether images are scanned for known vulnerabilities
1997
+ # after being pushed to the repository.
1998
+ # @return [Types::ImageScanningConfiguration]
1999
+ #
2000
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutImageScanningConfigurationRequest AWS API Documentation
2001
+ #
2002
+ class PutImageScanningConfigurationRequest < Struct.new(
2003
+ :registry_id,
2004
+ :repository_name,
2005
+ :image_scanning_configuration)
2006
+ include Aws::Structure
2007
+ end
2008
+
2009
+ # @!attribute [rw] registry_id
2010
+ # The registry ID associated with the request.
2011
+ # @return [String]
2012
+ #
2013
+ # @!attribute [rw] repository_name
2014
+ # The repository name associated with the request.
2015
+ # @return [String]
2016
+ #
2017
+ # @!attribute [rw] image_scanning_configuration
2018
+ # The image scanning configuration setting for the repository.
2019
+ # @return [Types::ImageScanningConfiguration]
2020
+ #
2021
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutImageScanningConfigurationResponse AWS API Documentation
2022
+ #
2023
+ class PutImageScanningConfigurationResponse < Struct.new(
2024
+ :registry_id,
2025
+ :repository_name,
2026
+ :image_scanning_configuration)
2027
+ include Aws::Structure
2028
+ end
2029
+
1704
2030
  # @note When making an API call, you may pass PutImageTagMutabilityRequest
1705
2031
  # data as a hash:
1706
2032
  #
@@ -1844,6 +2170,10 @@ module Aws::ECR
1844
2170
  # The tag mutability setting for the repository.
1845
2171
  # @return [String]
1846
2172
  #
2173
+ # @!attribute [rw] image_scanning_configuration
2174
+ # The image scanning configuration for a repository.
2175
+ # @return [Types::ImageScanningConfiguration]
2176
+ #
1847
2177
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/Repository AWS API Documentation
1848
2178
  #
1849
2179
  class Repository < Struct.new(
@@ -1852,7 +2182,8 @@ module Aws::ECR
1852
2182
  :repository_name,
1853
2183
  :repository_uri,
1854
2184
  :created_at,
1855
- :image_tag_mutability)
2185
+ :image_tag_mutability,
2186
+ :image_scanning_configuration)
1856
2187
  include Aws::Structure
1857
2188
  end
1858
2189
 
@@ -1913,6 +2244,19 @@ module Aws::ECR
1913
2244
  include Aws::Structure
1914
2245
  end
1915
2246
 
2247
+ # The specified image scan could not be found. Ensure that image
2248
+ # scanning is enabled on the repository and try again.
2249
+ #
2250
+ # @!attribute [rw] message
2251
+ # @return [String]
2252
+ #
2253
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ScanNotFoundException AWS API Documentation
2254
+ #
2255
+ class ScanNotFoundException < Struct.new(
2256
+ :message)
2257
+ include Aws::Structure
2258
+ end
2259
+
1916
2260
  # These errors are usually caused by a server-side issue.
1917
2261
  #
1918
2262
  # @!attribute [rw] message
@@ -1994,6 +2338,67 @@ module Aws::ECR
1994
2338
  include Aws::Structure
1995
2339
  end
1996
2340
 
2341
+ # @note When making an API call, you may pass StartImageScanRequest
2342
+ # data as a hash:
2343
+ #
2344
+ # {
2345
+ # registry_id: "RegistryId",
2346
+ # repository_name: "RepositoryName", # required
2347
+ # image_id: { # required
2348
+ # image_digest: "ImageDigest",
2349
+ # image_tag: "ImageTag",
2350
+ # },
2351
+ # }
2352
+ #
2353
+ # @!attribute [rw] registry_id
2354
+ # The AWS account ID associated with the registry that contains the
2355
+ # repository in which to start an image scan request. If you do not
2356
+ # specify a registry, the default registry is assumed.
2357
+ # @return [String]
2358
+ #
2359
+ # @!attribute [rw] repository_name
2360
+ # The name of the repository that contains the images to scan.
2361
+ # @return [String]
2362
+ #
2363
+ # @!attribute [rw] image_id
2364
+ # An object with identifying information for an Amazon ECR image.
2365
+ # @return [Types::ImageIdentifier]
2366
+ #
2367
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/StartImageScanRequest AWS API Documentation
2368
+ #
2369
+ class StartImageScanRequest < Struct.new(
2370
+ :registry_id,
2371
+ :repository_name,
2372
+ :image_id)
2373
+ include Aws::Structure
2374
+ end
2375
+
2376
+ # @!attribute [rw] registry_id
2377
+ # The registry ID associated with the request.
2378
+ # @return [String]
2379
+ #
2380
+ # @!attribute [rw] repository_name
2381
+ # The repository name associated with the request.
2382
+ # @return [String]
2383
+ #
2384
+ # @!attribute [rw] image_id
2385
+ # An object with identifying information for an Amazon ECR image.
2386
+ # @return [Types::ImageIdentifier]
2387
+ #
2388
+ # @!attribute [rw] image_scan_status
2389
+ # The current state of the scan.
2390
+ # @return [Types::ImageScanStatus]
2391
+ #
2392
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/StartImageScanResponse AWS API Documentation
2393
+ #
2394
+ class StartImageScanResponse < Struct.new(
2395
+ :registry_id,
2396
+ :repository_name,
2397
+ :image_id,
2398
+ :image_scan_status)
2399
+ include Aws::Structure
2400
+ end
2401
+
1997
2402
  # @note When making an API call, you may pass StartLifecyclePolicyPreviewRequest
1998
2403
  # data as a hash:
1999
2404
  #
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.21.0
4
+ version: 1.22.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: 2019-10-23 00:00:00.000000000 Z
11
+ date: 2019-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core