aws-sdk-ecr 1.113.0 → 1.115.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.
@@ -524,7 +524,7 @@ module Aws::ECR
524
524
  #
525
525
  # resp.layers #=> Array
526
526
  # resp.layers[0].layer_digest #=> String
527
- # resp.layers[0].layer_availability #=> String, one of "AVAILABLE", "UNAVAILABLE"
527
+ # resp.layers[0].layer_availability #=> String, one of "AVAILABLE", "UNAVAILABLE", "ARCHIVED"
528
528
  # resp.layers[0].layer_size #=> Integer
529
529
  # resp.layers[0].media_type #=> String
530
530
  # resp.failures #=> Array
@@ -617,7 +617,7 @@ module Aws::ECR
617
617
  # resp.failures #=> Array
618
618
  # resp.failures[0].image_id.image_digest #=> String
619
619
  # resp.failures[0].image_id.image_tag #=> String
620
- # resp.failures[0].failure_code #=> String, one of "InvalidImageDigest", "InvalidImageTag", "ImageTagDoesNotMatchDigest", "ImageNotFound", "MissingDigestAndTag", "ImageReferencedByManifestList", "KmsError", "UpstreamAccessDenied", "UpstreamTooManyRequests", "UpstreamUnavailable"
620
+ # resp.failures[0].failure_code #=> String, one of "InvalidImageDigest", "InvalidImageTag", "ImageTagDoesNotMatchDigest", "ImageNotFound", "MissingDigestAndTag", "ImageReferencedByManifestList", "KmsError", "UpstreamAccessDenied", "UpstreamTooManyRequests", "UpstreamUnavailable", "ImageInaccessible"
621
621
  # resp.failures[0].failure_reason #=> String
622
622
  #
623
623
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/BatchDeleteImage AWS API Documentation
@@ -718,7 +718,7 @@ module Aws::ECR
718
718
  # resp.failures #=> Array
719
719
  # resp.failures[0].image_id.image_digest #=> String
720
720
  # resp.failures[0].image_id.image_tag #=> String
721
- # resp.failures[0].failure_code #=> String, one of "InvalidImageDigest", "InvalidImageTag", "ImageTagDoesNotMatchDigest", "ImageNotFound", "MissingDigestAndTag", "ImageReferencedByManifestList", "KmsError", "UpstreamAccessDenied", "UpstreamTooManyRequests", "UpstreamUnavailable"
721
+ # resp.failures[0].failure_code #=> String, one of "InvalidImageDigest", "InvalidImageTag", "ImageTagDoesNotMatchDigest", "ImageNotFound", "MissingDigestAndTag", "ImageReferencedByManifestList", "KmsError", "UpstreamAccessDenied", "UpstreamTooManyRequests", "UpstreamUnavailable", "ImageInaccessible"
722
722
  # resp.failures[0].failure_reason #=> String
723
723
  #
724
724
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/BatchGetImage AWS API Documentation
@@ -974,10 +974,14 @@ module Aws::ECR
974
974
  # them from being overwritten.
975
975
  #
976
976
  # @option params [Array<Types::ImageTagMutabilityExclusionFilter>] :image_tag_mutability_exclusion_filters
977
- # Creates a repository with a list of filters that define which image
978
- # tags can override the default image tag mutability setting.
977
+ # A list of filters that specify which image tags should be excluded
978
+ # from the repository's image tag mutability setting.
979
979
  #
980
980
  # @option params [Types::ImageScanningConfiguration] :image_scanning_configuration
981
+ # The `imageScanningConfiguration` parameter is being deprecated, in
982
+ # favor of specifying the image scanning configuration at the registry
983
+ # level. For more information, see `PutRegistryScanningConfiguration`.
984
+ #
981
985
  # The image scanning configuration for the repository. This determines
982
986
  # whether images are scanned for known vulnerabilities after being
983
987
  # pushed to the repository.
@@ -1110,9 +1114,8 @@ module Aws::ECR
1110
1114
  # them from being overwritten.
1111
1115
  #
1112
1116
  # @option params [Array<Types::ImageTagMutabilityExclusionFilter>] :image_tag_mutability_exclusion_filters
1113
- # Creates a repository creation template with a list of filters that
1114
- # define which image tags can override the default image tag mutability
1115
- # setting.
1117
+ # A list of filters that specify which image tags should be excluded
1118
+ # from the repository creation template's image tag mutability setting.
1116
1119
  #
1117
1120
  # @option params [String] :repository_policy
1118
1121
  # The repository policy to apply to repositories created using the
@@ -1561,6 +1564,91 @@ module Aws::ECR
1561
1564
  req.send_request(options)
1562
1565
  end
1563
1566
 
1567
+ # Deletes the registry's signing configuration. Images pushed after
1568
+ # deletion of the signing configuration will no longer be automatically
1569
+ # signed.
1570
+ #
1571
+ # For more information, see [Managed signing][1] in the *Amazon Elastic
1572
+ # Container Registry User Guide*.
1573
+ #
1574
+ # <note markdown="1"> Deleting the signing configuration does not affect existing image
1575
+ # signatures.
1576
+ #
1577
+ # </note>
1578
+ #
1579
+ #
1580
+ #
1581
+ # [1]: https://docs.aws.amazon.com/AmazonECR/latest/userguide/managed-signing.html
1582
+ #
1583
+ # @return [Types::DeleteSigningConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1584
+ #
1585
+ # * {Types::DeleteSigningConfigurationResponse#registry_id #registry_id} => String
1586
+ # * {Types::DeleteSigningConfigurationResponse#signing_configuration #signing_configuration} => Types::SigningConfiguration
1587
+ #
1588
+ # @example Response structure
1589
+ #
1590
+ # resp.registry_id #=> String
1591
+ # resp.signing_configuration.rules #=> Array
1592
+ # resp.signing_configuration.rules[0].signing_profile_arn #=> String
1593
+ # resp.signing_configuration.rules[0].repository_filters #=> Array
1594
+ # resp.signing_configuration.rules[0].repository_filters[0].filter #=> String
1595
+ # resp.signing_configuration.rules[0].repository_filters[0].filter_type #=> String, one of "WILDCARD_MATCH"
1596
+ #
1597
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeleteSigningConfiguration AWS API Documentation
1598
+ #
1599
+ # @overload delete_signing_configuration(params = {})
1600
+ # @param [Hash] params ({})
1601
+ def delete_signing_configuration(params = {}, options = {})
1602
+ req = build_request(:delete_signing_configuration, params)
1603
+ req.send_request(options)
1604
+ end
1605
+
1606
+ # Removes a principal from the pull time update exclusion list for a
1607
+ # registry. Once removed, Amazon ECR will resume updating the pull time
1608
+ # if the specified principal pulls an image.
1609
+ #
1610
+ # @option params [required, String] :principal_arn
1611
+ # The ARN of the IAM principal to remove from the pull time update
1612
+ # exclusion list.
1613
+ #
1614
+ # @return [Types::DeregisterPullTimeUpdateExclusionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1615
+ #
1616
+ # * {Types::DeregisterPullTimeUpdateExclusionResponse#principal_arn #principal_arn} => String
1617
+ #
1618
+ #
1619
+ # @example Example: To remove a principal from the pull time exclusion list
1620
+ #
1621
+ # # This example removes an IAM role from the pull time update exclusion list. Amazon ECR will resume recording image pull
1622
+ # # timestamps for this principal.
1623
+ #
1624
+ # resp = client.deregister_pull_time_update_exclusion({
1625
+ # principal_arn: "arn:aws:iam::012345678910:role/ECRAccess",
1626
+ # })
1627
+ #
1628
+ # resp.to_h outputs the following:
1629
+ # {
1630
+ # principal_arn: "arn:aws:iam::012345678910:role/ECRAccess",
1631
+ # }
1632
+ #
1633
+ # @example Request syntax with placeholder values
1634
+ #
1635
+ # resp = client.deregister_pull_time_update_exclusion({
1636
+ # principal_arn: "PrincipalArn", # required
1637
+ # })
1638
+ #
1639
+ # @example Response structure
1640
+ #
1641
+ # resp.principal_arn #=> String
1642
+ #
1643
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeregisterPullTimeUpdateExclusion AWS API Documentation
1644
+ #
1645
+ # @overload deregister_pull_time_update_exclusion(params = {})
1646
+ # @param [Hash] params ({})
1647
+ def deregister_pull_time_update_exclusion(params = {}, options = {})
1648
+ req = build_request(:deregister_pull_time_update_exclusion, params)
1649
+ req.send_request(options)
1650
+ end
1651
+
1564
1652
  # Returns the replication status for a specified image.
1565
1653
  #
1566
1654
  # @option params [required, String] :repository_name
@@ -1674,7 +1762,7 @@ module Aws::ECR
1674
1762
  # resp.repository_name #=> String
1675
1763
  # resp.image_id.image_digest #=> String
1676
1764
  # resp.image_id.image_tag #=> String
1677
- # resp.image_scan_status.status #=> String, one of "IN_PROGRESS", "COMPLETE", "FAILED", "UNSUPPORTED_IMAGE", "ACTIVE", "PENDING", "SCAN_ELIGIBILITY_EXPIRED", "FINDINGS_UNAVAILABLE", "LIMIT_EXCEEDED"
1765
+ # resp.image_scan_status.status #=> String, one of "IN_PROGRESS", "COMPLETE", "FAILED", "UNSUPPORTED_IMAGE", "ACTIVE", "PENDING", "SCAN_ELIGIBILITY_EXPIRED", "FINDINGS_UNAVAILABLE", "LIMIT_EXCEEDED", "IMAGE_ARCHIVED"
1678
1766
  # resp.image_scan_status.description #=> String
1679
1767
  # resp.image_scan_findings.image_scan_completed_at #=> Time
1680
1768
  # resp.image_scan_findings.vulnerability_source_updated_at #=> Time
@@ -1768,6 +1856,67 @@ module Aws::ECR
1768
1856
  req.send_request(options)
1769
1857
  end
1770
1858
 
1859
+ # Returns the signing status for a specified image. If the image matched
1860
+ # signing rules that reference different signing profiles, a status is
1861
+ # returned for each profile.
1862
+ #
1863
+ # For more information, see [Managed signing][1] in the *Amazon Elastic
1864
+ # Container Registry User Guide*.
1865
+ #
1866
+ #
1867
+ #
1868
+ # [1]: https://docs.aws.amazon.com/AmazonECR/latest/userguide/managed-signing.html
1869
+ #
1870
+ # @option params [required, String] :repository_name
1871
+ # The name of the repository that contains the image.
1872
+ #
1873
+ # @option params [required, Types::ImageIdentifier] :image_id
1874
+ # An object containing identifying information for an image.
1875
+ #
1876
+ # @option params [String] :registry_id
1877
+ # The Amazon Web Services account ID associated with the registry that
1878
+ # contains the repository. If you do not specify a registry, the default
1879
+ # registry is assumed.
1880
+ #
1881
+ # @return [Types::DescribeImageSigningStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1882
+ #
1883
+ # * {Types::DescribeImageSigningStatusResponse#repository_name #repository_name} => String
1884
+ # * {Types::DescribeImageSigningStatusResponse#image_id #image_id} => Types::ImageIdentifier
1885
+ # * {Types::DescribeImageSigningStatusResponse#registry_id #registry_id} => String
1886
+ # * {Types::DescribeImageSigningStatusResponse#signing_statuses #signing_statuses} => Array&lt;Types::ImageSigningStatus&gt;
1887
+ #
1888
+ # @example Request syntax with placeholder values
1889
+ #
1890
+ # resp = client.describe_image_signing_status({
1891
+ # repository_name: "RepositoryName", # required
1892
+ # image_id: { # required
1893
+ # image_digest: "ImageDigest",
1894
+ # image_tag: "ImageTag",
1895
+ # },
1896
+ # registry_id: "RegistryId",
1897
+ # })
1898
+ #
1899
+ # @example Response structure
1900
+ #
1901
+ # resp.repository_name #=> String
1902
+ # resp.image_id.image_digest #=> String
1903
+ # resp.image_id.image_tag #=> String
1904
+ # resp.registry_id #=> String
1905
+ # resp.signing_statuses #=> Array
1906
+ # resp.signing_statuses[0].signing_profile_arn #=> String
1907
+ # resp.signing_statuses[0].failure_code #=> String
1908
+ # resp.signing_statuses[0].failure_reason #=> String
1909
+ # resp.signing_statuses[0].status #=> String, one of "IN_PROGRESS", "COMPLETE", "FAILED"
1910
+ #
1911
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeImageSigningStatus AWS API Documentation
1912
+ #
1913
+ # @overload describe_image_signing_status(params = {})
1914
+ # @param [Hash] params ({})
1915
+ def describe_image_signing_status(params = {}, options = {})
1916
+ req = build_request(:describe_image_signing_status, params)
1917
+ req.send_request(options)
1918
+ end
1919
+
1771
1920
  # Returns metadata about the images in a repository.
1772
1921
  #
1773
1922
  # <note markdown="1"> Starting with Docker version 1.9, the Docker client compresses image
@@ -1845,6 +1994,7 @@ module Aws::ECR
1845
1994
  # max_results: 1,
1846
1995
  # filter: {
1847
1996
  # tag_status: "TAGGED", # accepts TAGGED, UNTAGGED, ANY
1997
+ # image_status: "ACTIVE", # accepts ACTIVE, ARCHIVED, ACTIVATING, ANY
1848
1998
  # },
1849
1999
  # })
1850
2000
  #
@@ -1858,7 +2008,7 @@ module Aws::ECR
1858
2008
  # resp.image_details[0].image_tags[0] #=> String
1859
2009
  # resp.image_details[0].image_size_in_bytes #=> Integer
1860
2010
  # resp.image_details[0].image_pushed_at #=> Time
1861
- # resp.image_details[0].image_scan_status.status #=> String, one of "IN_PROGRESS", "COMPLETE", "FAILED", "UNSUPPORTED_IMAGE", "ACTIVE", "PENDING", "SCAN_ELIGIBILITY_EXPIRED", "FINDINGS_UNAVAILABLE", "LIMIT_EXCEEDED"
2011
+ # resp.image_details[0].image_scan_status.status #=> String, one of "IN_PROGRESS", "COMPLETE", "FAILED", "UNSUPPORTED_IMAGE", "ACTIVE", "PENDING", "SCAN_ELIGIBILITY_EXPIRED", "FINDINGS_UNAVAILABLE", "LIMIT_EXCEEDED", "IMAGE_ARCHIVED"
1862
2012
  # resp.image_details[0].image_scan_status.description #=> String
1863
2013
  # resp.image_details[0].image_scan_findings_summary.image_scan_completed_at #=> Time
1864
2014
  # resp.image_details[0].image_scan_findings_summary.vulnerability_source_updated_at #=> Time
@@ -1867,6 +2017,10 @@ module Aws::ECR
1867
2017
  # resp.image_details[0].image_manifest_media_type #=> String
1868
2018
  # resp.image_details[0].artifact_media_type #=> String
1869
2019
  # resp.image_details[0].last_recorded_pull_time #=> Time
2020
+ # resp.image_details[0].subject_manifest_digest #=> String
2021
+ # resp.image_details[0].image_status #=> String, one of "ACTIVE", "ARCHIVED", "ACTIVATING"
2022
+ # resp.image_details[0].last_archived_at #=> Time
2023
+ # resp.image_details[0].last_activated_at #=> Time
1870
2024
  # resp.next_token #=> String
1871
2025
  #
1872
2026
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeImages AWS API Documentation
@@ -2485,9 +2639,14 @@ module Aws::ECR
2485
2639
  # resp.preview_results[0].image_tags[0] #=> String
2486
2640
  # resp.preview_results[0].image_digest #=> String
2487
2641
  # resp.preview_results[0].image_pushed_at #=> Time
2488
- # resp.preview_results[0].action.type #=> String, one of "EXPIRE"
2642
+ # resp.preview_results[0].action.type #=> String, one of "EXPIRE", "TRANSITION"
2643
+ # resp.preview_results[0].action.target_storage_class #=> String, one of "ARCHIVE"
2489
2644
  # resp.preview_results[0].applied_rule_priority #=> Integer
2645
+ # resp.preview_results[0].storage_class #=> String, one of "ARCHIVE", "STANDARD"
2490
2646
  # resp.summary.expiring_image_total_count #=> Integer
2647
+ # resp.summary.transitioning_image_total_counts #=> Array
2648
+ # resp.summary.transitioning_image_total_counts[0].target_storage_class #=> String, one of "ARCHIVE"
2649
+ # resp.summary.transitioning_image_total_counts[0].image_total_count #=> Integer
2491
2650
  #
2492
2651
  #
2493
2652
  # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
@@ -2604,6 +2763,39 @@ module Aws::ECR
2604
2763
  req.send_request(options)
2605
2764
  end
2606
2765
 
2766
+ # Retrieves the registry's signing configuration, which defines rules
2767
+ # for automatically signing images using Amazon Web Services Signer.
2768
+ #
2769
+ # For more information, see [Managed signing][1] in the *Amazon Elastic
2770
+ # Container Registry User Guide*.
2771
+ #
2772
+ #
2773
+ #
2774
+ # [1]: https://docs.aws.amazon.com/AmazonECR/latest/userguide/managed-signing.html
2775
+ #
2776
+ # @return [Types::GetSigningConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2777
+ #
2778
+ # * {Types::GetSigningConfigurationResponse#registry_id #registry_id} => String
2779
+ # * {Types::GetSigningConfigurationResponse#signing_configuration #signing_configuration} => Types::SigningConfiguration
2780
+ #
2781
+ # @example Response structure
2782
+ #
2783
+ # resp.registry_id #=> String
2784
+ # resp.signing_configuration.rules #=> Array
2785
+ # resp.signing_configuration.rules[0].signing_profile_arn #=> String
2786
+ # resp.signing_configuration.rules[0].repository_filters #=> Array
2787
+ # resp.signing_configuration.rules[0].repository_filters[0].filter #=> String
2788
+ # resp.signing_configuration.rules[0].repository_filters[0].filter_type #=> String, one of "WILDCARD_MATCH"
2789
+ #
2790
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetSigningConfiguration AWS API Documentation
2791
+ #
2792
+ # @overload get_signing_configuration(params = {})
2793
+ # @param [Hash] params ({})
2794
+ def get_signing_configuration(params = {}, options = {})
2795
+ req = build_request(:get_signing_configuration, params)
2796
+ req.send_request(options)
2797
+ end
2798
+
2607
2799
  # Notifies Amazon ECR that you intend to upload an image layer.
2608
2800
  #
2609
2801
  # When an image is pushed, the InitiateLayerUpload API is called once
@@ -2651,6 +2843,200 @@ module Aws::ECR
2651
2843
  req.send_request(options)
2652
2844
  end
2653
2845
 
2846
+ # Lists the artifacts associated with a specified subject image.
2847
+ #
2848
+ # @option params [String] :registry_id
2849
+ # The Amazon Web Services account ID associated with the registry that
2850
+ # contains the repository in which to list image referrers. If you do
2851
+ # not specify a registry, the default registry is assumed.
2852
+ #
2853
+ # @option params [required, String] :repository_name
2854
+ # The name of the repository that contains the subject image.
2855
+ #
2856
+ # @option params [required, Types::SubjectIdentifier] :subject_id
2857
+ # An object containing the image digest of the subject image for which
2858
+ # to retrieve associated artifacts.
2859
+ #
2860
+ # @option params [Types::ListImageReferrersFilter] :filter
2861
+ # The filter key and value with which to filter your
2862
+ # `ListImageReferrers` results. If no filter is specified, only
2863
+ # artifacts with `ACTIVE` status are returned.
2864
+ #
2865
+ # @option params [String] :next_token
2866
+ # The `nextToken` value returned from a previous paginated
2867
+ # `ListImageReferrers` request where `maxResults` was used and the
2868
+ # results exceeded the value of that parameter. Pagination continues
2869
+ # from the end of the previous results that returned the `nextToken`
2870
+ # value. This value is `null` when there are no more results to return.
2871
+ #
2872
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only used
2873
+ # to retrieve the next items in a list and not for other programmatic
2874
+ # purposes.
2875
+ #
2876
+ # </note>
2877
+ #
2878
+ # @option params [Integer] :max_results
2879
+ # The maximum number of image referrer results returned by
2880
+ # `ListImageReferrers` in paginated output. When this parameter is used,
2881
+ # `ListImageReferrers` only returns `maxResults` results in a single
2882
+ # page along with a `nextToken` response element. The remaining results
2883
+ # of the initial request can be seen by sending another
2884
+ # `ListImageReferrers` request with the returned `nextToken` value. This
2885
+ # value can be between 1 and 50. If this parameter is not used, then
2886
+ # `ListImageReferrers` returns up to 50 results and a `nextToken` value,
2887
+ # if applicable.
2888
+ #
2889
+ # @return [Types::ListImageReferrersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2890
+ #
2891
+ # * {Types::ListImageReferrersResponse#referrers #referrers} => Array&lt;Types::ImageReferrer&gt;
2892
+ # * {Types::ListImageReferrersResponse#next_token #next_token} => String
2893
+ #
2894
+ #
2895
+ # @example Example: To list artifacts associated with a subject image
2896
+ #
2897
+ # # This example lists all artifacts (such as Sigstore signatures) that reference a specific container image in the
2898
+ # # sample-repo repository.
2899
+ #
2900
+ # resp = client.list_image_referrers({
2901
+ # repository_name: "sample-repo",
2902
+ # subject_id: {
2903
+ # image_digest: "sha256:943e640159415616581703a53fa4ed87e96740655fd67daf2d2146a35337bce5",
2904
+ # },
2905
+ # })
2906
+ #
2907
+ # resp.to_h outputs the following:
2908
+ # {
2909
+ # referrers: [
2910
+ # {
2911
+ # annotations: {
2912
+ # "dev.sigstore.bundle.content" => "dsse-envelope",
2913
+ # "dev.sigstore.bundle.predicateType" => "https://sigstore.dev/cosign/sign/v1",
2914
+ # "org.opencontainers.image.created" => "2025-11-17T22:00:33Z",
2915
+ # },
2916
+ # artifact_status: "ACTIVE",
2917
+ # artifact_type: "application/vnd.dev.sigstore.bundle.v0.3+json",
2918
+ # digest: "sha256:270c60be5b6ed41e6e7c505ac0c4e2577748affc14147bcba76b533604dc7a07",
2919
+ # media_type: "application/vnd.oci.image.manifest.v1+json",
2920
+ # size: 888,
2921
+ # },
2922
+ # ],
2923
+ # }
2924
+ #
2925
+ # @example Example: To list artifacts of a specific type
2926
+ #
2927
+ # # This example lists only Sigstore bundle artifacts associated with a subject image by filtering on the artifact type.
2928
+ #
2929
+ # resp = client.list_image_referrers({
2930
+ # filter: {
2931
+ # artifact_types: [
2932
+ # "application/vnd.dev.sigstore.bundle.v0.3+json",
2933
+ # ],
2934
+ # },
2935
+ # repository_name: "sample-repo",
2936
+ # subject_id: {
2937
+ # image_digest: "sha256:943e640159415616581703a53fa4ed87e96740655fd67daf2d2146a35337bce5",
2938
+ # },
2939
+ # })
2940
+ #
2941
+ # resp.to_h outputs the following:
2942
+ # {
2943
+ # referrers: [
2944
+ # {
2945
+ # annotations: {
2946
+ # "dev.sigstore.bundle.content" => "dsse-envelope",
2947
+ # "dev.sigstore.bundle.predicateType" => "https://sigstore.dev/cosign/sign/v1",
2948
+ # "org.opencontainers.image.created" => "2025-11-17T22:00:33Z",
2949
+ # },
2950
+ # artifact_status: "ACTIVE",
2951
+ # artifact_type: "application/vnd.dev.sigstore.bundle.v0.3+json",
2952
+ # digest: "sha256:270c60be5b6ed41e6e7c505ac0c4e2577748affc14147bcba76b533604dc7a07",
2953
+ # media_type: "application/vnd.oci.image.manifest.v1+json",
2954
+ # size: 888,
2955
+ # },
2956
+ # ],
2957
+ # }
2958
+ #
2959
+ # @example Example: To list both active and archived artifacts
2960
+ #
2961
+ # # This example lists all artifacts including those that have been archived, by specifying the artifactStatus filter as
2962
+ # # ANY.
2963
+ #
2964
+ # resp = client.list_image_referrers({
2965
+ # filter: {
2966
+ # artifact_status: "ANY",
2967
+ # },
2968
+ # repository_name: "sample-repo",
2969
+ # subject_id: {
2970
+ # image_digest: "sha256:943e640159415616581703a53fa4ed87e96740655fd67daf2d2146a35337bce5",
2971
+ # },
2972
+ # })
2973
+ #
2974
+ # resp.to_h outputs the following:
2975
+ # {
2976
+ # referrers: [
2977
+ # {
2978
+ # annotations: {
2979
+ # "dev.sigstore.bundle.content" => "dsse-envelope",
2980
+ # "dev.sigstore.bundle.predicateType" => "https://sigstore.dev/cosign/sign/v1",
2981
+ # "org.opencontainers.image.created" => "2025-11-17T22:00:33Z",
2982
+ # },
2983
+ # artifact_status: "ACTIVE",
2984
+ # artifact_type: "application/vnd.dev.sigstore.bundle.v0.3+json",
2985
+ # digest: "sha256:270c60be5b6ed41e6e7c505ac0c4e2577748affc14147bcba76b533604dc7a07",
2986
+ # media_type: "application/vnd.oci.image.manifest.v1+json",
2987
+ # size: 888,
2988
+ # },
2989
+ # {
2990
+ # annotations: {
2991
+ # "dev.sigstore.bundle.predicateType" => "https://sigstore.dev/cosign/sign/v1",
2992
+ # "org.opencontainers.image.created" => "2025-10-15T14:30:00Z",
2993
+ # },
2994
+ # artifact_status: "ARCHIVED",
2995
+ # artifact_type: "application/vnd.dev.sigstore.bundle.v0.2+json",
2996
+ # digest: "sha256:5a1c89f2b3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0",
2997
+ # media_type: "application/vnd.oci.image.manifest.v1+json",
2998
+ # size: 856,
2999
+ # },
3000
+ # ],
3001
+ # }
3002
+ #
3003
+ # @example Request syntax with placeholder values
3004
+ #
3005
+ # resp = client.list_image_referrers({
3006
+ # registry_id: "RegistryId",
3007
+ # repository_name: "RepositoryName", # required
3008
+ # subject_id: { # required
3009
+ # image_digest: "ImageDigest", # required
3010
+ # },
3011
+ # filter: {
3012
+ # artifact_types: ["ArtifactType"],
3013
+ # artifact_status: "ACTIVE", # accepts ACTIVE, ARCHIVED, ACTIVATING, ANY
3014
+ # },
3015
+ # next_token: "NextToken",
3016
+ # max_results: 1,
3017
+ # })
3018
+ #
3019
+ # @example Response structure
3020
+ #
3021
+ # resp.referrers #=> Array
3022
+ # resp.referrers[0].digest #=> String
3023
+ # resp.referrers[0].media_type #=> String
3024
+ # resp.referrers[0].artifact_type #=> String
3025
+ # resp.referrers[0].size #=> Integer
3026
+ # resp.referrers[0].annotations #=> Hash
3027
+ # resp.referrers[0].annotations["String"] #=> String
3028
+ # resp.referrers[0].artifact_status #=> String, one of "ACTIVE", "ARCHIVED", "ACTIVATING"
3029
+ # resp.next_token #=> String
3030
+ #
3031
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ListImageReferrers AWS API Documentation
3032
+ #
3033
+ # @overload list_image_referrers(params = {})
3034
+ # @param [Hash] params ({})
3035
+ def list_image_referrers(params = {}, options = {})
3036
+ req = build_request(:list_image_referrers, params)
3037
+ req.send_request(options)
3038
+ end
3039
+
2654
3040
  # Lists all the image IDs for the specified repository.
2655
3041
  #
2656
3042
  # You can filter images based on whether or not they are tagged by using
@@ -2730,6 +3116,7 @@ module Aws::ECR
2730
3116
  # max_results: 1,
2731
3117
  # filter: {
2732
3118
  # tag_status: "TAGGED", # accepts TAGGED, UNTAGGED, ANY
3119
+ # image_status: "ACTIVE", # accepts ACTIVE, ARCHIVED, ACTIVATING, ANY
2733
3120
  # },
2734
3121
  # })
2735
3122
  #
@@ -2749,6 +3136,93 @@ module Aws::ECR
2749
3136
  req.send_request(options)
2750
3137
  end
2751
3138
 
3139
+ # Lists the IAM principals that are excluded from having their image
3140
+ # pull times recorded.
3141
+ #
3142
+ # @option params [Integer] :max_results
3143
+ # The maximum number of pull time update exclusion results returned by
3144
+ # `ListPullTimeUpdateExclusions` in paginated output. When this
3145
+ # parameter is used, `ListPullTimeUpdateExclusions` only returns
3146
+ # `maxResults` results in a single page along with a `nextToken`
3147
+ # response element. The remaining results of the initial request can be
3148
+ # seen by sending another `ListPullTimeUpdateExclusions` request with
3149
+ # the returned `nextToken` value. This value can be between 1 and 1000.
3150
+ # If this parameter is not used, then `ListPullTimeUpdateExclusions`
3151
+ # returns up to 100 results and a `nextToken` value, if applicable.
3152
+ #
3153
+ # @option params [String] :next_token
3154
+ # The `nextToken` value returned from a previous paginated
3155
+ # `ListPullTimeUpdateExclusions` request where `maxResults` was used and
3156
+ # the results exceeded the value of that parameter. Pagination continues
3157
+ # from the end of the previous results that returned the `nextToken`
3158
+ # value. This value is `null` when there are no more results to return.
3159
+ #
3160
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only used
3161
+ # to retrieve the next items in a list and not for other programmatic
3162
+ # purposes.
3163
+ #
3164
+ # </note>
3165
+ #
3166
+ # @return [Types::ListPullTimeUpdateExclusionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3167
+ #
3168
+ # * {Types::ListPullTimeUpdateExclusionsResponse#pull_time_update_exclusions #pull_time_update_exclusions} => Array&lt;String&gt;
3169
+ # * {Types::ListPullTimeUpdateExclusionsResponse#next_token #next_token} => String
3170
+ #
3171
+ #
3172
+ # @example Example: To list all pull time update exclusions
3173
+ #
3174
+ # # This example lists all IAM principals that are excluded from having their image pull timestamps recorded in the
3175
+ # # registry.
3176
+ #
3177
+ # resp = client.list_pull_time_update_exclusions({
3178
+ # })
3179
+ #
3180
+ # resp.to_h outputs the following:
3181
+ # {
3182
+ # pull_time_update_exclusions: [
3183
+ # "arn:aws:iam::012345678910:role/ECRAccess",
3184
+ # ],
3185
+ # }
3186
+ #
3187
+ # @example Example: To list pull time update exclusions with pagination
3188
+ #
3189
+ # # This example lists pull time update exclusions with pagination, requesting a maximum of 2 results per page.
3190
+ #
3191
+ # resp = client.list_pull_time_update_exclusions({
3192
+ # max_results: 2,
3193
+ # })
3194
+ #
3195
+ # resp.to_h outputs the following:
3196
+ # {
3197
+ # next_token: "eyJlbmNyeXB0ZWREYXRhIjpbXX0=",
3198
+ # pull_time_update_exclusions: [
3199
+ # "arn:aws:iam::012345678910:role/ECRAccess",
3200
+ # "arn:aws:iam::012345678910:role/CICDPipeline",
3201
+ # ],
3202
+ # }
3203
+ #
3204
+ # @example Request syntax with placeholder values
3205
+ #
3206
+ # resp = client.list_pull_time_update_exclusions({
3207
+ # max_results: 1,
3208
+ # next_token: "NextToken",
3209
+ # })
3210
+ #
3211
+ # @example Response structure
3212
+ #
3213
+ # resp.pull_time_update_exclusions #=> Array
3214
+ # resp.pull_time_update_exclusions[0] #=> String
3215
+ # resp.next_token #=> String
3216
+ #
3217
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ListPullTimeUpdateExclusions AWS API Documentation
3218
+ #
3219
+ # @overload list_pull_time_update_exclusions(params = {})
3220
+ # @param [Hash] params ({})
3221
+ def list_pull_time_update_exclusions(params = {}, options = {})
3222
+ req = build_request(:list_pull_time_update_exclusions, params)
3223
+ req.send_request(options)
3224
+ end
3225
+
2752
3226
  # List the tags for an Amazon ECR resource.
2753
3227
  #
2754
3228
  # @option params [required, String] :resource_arn
@@ -2850,9 +3324,7 @@ module Aws::ECR
2850
3324
  # `imageManifestMediaType` in the request.
2851
3325
  #
2852
3326
  # @option params [String] :image_tag
2853
- # The tag to associate with the image. This parameter is required for
2854
- # images that use the Docker Image Manifest V2 Schema 2 or Open
2855
- # Container Initiative (OCI) formats.
3327
+ # The tag to associate with the image. This parameter is optional.
2856
3328
  #
2857
3329
  # @option params [String] :image_digest
2858
3330
  # The image digest of the image manifest corresponding to the image.
@@ -2967,8 +3439,8 @@ module Aws::ECR
2967
3439
  # prevent them from being overwritten.
2968
3440
  #
2969
3441
  # @option params [Array<Types::ImageTagMutabilityExclusionFilter>] :image_tag_mutability_exclusion_filters
2970
- # Creates or updates a repository with filters that define which image
2971
- # tags can override the default image tag mutability setting.
3442
+ # A list of filters that specify which image tags should be excluded
3443
+ # from the image tag mutability setting being applied.
2972
3444
  #
2973
3445
  # @return [Types::PutImageTagMutabilityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2974
3446
  #
@@ -3235,6 +3707,114 @@ module Aws::ECR
3235
3707
  req.send_request(options)
3236
3708
  end
3237
3709
 
3710
+ # Creates or updates the registry's signing configuration, which
3711
+ # defines rules for automatically signing images with Amazon Web
3712
+ # Services Signer.
3713
+ #
3714
+ # For more information, see [Managed signing][1] in the *Amazon Elastic
3715
+ # Container Registry User Guide*.
3716
+ #
3717
+ # <note markdown="1"> To successfully generate a signature, the IAM principal pushing images
3718
+ # must have permission to sign payloads with the Amazon Web Services
3719
+ # Signer signing profile referenced in the signing configuration.
3720
+ #
3721
+ # </note>
3722
+ #
3723
+ #
3724
+ #
3725
+ # [1]: https://docs.aws.amazon.com/AmazonECR/latest/userguide/managed-signing.html
3726
+ #
3727
+ # @option params [required, Types::SigningConfiguration] :signing_configuration
3728
+ # The signing configuration to assign to the registry.
3729
+ #
3730
+ # @return [Types::PutSigningConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3731
+ #
3732
+ # * {Types::PutSigningConfigurationResponse#signing_configuration #signing_configuration} => Types::SigningConfiguration
3733
+ #
3734
+ # @example Request syntax with placeholder values
3735
+ #
3736
+ # resp = client.put_signing_configuration({
3737
+ # signing_configuration: { # required
3738
+ # rules: [ # required
3739
+ # {
3740
+ # signing_profile_arn: "SigningProfileArn", # required
3741
+ # repository_filters: [
3742
+ # {
3743
+ # filter: "SigningRepositoryFilterValue", # required
3744
+ # filter_type: "WILDCARD_MATCH", # required, accepts WILDCARD_MATCH
3745
+ # },
3746
+ # ],
3747
+ # },
3748
+ # ],
3749
+ # },
3750
+ # })
3751
+ #
3752
+ # @example Response structure
3753
+ #
3754
+ # resp.signing_configuration.rules #=> Array
3755
+ # resp.signing_configuration.rules[0].signing_profile_arn #=> String
3756
+ # resp.signing_configuration.rules[0].repository_filters #=> Array
3757
+ # resp.signing_configuration.rules[0].repository_filters[0].filter #=> String
3758
+ # resp.signing_configuration.rules[0].repository_filters[0].filter_type #=> String, one of "WILDCARD_MATCH"
3759
+ #
3760
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutSigningConfiguration AWS API Documentation
3761
+ #
3762
+ # @overload put_signing_configuration(params = {})
3763
+ # @param [Hash] params ({})
3764
+ def put_signing_configuration(params = {}, options = {})
3765
+ req = build_request(:put_signing_configuration, params)
3766
+ req.send_request(options)
3767
+ end
3768
+
3769
+ # Adds an IAM principal to the pull time update exclusion list for a
3770
+ # registry. Amazon ECR will not record the pull time if an excluded
3771
+ # principal pulls an image.
3772
+ #
3773
+ # @option params [required, String] :principal_arn
3774
+ # The ARN of the IAM principal to exclude from having image pull times
3775
+ # recorded.
3776
+ #
3777
+ # @return [Types::RegisterPullTimeUpdateExclusionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3778
+ #
3779
+ # * {Types::RegisterPullTimeUpdateExclusionResponse#principal_arn #principal_arn} => String
3780
+ # * {Types::RegisterPullTimeUpdateExclusionResponse#created_at #created_at} => Time
3781
+ #
3782
+ #
3783
+ # @example Example: To exclude an IAM role from pull time tracking
3784
+ #
3785
+ # # This example adds an IAM role to the pull time update exclusion list so that Amazon ECR will not record image pull
3786
+ # # timestamps for this principal.
3787
+ #
3788
+ # resp = client.register_pull_time_update_exclusion({
3789
+ # principal_arn: "arn:aws:iam::012345678910:role/ECRAccess",
3790
+ # })
3791
+ #
3792
+ # resp.to_h outputs the following:
3793
+ # {
3794
+ # created_at: Time.parse("2025-11-17T22:08:12.659000+00:00"),
3795
+ # principal_arn: "arn:aws:iam::012345678910:role/ECRAccess",
3796
+ # }
3797
+ #
3798
+ # @example Request syntax with placeholder values
3799
+ #
3800
+ # resp = client.register_pull_time_update_exclusion({
3801
+ # principal_arn: "PrincipalArn", # required
3802
+ # })
3803
+ #
3804
+ # @example Response structure
3805
+ #
3806
+ # resp.principal_arn #=> String
3807
+ # resp.created_at #=> Time
3808
+ #
3809
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/RegisterPullTimeUpdateExclusion AWS API Documentation
3810
+ #
3811
+ # @overload register_pull_time_update_exclusion(params = {})
3812
+ # @param [Hash] params ({})
3813
+ def register_pull_time_update_exclusion(params = {}, options = {})
3814
+ req = build_request(:register_pull_time_update_exclusion, params)
3815
+ req.send_request(options)
3816
+ end
3817
+
3238
3818
  # Applies a repository policy to the specified repository to control
3239
3819
  # access permissions. For more information, see [Amazon ECR Repository
3240
3820
  # policies][1] in the *Amazon Elastic Container Registry User Guide*.
@@ -3345,7 +3925,7 @@ module Aws::ECR
3345
3925
  # resp.repository_name #=> String
3346
3926
  # resp.image_id.image_digest #=> String
3347
3927
  # resp.image_id.image_tag #=> String
3348
- # resp.image_scan_status.status #=> String, one of "IN_PROGRESS", "COMPLETE", "FAILED", "UNSUPPORTED_IMAGE", "ACTIVE", "PENDING", "SCAN_ELIGIBILITY_EXPIRED", "FINDINGS_UNAVAILABLE", "LIMIT_EXCEEDED"
3928
+ # resp.image_scan_status.status #=> String, one of "IN_PROGRESS", "COMPLETE", "FAILED", "UNSUPPORTED_IMAGE", "ACTIVE", "PENDING", "SCAN_ELIGIBILITY_EXPIRED", "FINDINGS_UNAVAILABLE", "LIMIT_EXCEEDED", "IMAGE_ARCHIVED"
3349
3929
  # resp.image_scan_status.description #=> String
3350
3930
  #
3351
3931
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/StartImageScan AWS API Documentation
@@ -3469,6 +4049,110 @@ module Aws::ECR
3469
4049
  req.send_request(options)
3470
4050
  end
3471
4051
 
4052
+ # Transitions an image between storage classes. You can transition
4053
+ # images from Amazon ECR standard storage class to Amazon ECR archival
4054
+ # storage class for long-term storage, or restore archived images back
4055
+ # to Amazon ECR standard.
4056
+ #
4057
+ # @option params [String] :registry_id
4058
+ # The Amazon Web Services account ID associated with the registry that
4059
+ # contains the image to transition. If you do not specify a registry,
4060
+ # the default registry is assumed.
4061
+ #
4062
+ # @option params [required, String] :repository_name
4063
+ # The name of the repository that contains the image to transition.
4064
+ #
4065
+ # @option params [required, Types::ImageIdentifier] :image_id
4066
+ # An object with identifying information for an image in an Amazon ECR
4067
+ # repository.
4068
+ #
4069
+ # @option params [required, String] :target_storage_class
4070
+ # The target storage class for the image.
4071
+ #
4072
+ # @return [Types::UpdateImageStorageClassResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4073
+ #
4074
+ # * {Types::UpdateImageStorageClassResponse#registry_id #registry_id} => String
4075
+ # * {Types::UpdateImageStorageClassResponse#repository_name #repository_name} => String
4076
+ # * {Types::UpdateImageStorageClassResponse#image_id #image_id} => Types::ImageIdentifier
4077
+ # * {Types::UpdateImageStorageClassResponse#image_status #image_status} => String
4078
+ #
4079
+ #
4080
+ # @example Example: To transition an image to Amazon ECR Archive
4081
+ #
4082
+ # # This example transitions an image with a specific digest in the hello-repository repository to Amazon ECR Archive
4083
+ # # storage for long-term archival.
4084
+ #
4085
+ # resp = client.update_image_storage_class({
4086
+ # image_id: {
4087
+ # image_digest: "sha256:0b1a4e0c81c434fa7928e5c4a2651a521ebabc4ff200c65f7e25b99373efca3b",
4088
+ # },
4089
+ # registry_id: "724772093679",
4090
+ # repository_name: "hello-repository",
4091
+ # target_storage_class: "ARCHIVE",
4092
+ # })
4093
+ #
4094
+ # resp.to_h outputs the following:
4095
+ # {
4096
+ # image_id: {
4097
+ # image_digest: "sha256:0b1a4e0c81c434fa7928e5c4a2651a521ebabc4ff200c65f7e25b99373efca3b",
4098
+ # },
4099
+ # image_status: "ARCHIVED",
4100
+ # registry_id: "724772093679",
4101
+ # repository_name: "hello-repository",
4102
+ # }
4103
+ #
4104
+ # @example Example: To restore an archived image to Amazon ECR Standard
4105
+ #
4106
+ # # This example restores an archived image with a specific digest back to Amazon ECR Standard storage.
4107
+ #
4108
+ # resp = client.update_image_storage_class({
4109
+ # image_id: {
4110
+ # image_digest: "sha256:0b1a4e0c81c434fa7928e5c4a2651a521ebabc4ff200c65f7e25b99373efca3b",
4111
+ # },
4112
+ # registry_id: "724772093679",
4113
+ # repository_name: "hello-repository",
4114
+ # target_storage_class: "STANDARD",
4115
+ # })
4116
+ #
4117
+ # resp.to_h outputs the following:
4118
+ # {
4119
+ # image_id: {
4120
+ # image_digest: "sha256:0b1a4e0c81c434fa7928e5c4a2651a521ebabc4ff200c65f7e25b99373efca3b",
4121
+ # },
4122
+ # image_status: "ACTIVATING",
4123
+ # registry_id: "724772093679",
4124
+ # repository_name: "hello-repository",
4125
+ # }
4126
+ #
4127
+ # @example Request syntax with placeholder values
4128
+ #
4129
+ # resp = client.update_image_storage_class({
4130
+ # registry_id: "RegistryId",
4131
+ # repository_name: "RepositoryName", # required
4132
+ # image_id: { # required
4133
+ # image_digest: "ImageDigest",
4134
+ # image_tag: "ImageTag",
4135
+ # },
4136
+ # target_storage_class: "STANDARD", # required, accepts STANDARD, ARCHIVE
4137
+ # })
4138
+ #
4139
+ # @example Response structure
4140
+ #
4141
+ # resp.registry_id #=> String
4142
+ # resp.repository_name #=> String
4143
+ # resp.image_id.image_digest #=> String
4144
+ # resp.image_id.image_tag #=> String
4145
+ # resp.image_status #=> String, one of "ACTIVE", "ARCHIVED", "ACTIVATING"
4146
+ #
4147
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/UpdateImageStorageClass AWS API Documentation
4148
+ #
4149
+ # @overload update_image_storage_class(params = {})
4150
+ # @param [Hash] params ({})
4151
+ def update_image_storage_class(params = {}, options = {})
4152
+ req = build_request(:update_image_storage_class, params)
4153
+ req.send_request(options)
4154
+ end
4155
+
3472
4156
  # Updates an existing pull through cache rule.
3473
4157
  #
3474
4158
  # @option params [String] :registry_id
@@ -3562,8 +4246,8 @@ module Aws::ECR
3562
4246
  # which will prevent them from being overwritten.
3563
4247
  #
3564
4248
  # @option params [Array<Types::ImageTagMutabilityExclusionFilter>] :image_tag_mutability_exclusion_filters
3565
- # Updates a repository with filters that define which image tags can
3566
- # override the default image tag mutability setting.
4249
+ # A list of filters that specify which image tags should be excluded
4250
+ # from the repository creation template's image tag mutability setting.
3567
4251
  #
3568
4252
  # @option params [String] :repository_policy
3569
4253
  # Updates the repository policy created using the template. A repository
@@ -3834,7 +4518,7 @@ module Aws::ECR
3834
4518
  tracer: tracer
3835
4519
  )
3836
4520
  context[:gem_name] = 'aws-sdk-ecr'
3837
- context[:gem_version] = '1.113.0'
4521
+ context[:gem_version] = '1.115.0'
3838
4522
  Seahorse::Client::Request.new(handlers, context)
3839
4523
  end
3840
4524