aws-sdk-ecr 1.113.0 → 1.114.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,52 @@ module Aws::ECR
1561
1564
  req.send_request(options)
1562
1565
  end
1563
1566
 
1567
+ # Removes a principal from the pull time update exclusion list for a
1568
+ # registry. Once removed, Amazon ECR will resume updating the pull time
1569
+ # if the specified principal pulls an image.
1570
+ #
1571
+ # @option params [required, String] :principal_arn
1572
+ # The ARN of the IAM principal to remove from the pull time update
1573
+ # exclusion list.
1574
+ #
1575
+ # @return [Types::DeregisterPullTimeUpdateExclusionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1576
+ #
1577
+ # * {Types::DeregisterPullTimeUpdateExclusionResponse#principal_arn #principal_arn} => String
1578
+ #
1579
+ #
1580
+ # @example Example: To remove a principal from the pull time exclusion list
1581
+ #
1582
+ # # This example removes an IAM role from the pull time update exclusion list. Amazon ECR will resume recording image pull
1583
+ # # timestamps for this principal.
1584
+ #
1585
+ # resp = client.deregister_pull_time_update_exclusion({
1586
+ # principal_arn: "arn:aws:iam::012345678910:role/ECRAccess",
1587
+ # })
1588
+ #
1589
+ # resp.to_h outputs the following:
1590
+ # {
1591
+ # principal_arn: "arn:aws:iam::012345678910:role/ECRAccess",
1592
+ # }
1593
+ #
1594
+ # @example Request syntax with placeholder values
1595
+ #
1596
+ # resp = client.deregister_pull_time_update_exclusion({
1597
+ # principal_arn: "PrincipalArn", # required
1598
+ # })
1599
+ #
1600
+ # @example Response structure
1601
+ #
1602
+ # resp.principal_arn #=> String
1603
+ #
1604
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeregisterPullTimeUpdateExclusion AWS API Documentation
1605
+ #
1606
+ # @overload deregister_pull_time_update_exclusion(params = {})
1607
+ # @param [Hash] params ({})
1608
+ def deregister_pull_time_update_exclusion(params = {}, options = {})
1609
+ req = build_request(:deregister_pull_time_update_exclusion, params)
1610
+ req.send_request(options)
1611
+ end
1612
+
1564
1613
  # Returns the replication status for a specified image.
1565
1614
  #
1566
1615
  # @option params [required, String] :repository_name
@@ -1674,7 +1723,7 @@ module Aws::ECR
1674
1723
  # resp.repository_name #=> String
1675
1724
  # resp.image_id.image_digest #=> String
1676
1725
  # 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"
1726
+ # 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
1727
  # resp.image_scan_status.description #=> String
1679
1728
  # resp.image_scan_findings.image_scan_completed_at #=> Time
1680
1729
  # resp.image_scan_findings.vulnerability_source_updated_at #=> Time
@@ -1845,6 +1894,7 @@ module Aws::ECR
1845
1894
  # max_results: 1,
1846
1895
  # filter: {
1847
1896
  # tag_status: "TAGGED", # accepts TAGGED, UNTAGGED, ANY
1897
+ # image_status: "ACTIVE", # accepts ACTIVE, ARCHIVED, ACTIVATING, ANY
1848
1898
  # },
1849
1899
  # })
1850
1900
  #
@@ -1858,7 +1908,7 @@ module Aws::ECR
1858
1908
  # resp.image_details[0].image_tags[0] #=> String
1859
1909
  # resp.image_details[0].image_size_in_bytes #=> Integer
1860
1910
  # 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"
1911
+ # 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
1912
  # resp.image_details[0].image_scan_status.description #=> String
1863
1913
  # resp.image_details[0].image_scan_findings_summary.image_scan_completed_at #=> Time
1864
1914
  # resp.image_details[0].image_scan_findings_summary.vulnerability_source_updated_at #=> Time
@@ -1867,6 +1917,10 @@ module Aws::ECR
1867
1917
  # resp.image_details[0].image_manifest_media_type #=> String
1868
1918
  # resp.image_details[0].artifact_media_type #=> String
1869
1919
  # resp.image_details[0].last_recorded_pull_time #=> Time
1920
+ # resp.image_details[0].subject_manifest_digest #=> String
1921
+ # resp.image_details[0].image_status #=> String, one of "ACTIVE", "ARCHIVED", "ACTIVATING"
1922
+ # resp.image_details[0].last_archived_at #=> Time
1923
+ # resp.image_details[0].last_activated_at #=> Time
1870
1924
  # resp.next_token #=> String
1871
1925
  #
1872
1926
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeImages AWS API Documentation
@@ -2485,9 +2539,14 @@ module Aws::ECR
2485
2539
  # resp.preview_results[0].image_tags[0] #=> String
2486
2540
  # resp.preview_results[0].image_digest #=> String
2487
2541
  # resp.preview_results[0].image_pushed_at #=> Time
2488
- # resp.preview_results[0].action.type #=> String, one of "EXPIRE"
2542
+ # resp.preview_results[0].action.type #=> String, one of "EXPIRE", "TRANSITION"
2543
+ # resp.preview_results[0].action.target_storage_class #=> String, one of "ARCHIVE"
2489
2544
  # resp.preview_results[0].applied_rule_priority #=> Integer
2545
+ # resp.preview_results[0].storage_class #=> String, one of "ARCHIVE", "STANDARD"
2490
2546
  # resp.summary.expiring_image_total_count #=> Integer
2547
+ # resp.summary.transitioning_image_total_counts #=> Array
2548
+ # resp.summary.transitioning_image_total_counts[0].target_storage_class #=> String, one of "ARCHIVE"
2549
+ # resp.summary.transitioning_image_total_counts[0].image_total_count #=> Integer
2491
2550
  #
2492
2551
  #
2493
2552
  # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
@@ -2651,6 +2710,200 @@ module Aws::ECR
2651
2710
  req.send_request(options)
2652
2711
  end
2653
2712
 
2713
+ # Lists the artifacts associated with a specified subject image.
2714
+ #
2715
+ # @option params [String] :registry_id
2716
+ # The Amazon Web Services account ID associated with the registry that
2717
+ # contains the repository in which to list image referrers. If you do
2718
+ # not specify a registry, the default registry is assumed.
2719
+ #
2720
+ # @option params [required, String] :repository_name
2721
+ # The name of the repository that contains the subject image.
2722
+ #
2723
+ # @option params [required, Types::SubjectIdentifier] :subject_id
2724
+ # An object containing the image digest of the subject image for which
2725
+ # to retrieve associated artifacts.
2726
+ #
2727
+ # @option params [Types::ListImageReferrersFilter] :filter
2728
+ # The filter key and value with which to filter your
2729
+ # `ListImageReferrers` results. If no filter is specified, only
2730
+ # artifacts with `ACTIVE` status are returned.
2731
+ #
2732
+ # @option params [String] :next_token
2733
+ # The `nextToken` value returned from a previous paginated
2734
+ # `ListImageReferrers` request where `maxResults` was used and the
2735
+ # results exceeded the value of that parameter. Pagination continues
2736
+ # from the end of the previous results that returned the `nextToken`
2737
+ # value. This value is `null` when there are no more results to return.
2738
+ #
2739
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only used
2740
+ # to retrieve the next items in a list and not for other programmatic
2741
+ # purposes.
2742
+ #
2743
+ # </note>
2744
+ #
2745
+ # @option params [Integer] :max_results
2746
+ # The maximum number of image referrer results returned by
2747
+ # `ListImageReferrers` in paginated output. When this parameter is used,
2748
+ # `ListImageReferrers` only returns `maxResults` results in a single
2749
+ # page along with a `nextToken` response element. The remaining results
2750
+ # of the initial request can be seen by sending another
2751
+ # `ListImageReferrers` request with the returned `nextToken` value. This
2752
+ # value can be between 1 and 50. If this parameter is not used, then
2753
+ # `ListImageReferrers` returns up to 50 results and a `nextToken` value,
2754
+ # if applicable.
2755
+ #
2756
+ # @return [Types::ListImageReferrersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2757
+ #
2758
+ # * {Types::ListImageReferrersResponse#referrers #referrers} => Array&lt;Types::ImageReferrer&gt;
2759
+ # * {Types::ListImageReferrersResponse#next_token #next_token} => String
2760
+ #
2761
+ #
2762
+ # @example Example: To list artifacts associated with a subject image
2763
+ #
2764
+ # # This example lists all artifacts (such as Sigstore signatures) that reference a specific container image in the
2765
+ # # sample-repo repository.
2766
+ #
2767
+ # resp = client.list_image_referrers({
2768
+ # repository_name: "sample-repo",
2769
+ # subject_id: {
2770
+ # image_digest: "sha256:943e640159415616581703a53fa4ed87e96740655fd67daf2d2146a35337bce5",
2771
+ # },
2772
+ # })
2773
+ #
2774
+ # resp.to_h outputs the following:
2775
+ # {
2776
+ # referrers: [
2777
+ # {
2778
+ # annotations: {
2779
+ # "dev.sigstore.bundle.content" => "dsse-envelope",
2780
+ # "dev.sigstore.bundle.predicateType" => "https://sigstore.dev/cosign/sign/v1",
2781
+ # "org.opencontainers.image.created" => "2025-11-17T22:00:33Z",
2782
+ # },
2783
+ # artifact_status: "ACTIVE",
2784
+ # artifact_type: "application/vnd.dev.sigstore.bundle.v0.3+json",
2785
+ # digest: "sha256:270c60be5b6ed41e6e7c505ac0c4e2577748affc14147bcba76b533604dc7a07",
2786
+ # media_type: "application/vnd.oci.image.manifest.v1+json",
2787
+ # size: 888,
2788
+ # },
2789
+ # ],
2790
+ # }
2791
+ #
2792
+ # @example Example: To list artifacts of a specific type
2793
+ #
2794
+ # # This example lists only Sigstore bundle artifacts associated with a subject image by filtering on the artifact type.
2795
+ #
2796
+ # resp = client.list_image_referrers({
2797
+ # filter: {
2798
+ # artifact_types: [
2799
+ # "application/vnd.dev.sigstore.bundle.v0.3+json",
2800
+ # ],
2801
+ # },
2802
+ # repository_name: "sample-repo",
2803
+ # subject_id: {
2804
+ # image_digest: "sha256:943e640159415616581703a53fa4ed87e96740655fd67daf2d2146a35337bce5",
2805
+ # },
2806
+ # })
2807
+ #
2808
+ # resp.to_h outputs the following:
2809
+ # {
2810
+ # referrers: [
2811
+ # {
2812
+ # annotations: {
2813
+ # "dev.sigstore.bundle.content" => "dsse-envelope",
2814
+ # "dev.sigstore.bundle.predicateType" => "https://sigstore.dev/cosign/sign/v1",
2815
+ # "org.opencontainers.image.created" => "2025-11-17T22:00:33Z",
2816
+ # },
2817
+ # artifact_status: "ACTIVE",
2818
+ # artifact_type: "application/vnd.dev.sigstore.bundle.v0.3+json",
2819
+ # digest: "sha256:270c60be5b6ed41e6e7c505ac0c4e2577748affc14147bcba76b533604dc7a07",
2820
+ # media_type: "application/vnd.oci.image.manifest.v1+json",
2821
+ # size: 888,
2822
+ # },
2823
+ # ],
2824
+ # }
2825
+ #
2826
+ # @example Example: To list both active and archived artifacts
2827
+ #
2828
+ # # This example lists all artifacts including those that have been archived, by specifying the artifactStatus filter as
2829
+ # # ANY.
2830
+ #
2831
+ # resp = client.list_image_referrers({
2832
+ # filter: {
2833
+ # artifact_status: "ANY",
2834
+ # },
2835
+ # repository_name: "sample-repo",
2836
+ # subject_id: {
2837
+ # image_digest: "sha256:943e640159415616581703a53fa4ed87e96740655fd67daf2d2146a35337bce5",
2838
+ # },
2839
+ # })
2840
+ #
2841
+ # resp.to_h outputs the following:
2842
+ # {
2843
+ # referrers: [
2844
+ # {
2845
+ # annotations: {
2846
+ # "dev.sigstore.bundle.content" => "dsse-envelope",
2847
+ # "dev.sigstore.bundle.predicateType" => "https://sigstore.dev/cosign/sign/v1",
2848
+ # "org.opencontainers.image.created" => "2025-11-17T22:00:33Z",
2849
+ # },
2850
+ # artifact_status: "ACTIVE",
2851
+ # artifact_type: "application/vnd.dev.sigstore.bundle.v0.3+json",
2852
+ # digest: "sha256:270c60be5b6ed41e6e7c505ac0c4e2577748affc14147bcba76b533604dc7a07",
2853
+ # media_type: "application/vnd.oci.image.manifest.v1+json",
2854
+ # size: 888,
2855
+ # },
2856
+ # {
2857
+ # annotations: {
2858
+ # "dev.sigstore.bundle.predicateType" => "https://sigstore.dev/cosign/sign/v1",
2859
+ # "org.opencontainers.image.created" => "2025-10-15T14:30:00Z",
2860
+ # },
2861
+ # artifact_status: "ARCHIVED",
2862
+ # artifact_type: "application/vnd.dev.sigstore.bundle.v0.2+json",
2863
+ # digest: "sha256:5a1c89f2b3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0",
2864
+ # media_type: "application/vnd.oci.image.manifest.v1+json",
2865
+ # size: 856,
2866
+ # },
2867
+ # ],
2868
+ # }
2869
+ #
2870
+ # @example Request syntax with placeholder values
2871
+ #
2872
+ # resp = client.list_image_referrers({
2873
+ # registry_id: "RegistryId",
2874
+ # repository_name: "RepositoryName", # required
2875
+ # subject_id: { # required
2876
+ # image_digest: "ImageDigest", # required
2877
+ # },
2878
+ # filter: {
2879
+ # artifact_types: ["ArtifactType"],
2880
+ # artifact_status: "ACTIVE", # accepts ACTIVE, ARCHIVED, ACTIVATING, ANY
2881
+ # },
2882
+ # next_token: "NextToken",
2883
+ # max_results: 1,
2884
+ # })
2885
+ #
2886
+ # @example Response structure
2887
+ #
2888
+ # resp.referrers #=> Array
2889
+ # resp.referrers[0].digest #=> String
2890
+ # resp.referrers[0].media_type #=> String
2891
+ # resp.referrers[0].artifact_type #=> String
2892
+ # resp.referrers[0].size #=> Integer
2893
+ # resp.referrers[0].annotations #=> Hash
2894
+ # resp.referrers[0].annotations["String"] #=> String
2895
+ # resp.referrers[0].artifact_status #=> String, one of "ACTIVE", "ARCHIVED", "ACTIVATING"
2896
+ # resp.next_token #=> String
2897
+ #
2898
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ListImageReferrers AWS API Documentation
2899
+ #
2900
+ # @overload list_image_referrers(params = {})
2901
+ # @param [Hash] params ({})
2902
+ def list_image_referrers(params = {}, options = {})
2903
+ req = build_request(:list_image_referrers, params)
2904
+ req.send_request(options)
2905
+ end
2906
+
2654
2907
  # Lists all the image IDs for the specified repository.
2655
2908
  #
2656
2909
  # You can filter images based on whether or not they are tagged by using
@@ -2730,6 +2983,7 @@ module Aws::ECR
2730
2983
  # max_results: 1,
2731
2984
  # filter: {
2732
2985
  # tag_status: "TAGGED", # accepts TAGGED, UNTAGGED, ANY
2986
+ # image_status: "ACTIVE", # accepts ACTIVE, ARCHIVED, ACTIVATING, ANY
2733
2987
  # },
2734
2988
  # })
2735
2989
  #
@@ -2749,6 +3003,93 @@ module Aws::ECR
2749
3003
  req.send_request(options)
2750
3004
  end
2751
3005
 
3006
+ # Lists the IAM principals that are excluded from having their image
3007
+ # pull times recorded.
3008
+ #
3009
+ # @option params [Integer] :max_results
3010
+ # The maximum number of pull time update exclusion results returned by
3011
+ # `ListPullTimeUpdateExclusions` in paginated output. When this
3012
+ # parameter is used, `ListPullTimeUpdateExclusions` only returns
3013
+ # `maxResults` results in a single page along with a `nextToken`
3014
+ # response element. The remaining results of the initial request can be
3015
+ # seen by sending another `ListPullTimeUpdateExclusions` request with
3016
+ # the returned `nextToken` value. This value can be between 1 and 1000.
3017
+ # If this parameter is not used, then `ListPullTimeUpdateExclusions`
3018
+ # returns up to 100 results and a `nextToken` value, if applicable.
3019
+ #
3020
+ # @option params [String] :next_token
3021
+ # The `nextToken` value returned from a previous paginated
3022
+ # `ListPullTimeUpdateExclusions` request where `maxResults` was used and
3023
+ # the results exceeded the value of that parameter. Pagination continues
3024
+ # from the end of the previous results that returned the `nextToken`
3025
+ # value. This value is `null` when there are no more results to return.
3026
+ #
3027
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only used
3028
+ # to retrieve the next items in a list and not for other programmatic
3029
+ # purposes.
3030
+ #
3031
+ # </note>
3032
+ #
3033
+ # @return [Types::ListPullTimeUpdateExclusionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3034
+ #
3035
+ # * {Types::ListPullTimeUpdateExclusionsResponse#pull_time_update_exclusions #pull_time_update_exclusions} => Array&lt;String&gt;
3036
+ # * {Types::ListPullTimeUpdateExclusionsResponse#next_token #next_token} => String
3037
+ #
3038
+ #
3039
+ # @example Example: To list all pull time update exclusions
3040
+ #
3041
+ # # This example lists all IAM principals that are excluded from having their image pull timestamps recorded in the
3042
+ # # registry.
3043
+ #
3044
+ # resp = client.list_pull_time_update_exclusions({
3045
+ # })
3046
+ #
3047
+ # resp.to_h outputs the following:
3048
+ # {
3049
+ # pull_time_update_exclusions: [
3050
+ # "arn:aws:iam::012345678910:role/ECRAccess",
3051
+ # ],
3052
+ # }
3053
+ #
3054
+ # @example Example: To list pull time update exclusions with pagination
3055
+ #
3056
+ # # This example lists pull time update exclusions with pagination, requesting a maximum of 2 results per page.
3057
+ #
3058
+ # resp = client.list_pull_time_update_exclusions({
3059
+ # max_results: 2,
3060
+ # })
3061
+ #
3062
+ # resp.to_h outputs the following:
3063
+ # {
3064
+ # next_token: "eyJlbmNyeXB0ZWREYXRhIjpbXX0=",
3065
+ # pull_time_update_exclusions: [
3066
+ # "arn:aws:iam::012345678910:role/ECRAccess",
3067
+ # "arn:aws:iam::012345678910:role/CICDPipeline",
3068
+ # ],
3069
+ # }
3070
+ #
3071
+ # @example Request syntax with placeholder values
3072
+ #
3073
+ # resp = client.list_pull_time_update_exclusions({
3074
+ # max_results: 1,
3075
+ # next_token: "NextToken",
3076
+ # })
3077
+ #
3078
+ # @example Response structure
3079
+ #
3080
+ # resp.pull_time_update_exclusions #=> Array
3081
+ # resp.pull_time_update_exclusions[0] #=> String
3082
+ # resp.next_token #=> String
3083
+ #
3084
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ListPullTimeUpdateExclusions AWS API Documentation
3085
+ #
3086
+ # @overload list_pull_time_update_exclusions(params = {})
3087
+ # @param [Hash] params ({})
3088
+ def list_pull_time_update_exclusions(params = {}, options = {})
3089
+ req = build_request(:list_pull_time_update_exclusions, params)
3090
+ req.send_request(options)
3091
+ end
3092
+
2752
3093
  # List the tags for an Amazon ECR resource.
2753
3094
  #
2754
3095
  # @option params [required, String] :resource_arn
@@ -2850,9 +3191,7 @@ module Aws::ECR
2850
3191
  # `imageManifestMediaType` in the request.
2851
3192
  #
2852
3193
  # @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.
3194
+ # The tag to associate with the image. This parameter is optional.
2856
3195
  #
2857
3196
  # @option params [String] :image_digest
2858
3197
  # The image digest of the image manifest corresponding to the image.
@@ -2967,8 +3306,8 @@ module Aws::ECR
2967
3306
  # prevent them from being overwritten.
2968
3307
  #
2969
3308
  # @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.
3309
+ # A list of filters that specify which image tags should be excluded
3310
+ # from the image tag mutability setting being applied.
2972
3311
  #
2973
3312
  # @return [Types::PutImageTagMutabilityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2974
3313
  #
@@ -3235,6 +3574,55 @@ module Aws::ECR
3235
3574
  req.send_request(options)
3236
3575
  end
3237
3576
 
3577
+ # Adds an IAM principal to the pull time update exclusion list for a
3578
+ # registry. Amazon ECR will not record the pull time if an excluded
3579
+ # principal pulls an image.
3580
+ #
3581
+ # @option params [required, String] :principal_arn
3582
+ # The ARN of the IAM principal to exclude from having image pull times
3583
+ # recorded.
3584
+ #
3585
+ # @return [Types::RegisterPullTimeUpdateExclusionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3586
+ #
3587
+ # * {Types::RegisterPullTimeUpdateExclusionResponse#principal_arn #principal_arn} => String
3588
+ # * {Types::RegisterPullTimeUpdateExclusionResponse#created_at #created_at} => Time
3589
+ #
3590
+ #
3591
+ # @example Example: To exclude an IAM role from pull time tracking
3592
+ #
3593
+ # # This example adds an IAM role to the pull time update exclusion list so that Amazon ECR will not record image pull
3594
+ # # timestamps for this principal.
3595
+ #
3596
+ # resp = client.register_pull_time_update_exclusion({
3597
+ # principal_arn: "arn:aws:iam::012345678910:role/ECRAccess",
3598
+ # })
3599
+ #
3600
+ # resp.to_h outputs the following:
3601
+ # {
3602
+ # created_at: Time.parse("2025-11-17T22:08:12.659000+00:00"),
3603
+ # principal_arn: "arn:aws:iam::012345678910:role/ECRAccess",
3604
+ # }
3605
+ #
3606
+ # @example Request syntax with placeholder values
3607
+ #
3608
+ # resp = client.register_pull_time_update_exclusion({
3609
+ # principal_arn: "PrincipalArn", # required
3610
+ # })
3611
+ #
3612
+ # @example Response structure
3613
+ #
3614
+ # resp.principal_arn #=> String
3615
+ # resp.created_at #=> Time
3616
+ #
3617
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/RegisterPullTimeUpdateExclusion AWS API Documentation
3618
+ #
3619
+ # @overload register_pull_time_update_exclusion(params = {})
3620
+ # @param [Hash] params ({})
3621
+ def register_pull_time_update_exclusion(params = {}, options = {})
3622
+ req = build_request(:register_pull_time_update_exclusion, params)
3623
+ req.send_request(options)
3624
+ end
3625
+
3238
3626
  # Applies a repository policy to the specified repository to control
3239
3627
  # access permissions. For more information, see [Amazon ECR Repository
3240
3628
  # policies][1] in the *Amazon Elastic Container Registry User Guide*.
@@ -3345,7 +3733,7 @@ module Aws::ECR
3345
3733
  # resp.repository_name #=> String
3346
3734
  # resp.image_id.image_digest #=> String
3347
3735
  # 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"
3736
+ # 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
3737
  # resp.image_scan_status.description #=> String
3350
3738
  #
3351
3739
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/StartImageScan AWS API Documentation
@@ -3469,6 +3857,110 @@ module Aws::ECR
3469
3857
  req.send_request(options)
3470
3858
  end
3471
3859
 
3860
+ # Transitions an image between storage classes. You can transition
3861
+ # images from Amazon ECR standard storage class to Amazon ECR archival
3862
+ # storage class for long-term storage, or restore archived images back
3863
+ # to Amazon ECR standard.
3864
+ #
3865
+ # @option params [String] :registry_id
3866
+ # The Amazon Web Services account ID associated with the registry that
3867
+ # contains the image to transition. If you do not specify a registry,
3868
+ # the default registry is assumed.
3869
+ #
3870
+ # @option params [required, String] :repository_name
3871
+ # The name of the repository that contains the image to transition.
3872
+ #
3873
+ # @option params [required, Types::ImageIdentifier] :image_id
3874
+ # An object with identifying information for an image in an Amazon ECR
3875
+ # repository.
3876
+ #
3877
+ # @option params [required, String] :target_storage_class
3878
+ # The target storage class for the image.
3879
+ #
3880
+ # @return [Types::UpdateImageStorageClassResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3881
+ #
3882
+ # * {Types::UpdateImageStorageClassResponse#registry_id #registry_id} => String
3883
+ # * {Types::UpdateImageStorageClassResponse#repository_name #repository_name} => String
3884
+ # * {Types::UpdateImageStorageClassResponse#image_id #image_id} => Types::ImageIdentifier
3885
+ # * {Types::UpdateImageStorageClassResponse#image_status #image_status} => String
3886
+ #
3887
+ #
3888
+ # @example Example: To transition an image to Amazon ECR Archive
3889
+ #
3890
+ # # This example transitions an image with a specific digest in the hello-repository repository to Amazon ECR Archive
3891
+ # # storage for long-term archival.
3892
+ #
3893
+ # resp = client.update_image_storage_class({
3894
+ # image_id: {
3895
+ # image_digest: "sha256:0b1a4e0c81c434fa7928e5c4a2651a521ebabc4ff200c65f7e25b99373efca3b",
3896
+ # },
3897
+ # registry_id: "724772093679",
3898
+ # repository_name: "hello-repository",
3899
+ # target_storage_class: "ARCHIVE",
3900
+ # })
3901
+ #
3902
+ # resp.to_h outputs the following:
3903
+ # {
3904
+ # image_id: {
3905
+ # image_digest: "sha256:0b1a4e0c81c434fa7928e5c4a2651a521ebabc4ff200c65f7e25b99373efca3b",
3906
+ # },
3907
+ # image_status: "ARCHIVED",
3908
+ # registry_id: "724772093679",
3909
+ # repository_name: "hello-repository",
3910
+ # }
3911
+ #
3912
+ # @example Example: To restore an archived image to Amazon ECR Standard
3913
+ #
3914
+ # # This example restores an archived image with a specific digest back to Amazon ECR Standard storage.
3915
+ #
3916
+ # resp = client.update_image_storage_class({
3917
+ # image_id: {
3918
+ # image_digest: "sha256:0b1a4e0c81c434fa7928e5c4a2651a521ebabc4ff200c65f7e25b99373efca3b",
3919
+ # },
3920
+ # registry_id: "724772093679",
3921
+ # repository_name: "hello-repository",
3922
+ # target_storage_class: "STANDARD",
3923
+ # })
3924
+ #
3925
+ # resp.to_h outputs the following:
3926
+ # {
3927
+ # image_id: {
3928
+ # image_digest: "sha256:0b1a4e0c81c434fa7928e5c4a2651a521ebabc4ff200c65f7e25b99373efca3b",
3929
+ # },
3930
+ # image_status: "ACTIVATING",
3931
+ # registry_id: "724772093679",
3932
+ # repository_name: "hello-repository",
3933
+ # }
3934
+ #
3935
+ # @example Request syntax with placeholder values
3936
+ #
3937
+ # resp = client.update_image_storage_class({
3938
+ # registry_id: "RegistryId",
3939
+ # repository_name: "RepositoryName", # required
3940
+ # image_id: { # required
3941
+ # image_digest: "ImageDigest",
3942
+ # image_tag: "ImageTag",
3943
+ # },
3944
+ # target_storage_class: "STANDARD", # required, accepts STANDARD, ARCHIVE
3945
+ # })
3946
+ #
3947
+ # @example Response structure
3948
+ #
3949
+ # resp.registry_id #=> String
3950
+ # resp.repository_name #=> String
3951
+ # resp.image_id.image_digest #=> String
3952
+ # resp.image_id.image_tag #=> String
3953
+ # resp.image_status #=> String, one of "ACTIVE", "ARCHIVED", "ACTIVATING"
3954
+ #
3955
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/UpdateImageStorageClass AWS API Documentation
3956
+ #
3957
+ # @overload update_image_storage_class(params = {})
3958
+ # @param [Hash] params ({})
3959
+ def update_image_storage_class(params = {}, options = {})
3960
+ req = build_request(:update_image_storage_class, params)
3961
+ req.send_request(options)
3962
+ end
3963
+
3472
3964
  # Updates an existing pull through cache rule.
3473
3965
  #
3474
3966
  # @option params [String] :registry_id
@@ -3562,8 +4054,8 @@ module Aws::ECR
3562
4054
  # which will prevent them from being overwritten.
3563
4055
  #
3564
4056
  # @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.
4057
+ # A list of filters that specify which image tags should be excluded
4058
+ # from the repository creation template's image tag mutability setting.
3567
4059
  #
3568
4060
  # @option params [String] :repository_policy
3569
4061
  # Updates the repository policy created using the template. A repository
@@ -3834,7 +4326,7 @@ module Aws::ECR
3834
4326
  tracer: tracer
3835
4327
  )
3836
4328
  context[:gem_name] = 'aws-sdk-ecr'
3837
- context[:gem_version] = '1.113.0'
4329
+ context[:gem_version] = '1.114.0'
3838
4330
  Seahorse::Client::Request.new(handlers, context)
3839
4331
  end
3840
4332