aws-sdk-ecr 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d9e4906782c59ec65e23d90dd7b61d7da7b6193a
4
- data.tar.gz: 3d9ff36b7feb0f30cc3f82afe5d71163b3e7c105
3
+ metadata.gz: c394189fba86fe6f7c8426bb9957c1356c74b031
4
+ data.tar.gz: c9d0113edea5fd62801ac5a681cae50d5c92dd5e
5
5
  SHA512:
6
- metadata.gz: 7ff5b49f75c6bb956b8ac46adf7538aceacb0d2b31ee7a67c1fe1becdaf9b7cd84bfbee99151509ba43451dc3a1a9657c2d325f12230be6afd10df8fcc1db23e
7
- data.tar.gz: 193ceab848b0a5a9afe123844ca32eab671f2960ffbd179e31f840ba9bcb1a4da509f79f6c3be209a9909c87269b9e336d1d4b732bd9ca66194ba4085ea93b3c
6
+ metadata.gz: 2bec6dab43c1ce8ca64eae0d394ebad7c18d9616c7d01cfe629c5a2d43543ad9a0bbf3bc77e37256d7238e8054fd35ca7390035622094f031fa4df7fc5019bea
7
+ data.tar.gz: 2154371dd8cfb2bd372029c42fb0f1013464d62682512943d049eadc9a8a472473e5ad4b6d773bc592c6f0647db526c5a81d75aec7a3ad75eb717948cd70615a
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-ecr/customizations'
42
42
  # @service
43
43
  module Aws::ECR
44
44
 
45
- GEM_VERSION = '1.1.0'
45
+ GEM_VERSION = '1.2.0'
46
46
 
47
47
  end
@@ -396,10 +396,10 @@ module Aws::ECR
396
396
  req.send_request(options)
397
397
  end
398
398
 
399
- # Inform Amazon ECR that the image layer upload for a specified
400
- # registry, repository name, and upload ID, has completed. You can
401
- # optionally provide a `sha256` digest of the image layer for data
402
- # validation purposes.
399
+ # Informs Amazon ECR that the image layer upload has completed for a
400
+ # specified registry, repository name, and upload ID. You can optionally
401
+ # provide a `sha256` digest of the image layer for data validation
402
+ # purposes.
403
403
  #
404
404
  # <note markdown="1"> This operation is used by the Amazon ECR proxy, and it is not intended
405
405
  # for general use by customers for pulling and pushing images. In most
@@ -508,6 +508,47 @@ module Aws::ECR
508
508
  req.send_request(options)
509
509
  end
510
510
 
511
+ # Deletes the specified lifecycle policy.
512
+ #
513
+ # @option params [String] :registry_id
514
+ # The AWS account ID associated with the registry that contains the
515
+ # repository. If you do not specify a registry, the default registry is
516
+ # assumed.
517
+ #
518
+ # @option params [required, String] :repository_name
519
+ # The name of the repository that is associated with the repository
520
+ # policy to
 delete.
521
+ #
522
+ # @return [Types::DeleteLifecyclePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
523
+ #
524
+ # * {Types::DeleteLifecyclePolicyResponse#registry_id #registry_id} => String
525
+ # * {Types::DeleteLifecyclePolicyResponse#repository_name #repository_name} => String
526
+ # * {Types::DeleteLifecyclePolicyResponse#lifecycle_policy_text #lifecycle_policy_text} => String
527
+ # * {Types::DeleteLifecyclePolicyResponse#last_evaluated_at #last_evaluated_at} => Time
528
+ #
529
+ # @example Request syntax with placeholder values
530
+ #
531
+ # resp = client.delete_lifecycle_policy({
532
+ # registry_id: "RegistryId",
533
+ # repository_name: "RepositoryName", # required
534
+ # })
535
+ #
536
+ # @example Response structure
537
+ #
538
+ # resp.registry_id #=> String
539
+ # resp.repository_name #=> String
540
+ # resp.lifecycle_policy_text #=> String
541
+ # resp.last_evaluated_at #=> Time
542
+ #
543
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeleteLifecyclePolicy AWS API Documentation
544
+ #
545
+ # @overload delete_lifecycle_policy(params = {})
546
+ # @param [Hash] params ({})
547
+ def delete_lifecycle_policy(params = {}, options = {})
548
+ req = build_request(:delete_lifecycle_policy, params)
549
+ req.send_request(options)
550
+ end
551
+
511
552
  # Deletes an existing image repository. If a repository contains images,
512
553
  # you must use the `force` option to delete it.
513
554
  #
@@ -520,7 +561,7 @@ module Aws::ECR
520
561
  # The name of the repository to delete.
521
562
  #
522
563
  # @option params [Boolean] :force
523
- # Force the deletion of the repository if it contains images.
564
+ # If a repository contains images, forces the deletion.
524
565
  #
525
566
  # @return [Types::DeleteRepositoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
526
567
  #
@@ -916,6 +957,137 @@ module Aws::ECR
916
957
  req.send_request(options)
917
958
  end
918
959
 
960
+ # Retrieves the specified lifecycle policy.
961
+ #
962
+ # @option params [String] :registry_id
963
+ # The AWS account ID associated with the registry that contains the
964
+ # repository. If you do not specify a registry, the default registry is
965
+ # assumed.
966
+ #
967
+ # @option params [required, String] :repository_name
968
+ # The name of the repository with the policy to retrieve.
969
+ #
970
+ # @return [Types::GetLifecyclePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
971
+ #
972
+ # * {Types::GetLifecyclePolicyResponse#registry_id #registry_id} => String
973
+ # * {Types::GetLifecyclePolicyResponse#repository_name #repository_name} => String
974
+ # * {Types::GetLifecyclePolicyResponse#lifecycle_policy_text #lifecycle_policy_text} => String
975
+ # * {Types::GetLifecyclePolicyResponse#last_evaluated_at #last_evaluated_at} => Time
976
+ #
977
+ # @example Request syntax with placeholder values
978
+ #
979
+ # resp = client.get_lifecycle_policy({
980
+ # registry_id: "RegistryId",
981
+ # repository_name: "RepositoryName", # required
982
+ # })
983
+ #
984
+ # @example Response structure
985
+ #
986
+ # resp.registry_id #=> String
987
+ # resp.repository_name #=> String
988
+ # resp.lifecycle_policy_text #=> String
989
+ # resp.last_evaluated_at #=> Time
990
+ #
991
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetLifecyclePolicy AWS API Documentation
992
+ #
993
+ # @overload get_lifecycle_policy(params = {})
994
+ # @param [Hash] params ({})
995
+ def get_lifecycle_policy(params = {}, options = {})
996
+ req = build_request(:get_lifecycle_policy, params)
997
+ req.send_request(options)
998
+ end
999
+
1000
+ # Retrieves the results of the specified lifecycle policy preview
1001
+ # request.
1002
+ #
1003
+ # @option params [String] :registry_id
1004
+ # The AWS account ID associated with the registry that contains the
1005
+ # repository. If you do not specify a registry, the default registry is
1006
+ # assumed.
1007
+ #
1008
+ # @option params [required, String] :repository_name
1009
+ # The name of the repository with the policy to retrieve.
1010
+ #
1011
+ # @option params [Array<Types::ImageIdentifier>] :image_ids
1012
+ # The list of imageIDs to be included.
1013
+ #
1014
+ # @option params [String] :next_token
1015
+ # The `nextToken` value returned from a previous paginated

1016
+ # `GetLifecyclePolicyPreviewRequest` request where `maxResults` was used
1017
+ # and the
 results exceeded the value of that parameter. Pagination
1018
+ # continues from the end of the
 previous results that returned the
1019
+ # `nextToken` value. This value is
 `null` when there are no more
1020
+ # results to return.
1021
+ #
1022
+ # @option params [Integer] :max_results
1023
+ # The maximum number of repository results returned by
1024
+ # `GetLifecyclePolicyPreviewRequest` in
 paginated output. When this
1025
+ # parameter is used, `GetLifecyclePolicyPreviewRequest` only returns

1026
+ # `maxResults` results in a single page along with a `nextToken`

1027
+ # response element. The remaining results of the initial request can be
1028
+ # seen by sending
 another `GetLifecyclePolicyPreviewRequest` request
1029
+ # with the returned `nextToken`
 value. This value can be between 1 and
1030
+ # 100. If this
 parameter is not used, then
1031
+ # `GetLifecyclePolicyPreviewRequest` returns up to
 100 results and a
1032
+ # `nextToken` value, if
 applicable.
1033
+ #
1034
+ # @option params [Types::LifecyclePolicyPreviewFilter] :filter
1035
+ # An optional parameter that filters results based on image tag status
1036
+ # and all tags, if tagged.
1037
+ #
1038
+ # @return [Types::GetLifecyclePolicyPreviewResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1039
+ #
1040
+ # * {Types::GetLifecyclePolicyPreviewResponse#registry_id #registry_id} => String
1041
+ # * {Types::GetLifecyclePolicyPreviewResponse#repository_name #repository_name} => String
1042
+ # * {Types::GetLifecyclePolicyPreviewResponse#lifecycle_policy_text #lifecycle_policy_text} => String
1043
+ # * {Types::GetLifecyclePolicyPreviewResponse#status #status} => String
1044
+ # * {Types::GetLifecyclePolicyPreviewResponse#next_token #next_token} => String
1045
+ # * {Types::GetLifecyclePolicyPreviewResponse#preview_results #preview_results} => Array&lt;Types::LifecyclePolicyPreviewResult&gt;
1046
+ # * {Types::GetLifecyclePolicyPreviewResponse#summary #summary} => Types::LifecyclePolicyPreviewSummary
1047
+ #
1048
+ # @example Request syntax with placeholder values
1049
+ #
1050
+ # resp = client.get_lifecycle_policy_preview({
1051
+ # registry_id: "RegistryId",
1052
+ # repository_name: "RepositoryName", # required
1053
+ # image_ids: [
1054
+ # {
1055
+ # image_digest: "ImageDigest",
1056
+ # image_tag: "ImageTag",
1057
+ # },
1058
+ # ],
1059
+ # next_token: "NextToken",
1060
+ # max_results: 1,
1061
+ # filter: {
1062
+ # tag_status: "TAGGED", # accepts TAGGED, UNTAGGED
1063
+ # },
1064
+ # })
1065
+ #
1066
+ # @example Response structure
1067
+ #
1068
+ # resp.registry_id #=> String
1069
+ # resp.repository_name #=> String
1070
+ # resp.lifecycle_policy_text #=> String
1071
+ # resp.status #=> String, one of "IN_PROGRESS", "COMPLETE", "EXPIRED", "FAILED"
1072
+ # resp.next_token #=> String
1073
+ # resp.preview_results #=> Array
1074
+ # resp.preview_results[0].image_tags #=> Array
1075
+ # resp.preview_results[0].image_tags[0] #=> String
1076
+ # resp.preview_results[0].image_digest #=> String
1077
+ # resp.preview_results[0].image_pushed_at #=> Time
1078
+ # resp.preview_results[0].action.type #=> String, one of "EXPIRE"
1079
+ # resp.preview_results[0].applied_rule_priority #=> Integer
1080
+ # resp.summary.expiring_image_total_count #=> Integer
1081
+ #
1082
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetLifecyclePolicyPreview AWS API Documentation
1083
+ #
1084
+ # @overload get_lifecycle_policy_preview(params = {})
1085
+ # @param [Hash] params ({})
1086
+ def get_lifecycle_policy_preview(params = {}, options = {})
1087
+ req = build_request(:get_lifecycle_policy_preview, params)
1088
+ req.send_request(options)
1089
+ end
1090
+
919
1091
  # Retrieves the repository policy for a specified repository.
920
1092
  #
921
1093
  # @option params [String] :registry_id
@@ -924,7 +1096,7 @@ module Aws::ECR
924
1096
  # assumed.
925
1097
  #
926
1098
  # @option params [required, String] :repository_name
927
- # The name of the repository whose policy you want to retrieve.
1099
+ # The name of the repository with the policy to retrieve.
928
1100
  #
929
1101
  # @return [Types::GetRepositoryPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
930
1102
  #
@@ -979,12 +1151,12 @@ module Aws::ECR
979
1151
  # </note>
980
1152
  #
981
1153
  # @option params [String] :registry_id
982
- # The AWS account ID associated with the registry that you intend to
983
- # upload layers to. If you do not specify a registry, the default
984
- # registry is assumed.
1154
+ # The AWS account ID associated with the registry to which you intend to
1155
+ # upload layers. If you do not specify a registry, the default registry
1156
+ # is assumed.
985
1157
  #
986
1158
  # @option params [required, String] :repository_name
987
- # The name of the repository that you intend to upload layers to.
1159
+ # The name of the repository to which you intend to upload layers.
988
1160
  #
989
1161
  # @return [Types::InitiateLayerUploadResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
990
1162
  #
@@ -1023,11 +1195,11 @@ module Aws::ECR
1023
1195
  #
1024
1196
  # @option params [String] :registry_id
1025
1197
  # The AWS account ID associated with the registry that contains the
1026
- # repository to list images in. If you do not specify a registry, the
1027
- # default registry is assumed.
1198
+ # repository in which to list images. If you do not specify a registry,
1199
+ # the default registry is assumed.
1028
1200
  #
1029
1201
  # @option params [required, String] :repository_name
1030
- # The repository whose image IDs are to be listed.
1202
+ # The repository with image IDs to be listed.
1031
1203
  #
1032
1204
  # @option params [String] :next_token
1033
1205
  # The `nextToken` value returned from a previous paginated `ListImages`
@@ -1162,6 +1334,48 @@ module Aws::ECR
1162
1334
  req.send_request(options)
1163
1335
  end
1164
1336
 
1337
+ # Creates or updates a lifecycle policy.
1338
+ #
1339
+ # @option params [String] :registry_id
1340
+ # The AWS account ID associated with the registry that contains the
1341
+ # repository. If you do
 not specify a registry, the default registry is
1342
+ # assumed.
1343
+ #
1344
+ # @option params [required, String] :repository_name
1345
+ # The name of the repository to receive the policy.
1346
+ #
1347
+ # @option params [required, String] :lifecycle_policy_text
1348
+ # The JSON repository policy text to apply to the repository.
1349
+ #
1350
+ # @return [Types::PutLifecyclePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1351
+ #
1352
+ # * {Types::PutLifecyclePolicyResponse#registry_id #registry_id} => String
1353
+ # * {Types::PutLifecyclePolicyResponse#repository_name #repository_name} => String
1354
+ # * {Types::PutLifecyclePolicyResponse#lifecycle_policy_text #lifecycle_policy_text} => String
1355
+ #
1356
+ # @example Request syntax with placeholder values
1357
+ #
1358
+ # resp = client.put_lifecycle_policy({
1359
+ # registry_id: "RegistryId",
1360
+ # repository_name: "RepositoryName", # required
1361
+ # lifecycle_policy_text: "LifecyclePolicyText", # required
1362
+ # })
1363
+ #
1364
+ # @example Response structure
1365
+ #
1366
+ # resp.registry_id #=> String
1367
+ # resp.repository_name #=> String
1368
+ # resp.lifecycle_policy_text #=> String
1369
+ #
1370
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutLifecyclePolicy AWS API Documentation
1371
+ #
1372
+ # @overload put_lifecycle_policy(params = {})
1373
+ # @param [Hash] params ({})
1374
+ def put_lifecycle_policy(params = {}, options = {})
1375
+ req = build_request(:put_lifecycle_policy, params)
1376
+ req.send_request(options)
1377
+ end
1378
+
1165
1379
  # Applies a repository policy on a specified repository to control
1166
1380
  # access permissions.
1167
1381
  #
@@ -1212,6 +1426,52 @@ module Aws::ECR
1212
1426
  req.send_request(options)
1213
1427
  end
1214
1428
 
1429
+ # Starts a preview of the specified lifecycle policy. This allows you to
1430
+ # see the results before creating the lifecycle policy.
1431
+ #
1432
+ # @option params [String] :registry_id
1433
+ # The AWS account ID associated with the registry that contains the
1434
+ # repository. If you do not specify a registry, the default registry is
1435
+ # assumed.
1436
+ #
1437
+ # @option params [required, String] :repository_name
1438
+ # The name of the repository to be evaluated.
1439
+ #
1440
+ # @option params [String] :lifecycle_policy_text
1441
+ # The policy to be evaluated against. If you do not specify a policy,
1442
+ # the current policy for the repository is used.
1443
+ #
1444
+ # @return [Types::StartLifecyclePolicyPreviewResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1445
+ #
1446
+ # * {Types::StartLifecyclePolicyPreviewResponse#registry_id #registry_id} => String
1447
+ # * {Types::StartLifecyclePolicyPreviewResponse#repository_name #repository_name} => String
1448
+ # * {Types::StartLifecyclePolicyPreviewResponse#lifecycle_policy_text #lifecycle_policy_text} => String
1449
+ # * {Types::StartLifecyclePolicyPreviewResponse#status #status} => String
1450
+ #
1451
+ # @example Request syntax with placeholder values
1452
+ #
1453
+ # resp = client.start_lifecycle_policy_preview({
1454
+ # registry_id: "RegistryId",
1455
+ # repository_name: "RepositoryName", # required
1456
+ # lifecycle_policy_text: "LifecyclePolicyText",
1457
+ # })
1458
+ #
1459
+ # @example Response structure
1460
+ #
1461
+ # resp.registry_id #=> String
1462
+ # resp.repository_name #=> String
1463
+ # resp.lifecycle_policy_text #=> String
1464
+ # resp.status #=> String, one of "IN_PROGRESS", "COMPLETE", "EXPIRED", "FAILED"
1465
+ #
1466
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/StartLifecyclePolicyPreview AWS API Documentation
1467
+ #
1468
+ # @overload start_lifecycle_policy_preview(params = {})
1469
+ # @param [Hash] params ({})
1470
+ def start_lifecycle_policy_preview(params = {}, options = {})
1471
+ req = build_request(:start_lifecycle_policy_preview, params)
1472
+ req.send_request(options)
1473
+ end
1474
+
1215
1475
  # Uploads an image layer part to Amazon ECR.
1216
1476
  #
1217
1477
  # <note markdown="1"> This operation is used by the Amazon ECR proxy, and it is not intended
@@ -1221,12 +1481,12 @@ module Aws::ECR
1221
1481
  # </note>
1222
1482
  #
1223
1483
  # @option params [String] :registry_id
1224
- # The AWS account ID associated with the registry that you are uploading
1225
- # layer parts to. If you do not specify a registry, the default registry
1226
- # is assumed.
1484
+ # The AWS account ID associated with the registry to which you are
1485
+ # uploading layer parts. If you do not specify a registry, the default
1486
+ # registry is assumed.
1227
1487
  #
1228
1488
  # @option params [required, String] :repository_name
1229
- # The name of the repository that you are uploading layer parts to.
1489
+ # The name of the repository to which you are uploading layer parts.
1230
1490
  #
1231
1491
  # @option params [required, String] :upload_id
1232
1492
  # The upload ID from a previous InitiateLayerUpload operation to
@@ -1288,7 +1548,7 @@ module Aws::ECR
1288
1548
  params: params,
1289
1549
  config: config)
1290
1550
  context[:gem_name] = 'aws-sdk-ecr'
1291
- context[:gem_version] = '1.1.0'
1551
+ context[:gem_version] = '1.2.0'
1292
1552
  Seahorse::Client::Request.new(handlers, context)
1293
1553
  end
1294
1554
 
@@ -28,6 +28,8 @@ module Aws::ECR
28
28
  CreateRepositoryRequest = Shapes::StructureShape.new(name: 'CreateRepositoryRequest')
29
29
  CreateRepositoryResponse = Shapes::StructureShape.new(name: 'CreateRepositoryResponse')
30
30
  CreationTimestamp = Shapes::TimestampShape.new(name: 'CreationTimestamp')
31
+ DeleteLifecyclePolicyRequest = Shapes::StructureShape.new(name: 'DeleteLifecyclePolicyRequest')
32
+ DeleteLifecyclePolicyResponse = Shapes::StructureShape.new(name: 'DeleteLifecyclePolicyResponse')
31
33
  DeleteRepositoryPolicyRequest = Shapes::StructureShape.new(name: 'DeleteRepositoryPolicyRequest')
32
34
  DeleteRepositoryPolicyResponse = Shapes::StructureShape.new(name: 'DeleteRepositoryPolicyResponse')
33
35
  DeleteRepositoryRequest = Shapes::StructureShape.new(name: 'DeleteRepositoryRequest')
@@ -38,6 +40,7 @@ module Aws::ECR
38
40
  DescribeRepositoriesRequest = Shapes::StructureShape.new(name: 'DescribeRepositoriesRequest')
39
41
  DescribeRepositoriesResponse = Shapes::StructureShape.new(name: 'DescribeRepositoriesResponse')
40
42
  EmptyUploadException = Shapes::StructureShape.new(name: 'EmptyUploadException')
43
+ EvaluationTimestamp = Shapes::TimestampShape.new(name: 'EvaluationTimestamp')
41
44
  ExceptionMessage = Shapes::StringShape.new(name: 'ExceptionMessage')
42
45
  ExpirationTimestamp = Shapes::TimestampShape.new(name: 'ExpirationTimestamp')
43
46
  ForceFlag = Shapes::BooleanShape.new(name: 'ForceFlag')
@@ -46,10 +49,16 @@ module Aws::ECR
46
49
  GetAuthorizationTokenResponse = Shapes::StructureShape.new(name: 'GetAuthorizationTokenResponse')
47
50
  GetDownloadUrlForLayerRequest = Shapes::StructureShape.new(name: 'GetDownloadUrlForLayerRequest')
48
51
  GetDownloadUrlForLayerResponse = Shapes::StructureShape.new(name: 'GetDownloadUrlForLayerResponse')
52
+ GetLifecyclePolicyPreviewRequest = Shapes::StructureShape.new(name: 'GetLifecyclePolicyPreviewRequest')
53
+ GetLifecyclePolicyPreviewResponse = Shapes::StructureShape.new(name: 'GetLifecyclePolicyPreviewResponse')
54
+ GetLifecyclePolicyRequest = Shapes::StructureShape.new(name: 'GetLifecyclePolicyRequest')
55
+ GetLifecyclePolicyResponse = Shapes::StructureShape.new(name: 'GetLifecyclePolicyResponse')
49
56
  GetRepositoryPolicyRequest = Shapes::StructureShape.new(name: 'GetRepositoryPolicyRequest')
50
57
  GetRepositoryPolicyResponse = Shapes::StructureShape.new(name: 'GetRepositoryPolicyResponse')
51
58
  Image = Shapes::StructureShape.new(name: 'Image')
59
+ ImageActionType = Shapes::StringShape.new(name: 'ImageActionType')
52
60
  ImageAlreadyExistsException = Shapes::StructureShape.new(name: 'ImageAlreadyExistsException')
61
+ ImageCount = Shapes::IntegerShape.new(name: 'ImageCount')
53
62
  ImageDetail = Shapes::StructureShape.new(name: 'ImageDetail')
54
63
  ImageDetailList = Shapes::ListShape.new(name: 'ImageDetailList')
55
64
  ImageDigest = Shapes::StringShape.new(name: 'ImageDigest')
@@ -85,6 +94,17 @@ module Aws::ECR
85
94
  LayerPartTooSmallException = Shapes::StructureShape.new(name: 'LayerPartTooSmallException')
86
95
  LayerSizeInBytes = Shapes::IntegerShape.new(name: 'LayerSizeInBytes')
87
96
  LayersNotFoundException = Shapes::StructureShape.new(name: 'LayersNotFoundException')
97
+ LifecyclePolicyNotFoundException = Shapes::StructureShape.new(name: 'LifecyclePolicyNotFoundException')
98
+ LifecyclePolicyPreviewFilter = Shapes::StructureShape.new(name: 'LifecyclePolicyPreviewFilter')
99
+ LifecyclePolicyPreviewInProgressException = Shapes::StructureShape.new(name: 'LifecyclePolicyPreviewInProgressException')
100
+ LifecyclePolicyPreviewNotFoundException = Shapes::StructureShape.new(name: 'LifecyclePolicyPreviewNotFoundException')
101
+ LifecyclePolicyPreviewResult = Shapes::StructureShape.new(name: 'LifecyclePolicyPreviewResult')
102
+ LifecyclePolicyPreviewResultList = Shapes::ListShape.new(name: 'LifecyclePolicyPreviewResultList')
103
+ LifecyclePolicyPreviewStatus = Shapes::StringShape.new(name: 'LifecyclePolicyPreviewStatus')
104
+ LifecyclePolicyPreviewSummary = Shapes::StructureShape.new(name: 'LifecyclePolicyPreviewSummary')
105
+ LifecyclePolicyRuleAction = Shapes::StructureShape.new(name: 'LifecyclePolicyRuleAction')
106
+ LifecyclePolicyRulePriority = Shapes::IntegerShape.new(name: 'LifecyclePolicyRulePriority')
107
+ LifecyclePolicyText = Shapes::StringShape.new(name: 'LifecyclePolicyText')
88
108
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
89
109
  ListImagesFilter = Shapes::StructureShape.new(name: 'ListImagesFilter')
90
110
  ListImagesRequest = Shapes::StructureShape.new(name: 'ListImagesRequest')
@@ -98,6 +118,8 @@ module Aws::ECR
98
118
  PushTimestamp = Shapes::TimestampShape.new(name: 'PushTimestamp')
99
119
  PutImageRequest = Shapes::StructureShape.new(name: 'PutImageRequest')
100
120
  PutImageResponse = Shapes::StructureShape.new(name: 'PutImageResponse')
121
+ PutLifecyclePolicyRequest = Shapes::StructureShape.new(name: 'PutLifecyclePolicyRequest')
122
+ PutLifecyclePolicyResponse = Shapes::StructureShape.new(name: 'PutLifecyclePolicyResponse')
101
123
  RegistryId = Shapes::StringShape.new(name: 'RegistryId')
102
124
  Repository = Shapes::StructureShape.new(name: 'Repository')
103
125
  RepositoryAlreadyExistsException = Shapes::StructureShape.new(name: 'RepositoryAlreadyExistsException')
@@ -111,6 +133,8 @@ module Aws::ECR
111
133
  ServerException = Shapes::StructureShape.new(name: 'ServerException')
112
134
  SetRepositoryPolicyRequest = Shapes::StructureShape.new(name: 'SetRepositoryPolicyRequest')
113
135
  SetRepositoryPolicyResponse = Shapes::StructureShape.new(name: 'SetRepositoryPolicyResponse')
136
+ StartLifecyclePolicyPreviewRequest = Shapes::StructureShape.new(name: 'StartLifecyclePolicyPreviewRequest')
137
+ StartLifecyclePolicyPreviewResponse = Shapes::StructureShape.new(name: 'StartLifecyclePolicyPreviewResponse')
114
138
  TagStatus = Shapes::StringShape.new(name: 'TagStatus')
115
139
  UploadId = Shapes::StringShape.new(name: 'UploadId')
116
140
  UploadLayerPartRequest = Shapes::StructureShape.new(name: 'UploadLayerPartRequest')
@@ -173,6 +197,16 @@ module Aws::ECR
173
197
  CreateRepositoryResponse.add_member(:repository, Shapes::ShapeRef.new(shape: Repository, location_name: "repository"))
174
198
  CreateRepositoryResponse.struct_class = Types::CreateRepositoryResponse
175
199
 
200
+ DeleteLifecyclePolicyRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
201
+ DeleteLifecyclePolicyRequest.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, required: true, location_name: "repositoryName"))
202
+ DeleteLifecyclePolicyRequest.struct_class = Types::DeleteLifecyclePolicyRequest
203
+
204
+ DeleteLifecyclePolicyResponse.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
205
+ DeleteLifecyclePolicyResponse.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, location_name: "repositoryName"))
206
+ DeleteLifecyclePolicyResponse.add_member(:lifecycle_policy_text, Shapes::ShapeRef.new(shape: LifecyclePolicyText, location_name: "lifecyclePolicyText"))
207
+ DeleteLifecyclePolicyResponse.add_member(:last_evaluated_at, Shapes::ShapeRef.new(shape: EvaluationTimestamp, location_name: "lastEvaluatedAt"))
208
+ DeleteLifecyclePolicyResponse.struct_class = Types::DeleteLifecyclePolicyResponse
209
+
176
210
  DeleteRepositoryPolicyRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
177
211
  DeleteRepositoryPolicyRequest.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, required: true, location_name: "repositoryName"))
178
212
  DeleteRepositoryPolicyRequest.struct_class = Types::DeleteRepositoryPolicyRequest
@@ -232,6 +266,33 @@ module Aws::ECR
232
266
  GetDownloadUrlForLayerResponse.add_member(:layer_digest, Shapes::ShapeRef.new(shape: LayerDigest, location_name: "layerDigest"))
233
267
  GetDownloadUrlForLayerResponse.struct_class = Types::GetDownloadUrlForLayerResponse
234
268
 
269
+ GetLifecyclePolicyPreviewRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
270
+ GetLifecyclePolicyPreviewRequest.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, required: true, location_name: "repositoryName"))
271
+ GetLifecyclePolicyPreviewRequest.add_member(:image_ids, Shapes::ShapeRef.new(shape: ImageIdentifierList, location_name: "imageIds"))
272
+ GetLifecyclePolicyPreviewRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
273
+ GetLifecyclePolicyPreviewRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
274
+ GetLifecyclePolicyPreviewRequest.add_member(:filter, Shapes::ShapeRef.new(shape: LifecyclePolicyPreviewFilter, location_name: "filter"))
275
+ GetLifecyclePolicyPreviewRequest.struct_class = Types::GetLifecyclePolicyPreviewRequest
276
+
277
+ GetLifecyclePolicyPreviewResponse.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
278
+ GetLifecyclePolicyPreviewResponse.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, location_name: "repositoryName"))
279
+ GetLifecyclePolicyPreviewResponse.add_member(:lifecycle_policy_text, Shapes::ShapeRef.new(shape: LifecyclePolicyText, location_name: "lifecyclePolicyText"))
280
+ GetLifecyclePolicyPreviewResponse.add_member(:status, Shapes::ShapeRef.new(shape: LifecyclePolicyPreviewStatus, location_name: "status"))
281
+ GetLifecyclePolicyPreviewResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
282
+ GetLifecyclePolicyPreviewResponse.add_member(:preview_results, Shapes::ShapeRef.new(shape: LifecyclePolicyPreviewResultList, location_name: "previewResults"))
283
+ GetLifecyclePolicyPreviewResponse.add_member(:summary, Shapes::ShapeRef.new(shape: LifecyclePolicyPreviewSummary, location_name: "summary"))
284
+ GetLifecyclePolicyPreviewResponse.struct_class = Types::GetLifecyclePolicyPreviewResponse
285
+
286
+ GetLifecyclePolicyRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
287
+ GetLifecyclePolicyRequest.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, required: true, location_name: "repositoryName"))
288
+ GetLifecyclePolicyRequest.struct_class = Types::GetLifecyclePolicyRequest
289
+
290
+ GetLifecyclePolicyResponse.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
291
+ GetLifecyclePolicyResponse.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, location_name: "repositoryName"))
292
+ GetLifecyclePolicyResponse.add_member(:lifecycle_policy_text, Shapes::ShapeRef.new(shape: LifecyclePolicyText, location_name: "lifecyclePolicyText"))
293
+ GetLifecyclePolicyResponse.add_member(:last_evaluated_at, Shapes::ShapeRef.new(shape: EvaluationTimestamp, location_name: "lastEvaluatedAt"))
294
+ GetLifecyclePolicyResponse.struct_class = Types::GetLifecyclePolicyResponse
295
+
235
296
  GetRepositoryPolicyRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
236
297
  GetRepositoryPolicyRequest.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, required: true, location_name: "repositoryName"))
237
298
  GetRepositoryPolicyRequest.struct_class = Types::GetRepositoryPolicyRequest
@@ -299,6 +360,24 @@ module Aws::ECR
299
360
 
300
361
  LayerList.member = Shapes::ShapeRef.new(shape: Layer)
301
362
 
363
+ LifecyclePolicyPreviewFilter.add_member(:tag_status, Shapes::ShapeRef.new(shape: TagStatus, location_name: "tagStatus"))
364
+ LifecyclePolicyPreviewFilter.struct_class = Types::LifecyclePolicyPreviewFilter
365
+
366
+ LifecyclePolicyPreviewResult.add_member(:image_tags, Shapes::ShapeRef.new(shape: ImageTagList, location_name: "imageTags"))
367
+ LifecyclePolicyPreviewResult.add_member(:image_digest, Shapes::ShapeRef.new(shape: ImageDigest, location_name: "imageDigest"))
368
+ LifecyclePolicyPreviewResult.add_member(:image_pushed_at, Shapes::ShapeRef.new(shape: PushTimestamp, location_name: "imagePushedAt"))
369
+ LifecyclePolicyPreviewResult.add_member(:action, Shapes::ShapeRef.new(shape: LifecyclePolicyRuleAction, location_name: "action"))
370
+ LifecyclePolicyPreviewResult.add_member(:applied_rule_priority, Shapes::ShapeRef.new(shape: LifecyclePolicyRulePriority, location_name: "appliedRulePriority"))
371
+ LifecyclePolicyPreviewResult.struct_class = Types::LifecyclePolicyPreviewResult
372
+
373
+ LifecyclePolicyPreviewResultList.member = Shapes::ShapeRef.new(shape: LifecyclePolicyPreviewResult)
374
+
375
+ LifecyclePolicyPreviewSummary.add_member(:expiring_image_total_count, Shapes::ShapeRef.new(shape: ImageCount, location_name: "expiringImageTotalCount"))
376
+ LifecyclePolicyPreviewSummary.struct_class = Types::LifecyclePolicyPreviewSummary
377
+
378
+ LifecyclePolicyRuleAction.add_member(:type, Shapes::ShapeRef.new(shape: ImageActionType, location_name: "type"))
379
+ LifecyclePolicyRuleAction.struct_class = Types::LifecyclePolicyRuleAction
380
+
302
381
  ListImagesFilter.add_member(:tag_status, Shapes::ShapeRef.new(shape: TagStatus, location_name: "tagStatus"))
303
382
  ListImagesFilter.struct_class = Types::ListImagesFilter
304
383
 
@@ -324,6 +403,16 @@ module Aws::ECR
324
403
  PutImageResponse.add_member(:image, Shapes::ShapeRef.new(shape: Image, location_name: "image"))
325
404
  PutImageResponse.struct_class = Types::PutImageResponse
326
405
 
406
+ PutLifecyclePolicyRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
407
+ PutLifecyclePolicyRequest.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, required: true, location_name: "repositoryName"))
408
+ PutLifecyclePolicyRequest.add_member(:lifecycle_policy_text, Shapes::ShapeRef.new(shape: LifecyclePolicyText, required: true, location_name: "lifecyclePolicyText"))
409
+ PutLifecyclePolicyRequest.struct_class = Types::PutLifecyclePolicyRequest
410
+
411
+ PutLifecyclePolicyResponse.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
412
+ PutLifecyclePolicyResponse.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, location_name: "repositoryName"))
413
+ PutLifecyclePolicyResponse.add_member(:lifecycle_policy_text, Shapes::ShapeRef.new(shape: LifecyclePolicyText, location_name: "lifecyclePolicyText"))
414
+ PutLifecyclePolicyResponse.struct_class = Types::PutLifecyclePolicyResponse
415
+
327
416
  Repository.add_member(:repository_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "repositoryArn"))
328
417
  Repository.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
329
418
  Repository.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, location_name: "repositoryName"))
@@ -346,6 +435,17 @@ module Aws::ECR
346
435
  SetRepositoryPolicyResponse.add_member(:policy_text, Shapes::ShapeRef.new(shape: RepositoryPolicyText, location_name: "policyText"))
347
436
  SetRepositoryPolicyResponse.struct_class = Types::SetRepositoryPolicyResponse
348
437
 
438
+ StartLifecyclePolicyPreviewRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
439
+ StartLifecyclePolicyPreviewRequest.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, required: true, location_name: "repositoryName"))
440
+ StartLifecyclePolicyPreviewRequest.add_member(:lifecycle_policy_text, Shapes::ShapeRef.new(shape: LifecyclePolicyText, location_name: "lifecyclePolicyText"))
441
+ StartLifecyclePolicyPreviewRequest.struct_class = Types::StartLifecyclePolicyPreviewRequest
442
+
443
+ StartLifecyclePolicyPreviewResponse.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
444
+ StartLifecyclePolicyPreviewResponse.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, location_name: "repositoryName"))
445
+ StartLifecyclePolicyPreviewResponse.add_member(:lifecycle_policy_text, Shapes::ShapeRef.new(shape: LifecyclePolicyText, location_name: "lifecyclePolicyText"))
446
+ StartLifecyclePolicyPreviewResponse.add_member(:status, Shapes::ShapeRef.new(shape: LifecyclePolicyPreviewStatus, location_name: "status"))
447
+ StartLifecyclePolicyPreviewResponse.struct_class = Types::StartLifecyclePolicyPreviewResponse
448
+
349
449
  UploadLayerPartRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
350
450
  UploadLayerPartRequest.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, required: true, location_name: "repositoryName"))
351
451
  UploadLayerPartRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: UploadId, required: true, location_name: "uploadId"))
@@ -436,6 +536,18 @@ module Aws::ECR
436
536
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
437
537
  end)
438
538
 
539
+ api.add_operation(:delete_lifecycle_policy, Seahorse::Model::Operation.new.tap do |o|
540
+ o.name = "DeleteLifecyclePolicy"
541
+ o.http_method = "POST"
542
+ o.http_request_uri = "/"
543
+ o.input = Shapes::ShapeRef.new(shape: DeleteLifecyclePolicyRequest)
544
+ o.output = Shapes::ShapeRef.new(shape: DeleteLifecyclePolicyResponse)
545
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
546
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
547
+ o.errors << Shapes::ShapeRef.new(shape: RepositoryNotFoundException)
548
+ o.errors << Shapes::ShapeRef.new(shape: LifecyclePolicyNotFoundException)
549
+ end)
550
+
439
551
  api.add_operation(:delete_repository, Seahorse::Model::Operation.new.tap do |o|
440
552
  o.name = "DeleteRepository"
441
553
  o.http_method = "POST"
@@ -518,6 +630,30 @@ module Aws::ECR
518
630
  o.errors << Shapes::ShapeRef.new(shape: RepositoryNotFoundException)
519
631
  end)
520
632
 
633
+ api.add_operation(:get_lifecycle_policy, Seahorse::Model::Operation.new.tap do |o|
634
+ o.name = "GetLifecyclePolicy"
635
+ o.http_method = "POST"
636
+ o.http_request_uri = "/"
637
+ o.input = Shapes::ShapeRef.new(shape: GetLifecyclePolicyRequest)
638
+ o.output = Shapes::ShapeRef.new(shape: GetLifecyclePolicyResponse)
639
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
640
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
641
+ o.errors << Shapes::ShapeRef.new(shape: RepositoryNotFoundException)
642
+ o.errors << Shapes::ShapeRef.new(shape: LifecyclePolicyNotFoundException)
643
+ end)
644
+
645
+ api.add_operation(:get_lifecycle_policy_preview, Seahorse::Model::Operation.new.tap do |o|
646
+ o.name = "GetLifecyclePolicyPreview"
647
+ o.http_method = "POST"
648
+ o.http_request_uri = "/"
649
+ o.input = Shapes::ShapeRef.new(shape: GetLifecyclePolicyPreviewRequest)
650
+ o.output = Shapes::ShapeRef.new(shape: GetLifecyclePolicyPreviewResponse)
651
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
652
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
653
+ o.errors << Shapes::ShapeRef.new(shape: RepositoryNotFoundException)
654
+ o.errors << Shapes::ShapeRef.new(shape: LifecyclePolicyPreviewNotFoundException)
655
+ end)
656
+
521
657
  api.add_operation(:get_repository_policy, Seahorse::Model::Operation.new.tap do |o|
522
658
  o.name = "GetRepositoryPolicy"
523
659
  o.http_method = "POST"
@@ -572,6 +708,17 @@ module Aws::ECR
572
708
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
573
709
  end)
574
710
 
711
+ api.add_operation(:put_lifecycle_policy, Seahorse::Model::Operation.new.tap do |o|
712
+ o.name = "PutLifecyclePolicy"
713
+ o.http_method = "POST"
714
+ o.http_request_uri = "/"
715
+ o.input = Shapes::ShapeRef.new(shape: PutLifecyclePolicyRequest)
716
+ o.output = Shapes::ShapeRef.new(shape: PutLifecyclePolicyResponse)
717
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
718
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
719
+ o.errors << Shapes::ShapeRef.new(shape: RepositoryNotFoundException)
720
+ end)
721
+
575
722
  api.add_operation(:set_repository_policy, Seahorse::Model::Operation.new.tap do |o|
576
723
  o.name = "SetRepositoryPolicy"
577
724
  o.http_method = "POST"
@@ -583,6 +730,19 @@ module Aws::ECR
583
730
  o.errors << Shapes::ShapeRef.new(shape: RepositoryNotFoundException)
584
731
  end)
585
732
 
733
+ api.add_operation(:start_lifecycle_policy_preview, Seahorse::Model::Operation.new.tap do |o|
734
+ o.name = "StartLifecyclePolicyPreview"
735
+ o.http_method = "POST"
736
+ o.http_request_uri = "/"
737
+ o.input = Shapes::ShapeRef.new(shape: StartLifecyclePolicyPreviewRequest)
738
+ o.output = Shapes::ShapeRef.new(shape: StartLifecyclePolicyPreviewResponse)
739
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
740
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
741
+ o.errors << Shapes::ShapeRef.new(shape: RepositoryNotFoundException)
742
+ o.errors << Shapes::ShapeRef.new(shape: LifecyclePolicyNotFoundException)
743
+ o.errors << Shapes::ShapeRef.new(shape: LifecyclePolicyPreviewInProgressException)
744
+ end)
745
+
586
746
  api.add_operation(:upload_layer_part, Seahorse::Model::Operation.new.tap do |o|
587
747
  o.name = "UploadLayerPart"
588
748
  o.http_method = "POST"
@@ -309,6 +309,59 @@ module Aws::ECR
309
309
  include Aws::Structure
310
310
  end
311
311
 
312
+ # @note When making an API call, you may pass DeleteLifecyclePolicyRequest
313
+ # data as a hash:
314
+ #
315
+ # {
316
+ # registry_id: "RegistryId",
317
+ # repository_name: "RepositoryName", # required
318
+ # }
319
+ #
320
+ # @!attribute [rw] registry_id
321
+ # The AWS account ID associated with the registry that contains the
322
+ # repository. If you do not specify a registry, the default registry
323
+ # is assumed.
324
+ # @return [String]
325
+ #
326
+ # @!attribute [rw] repository_name
327
+ # The name of the repository that is associated with the repository
328
+ # policy to
 delete.
329
+ # @return [String]
330
+ #
331
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeleteLifecyclePolicyRequest AWS API Documentation
332
+ #
333
+ class DeleteLifecyclePolicyRequest < Struct.new(
334
+ :registry_id,
335
+ :repository_name)
336
+ include Aws::Structure
337
+ end
338
+
339
+ # @!attribute [rw] registry_id
340
+ # The registry ID associated with the request.
341
+ # @return [String]
342
+ #
343
+ # @!attribute [rw] repository_name
344
+ # The repository name associated with the request.
345
+ # @return [String]
346
+ #
347
+ # @!attribute [rw] lifecycle_policy_text
348
+ # The JSON repository policy text.
349
+ # @return [String]
350
+ #
351
+ # @!attribute [rw] last_evaluated_at
352
+ # The time stamp of the last time that the lifecycle policy was run.
353
+ # @return [Time]
354
+ #
355
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeleteLifecyclePolicyResponse AWS API Documentation
356
+ #
357
+ class DeleteLifecyclePolicyResponse < Struct.new(
358
+ :registry_id,
359
+ :repository_name,
360
+ :lifecycle_policy_text,
361
+ :last_evaluated_at)
362
+ include Aws::Structure
363
+ end
364
+
312
365
  # @note When making an API call, you may pass DeleteRepositoryPolicyRequest
313
366
  # data as a hash:
314
367
  #
@@ -377,7 +430,7 @@ module Aws::ECR
377
430
  # @return [String]
378
431
  #
379
432
  # @!attribute [rw] force
380
- # Force the deletion of the repository if it contains images.
433
+ # If a repository contains images, forces the deletion.
381
434
  # @return [Boolean]
382
435
  #
383
436
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeleteRepositoryRequest AWS API Documentation
@@ -671,6 +724,175 @@ module Aws::ECR
671
724
  include Aws::Structure
672
725
  end
673
726
 
727
+ # @note When making an API call, you may pass GetLifecyclePolicyPreviewRequest
728
+ # data as a hash:
729
+ #
730
+ # {
731
+ # registry_id: "RegistryId",
732
+ # repository_name: "RepositoryName", # required
733
+ # image_ids: [
734
+ # {
735
+ # image_digest: "ImageDigest",
736
+ # image_tag: "ImageTag",
737
+ # },
738
+ # ],
739
+ # next_token: "NextToken",
740
+ # max_results: 1,
741
+ # filter: {
742
+ # tag_status: "TAGGED", # accepts TAGGED, UNTAGGED
743
+ # },
744
+ # }
745
+ #
746
+ # @!attribute [rw] registry_id
747
+ # The AWS account ID associated with the registry that contains the
748
+ # repository. If you do not specify a registry, the default registry
749
+ # is assumed.
750
+ # @return [String]
751
+ #
752
+ # @!attribute [rw] repository_name
753
+ # The name of the repository with the policy to retrieve.
754
+ # @return [String]
755
+ #
756
+ # @!attribute [rw] image_ids
757
+ # The list of imageIDs to be included.
758
+ # @return [Array<Types::ImageIdentifier>]
759
+ #
760
+ # @!attribute [rw] next_token
761
+ # The `nextToken` value returned from a previous paginated

762
+ # `GetLifecyclePolicyPreviewRequest` request where `maxResults` was
763
+ # used and the
 results exceeded the value of that parameter.
764
+ # Pagination continues from the end of the
 previous results that
765
+ # returned the `nextToken` value. This value is
 `null` when there are
766
+ # no more results to return.
767
+ # @return [String]
768
+ #
769
+ # @!attribute [rw] max_results
770
+ # The maximum number of repository results returned by
771
+ # `GetLifecyclePolicyPreviewRequest` in
 paginated output. When this
772
+ # parameter is used, `GetLifecyclePolicyPreviewRequest` only returns

773
+ # `maxResults` results in a single page along with a `nextToken`

774
+ # response element. The remaining results of the initial request can
775
+ # be seen by sending
 another `GetLifecyclePolicyPreviewRequest`
776
+ # request with the returned `nextToken`
 value. This value can be
777
+ # between 1 and 100. If this
 parameter is not used, then
778
+ # `GetLifecyclePolicyPreviewRequest` returns up to
 100 results and a
779
+ # `nextToken` value, if
 applicable.
780
+ # @return [Integer]
781
+ #
782
+ # @!attribute [rw] filter
783
+ # An optional parameter that filters results based on image tag status
784
+ # and all tags, if tagged.
785
+ # @return [Types::LifecyclePolicyPreviewFilter]
786
+ #
787
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetLifecyclePolicyPreviewRequest AWS API Documentation
788
+ #
789
+ class GetLifecyclePolicyPreviewRequest < Struct.new(
790
+ :registry_id,
791
+ :repository_name,
792
+ :image_ids,
793
+ :next_token,
794
+ :max_results,
795
+ :filter)
796
+ include Aws::Structure
797
+ end
798
+
799
+ # @!attribute [rw] registry_id
800
+ # The registry ID associated with the request.
801
+ # @return [String]
802
+ #
803
+ # @!attribute [rw] repository_name
804
+ # The repository name associated with the request.
805
+ # @return [String]
806
+ #
807
+ # @!attribute [rw] lifecycle_policy_text
808
+ # The JSON repository policy text.
809
+ # @return [String]
810
+ #
811
+ # @!attribute [rw] status
812
+ # The status of the lifecycle policy preview request.
813
+ # @return [String]
814
+ #
815
+ # @!attribute [rw] next_token
816
+ # The `nextToken` value to include in a future
817
+ # `GetLifecyclePolicyPreview` request. When the results of a
818
+ # `GetLifecyclePolicyPreview` request exceed `maxResults`, this value
819
+ # can be used to retrieve the next page of results. This value is
820
+ # `null` when there are no more results to return.
821
+ # @return [String]
822
+ #
823
+ # @!attribute [rw] preview_results
824
+ # The results of the lifecycle policy preview request.
825
+ # @return [Array<Types::LifecyclePolicyPreviewResult>]
826
+ #
827
+ # @!attribute [rw] summary
828
+ # The list of images that is returned as a result of the action.
829
+ # @return [Types::LifecyclePolicyPreviewSummary]
830
+ #
831
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetLifecyclePolicyPreviewResponse AWS API Documentation
832
+ #
833
+ class GetLifecyclePolicyPreviewResponse < Struct.new(
834
+ :registry_id,
835
+ :repository_name,
836
+ :lifecycle_policy_text,
837
+ :status,
838
+ :next_token,
839
+ :preview_results,
840
+ :summary)
841
+ include Aws::Structure
842
+ end
843
+
844
+ # @note When making an API call, you may pass GetLifecyclePolicyRequest
845
+ # data as a hash:
846
+ #
847
+ # {
848
+ # registry_id: "RegistryId",
849
+ # repository_name: "RepositoryName", # required
850
+ # }
851
+ #
852
+ # @!attribute [rw] registry_id
853
+ # The AWS account ID associated with the registry that contains the
854
+ # repository. If you do not specify a registry, the default registry
855
+ # is assumed.
856
+ # @return [String]
857
+ #
858
+ # @!attribute [rw] repository_name
859
+ # The name of the repository with the policy to retrieve.
860
+ # @return [String]
861
+ #
862
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetLifecyclePolicyRequest AWS API Documentation
863
+ #
864
+ class GetLifecyclePolicyRequest < Struct.new(
865
+ :registry_id,
866
+ :repository_name)
867
+ include Aws::Structure
868
+ end
869
+
870
+ # @!attribute [rw] registry_id
871
+ # The registry ID associated with the request.
872
+ # @return [String]
873
+ #
874
+ # @!attribute [rw] repository_name
875
+ # The repository name associated with the request.
876
+ # @return [String]
877
+ #
878
+ # @!attribute [rw] lifecycle_policy_text
879
+ # The JSON repository policy text.
880
+ # @return [String]
881
+ #
882
+ # @!attribute [rw] last_evaluated_at
883
+ # The time stamp of the last time that the lifecycle policy was run.
884
+ # @return [Time]
885
+ #
886
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetLifecyclePolicyResponse AWS API Documentation
887
+ #
888
+ class GetLifecyclePolicyResponse < Struct.new(
889
+ :registry_id,
890
+ :repository_name,
891
+ :lifecycle_policy_text,
892
+ :last_evaluated_at)
893
+ include Aws::Structure
894
+ end
895
+
674
896
  # @note When making an API call, you may pass GetRepositoryPolicyRequest
675
897
  # data as a hash:
676
898
  #
@@ -686,7 +908,7 @@ module Aws::ECR
686
908
  # @return [String]
687
909
  #
688
910
  # @!attribute [rw] repository_name
689
- # The name of the repository whose policy you want to retrieve.
911
+ # The name of the repository with the policy to retrieve.
690
912
  # @return [String]
691
913
  #
692
914
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetRepositoryPolicyRequest AWS API Documentation
@@ -855,13 +1077,13 @@ module Aws::ECR
855
1077
  # }
856
1078
  #
857
1079
  # @!attribute [rw] registry_id
858
- # The AWS account ID associated with the registry that you intend to
859
- # upload layers to. If you do not specify a registry, the default
1080
+ # The AWS account ID associated with the registry to which you intend
1081
+ # to upload layers. If you do not specify a registry, the default
860
1082
  # registry is assumed.
861
1083
  # @return [String]
862
1084
  #
863
1085
  # @!attribute [rw] repository_name
864
- # The name of the repository that you intend to upload layers to.
1086
+ # The name of the repository to which you intend to upload layers.
865
1087
  # @return [String]
866
1088
  #
867
1089
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/InitiateLayerUploadRequest AWS API Documentation
@@ -943,6 +1165,86 @@ module Aws::ECR
943
1165
  include Aws::Structure
944
1166
  end
945
1167
 
1168
+ # The filter for the lifecycle policy preview.
1169
+ #
1170
+ # @note When making an API call, you may pass LifecyclePolicyPreviewFilter
1171
+ # data as a hash:
1172
+ #
1173
+ # {
1174
+ # tag_status: "TAGGED", # accepts TAGGED, UNTAGGED
1175
+ # }
1176
+ #
1177
+ # @!attribute [rw] tag_status
1178
+ # The tag status of the image.
1179
+ # @return [String]
1180
+ #
1181
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/LifecyclePolicyPreviewFilter AWS API Documentation
1182
+ #
1183
+ class LifecyclePolicyPreviewFilter < Struct.new(
1184
+ :tag_status)
1185
+ include Aws::Structure
1186
+ end
1187
+
1188
+ # The result of the lifecycle policy preview.
1189
+ #
1190
+ # @!attribute [rw] image_tags
1191
+ # The list of tags associated with this image.
1192
+ # @return [Array<String>]
1193
+ #
1194
+ # @!attribute [rw] image_digest
1195
+ # The `sha256` digest of the image manifest.
1196
+ # @return [String]
1197
+ #
1198
+ # @!attribute [rw] image_pushed_at
1199
+ # The date and time, expressed in standard JavaScript date format, at
1200
+ # which the current image was pushed to the repository.
1201
+ # @return [Time]
1202
+ #
1203
+ # @!attribute [rw] action
1204
+ # The type of action to be taken.
1205
+ # @return [Types::LifecyclePolicyRuleAction]
1206
+ #
1207
+ # @!attribute [rw] applied_rule_priority
1208
+ # The priority of the applied rule.
1209
+ # @return [Integer]
1210
+ #
1211
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/LifecyclePolicyPreviewResult AWS API Documentation
1212
+ #
1213
+ class LifecyclePolicyPreviewResult < Struct.new(
1214
+ :image_tags,
1215
+ :image_digest,
1216
+ :image_pushed_at,
1217
+ :action,
1218
+ :applied_rule_priority)
1219
+ include Aws::Structure
1220
+ end
1221
+
1222
+ # The summary of the lifecycle policy preview request.
1223
+ #
1224
+ # @!attribute [rw] expiring_image_total_count
1225
+ # The number of expiring images.
1226
+ # @return [Integer]
1227
+ #
1228
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/LifecyclePolicyPreviewSummary AWS API Documentation
1229
+ #
1230
+ class LifecyclePolicyPreviewSummary < Struct.new(
1231
+ :expiring_image_total_count)
1232
+ include Aws::Structure
1233
+ end
1234
+
1235
+ # The type of action to be taken.
1236
+ #
1237
+ # @!attribute [rw] type
1238
+ # The type of action to be taken.
1239
+ # @return [String]
1240
+ #
1241
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/LifecyclePolicyRuleAction AWS API Documentation
1242
+ #
1243
+ class LifecyclePolicyRuleAction < Struct.new(
1244
+ :type)
1245
+ include Aws::Structure
1246
+ end
1247
+
946
1248
  # An object representing a filter on a ListImages operation.
947
1249
  #
948
1250
  # @note When making an API call, you may pass ListImagesFilter
@@ -979,12 +1281,12 @@ module Aws::ECR
979
1281
  #
980
1282
  # @!attribute [rw] registry_id
981
1283
  # The AWS account ID associated with the registry that contains the
982
- # repository to list images in. If you do not specify a registry, the
983
- # default registry is assumed.
1284
+ # repository in which to list images. If you do not specify a
1285
+ # registry, the default registry is assumed.
984
1286
  # @return [String]
985
1287
  #
986
1288
  # @!attribute [rw] repository_name
987
- # The repository whose image IDs are to be listed.
1289
+ # The repository with image IDs to be listed.
988
1290
  # @return [String]
989
1291
  #
990
1292
  # @!attribute [rw] next_token
@@ -1098,13 +1400,66 @@ module Aws::ECR
1098
1400
  include Aws::Structure
1099
1401
  end
1100
1402
 
1403
+ # @note When making an API call, you may pass PutLifecyclePolicyRequest
1404
+ # data as a hash:
1405
+ #
1406
+ # {
1407
+ # registry_id: "RegistryId",
1408
+ # repository_name: "RepositoryName", # required
1409
+ # lifecycle_policy_text: "LifecyclePolicyText", # required
1410
+ # }
1411
+ #
1412
+ # @!attribute [rw] registry_id
1413
+ # The AWS account ID associated with the registry that contains the
1414
+ # repository. If you do
 not specify a registry, the default registry
1415
+ # is assumed.
1416
+ # @return [String]
1417
+ #
1418
+ # @!attribute [rw] repository_name
1419
+ # The name of the repository to receive the policy.
1420
+ # @return [String]
1421
+ #
1422
+ # @!attribute [rw] lifecycle_policy_text
1423
+ # The JSON repository policy text to apply to the repository.
1424
+ # @return [String]
1425
+ #
1426
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutLifecyclePolicyRequest AWS API Documentation
1427
+ #
1428
+ class PutLifecyclePolicyRequest < Struct.new(
1429
+ :registry_id,
1430
+ :repository_name,
1431
+ :lifecycle_policy_text)
1432
+ include Aws::Structure
1433
+ end
1434
+
1435
+ # @!attribute [rw] registry_id
1436
+ # The registry ID associated with the request.
1437
+ # @return [String]
1438
+ #
1439
+ # @!attribute [rw] repository_name
1440
+ # The repository name associated with the request.
1441
+ # @return [String]
1442
+ #
1443
+ # @!attribute [rw] lifecycle_policy_text
1444
+ # The JSON repository policy text.
1445
+ # @return [String]
1446
+ #
1447
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutLifecyclePolicyResponse AWS API Documentation
1448
+ #
1449
+ class PutLifecyclePolicyResponse < Struct.new(
1450
+ :registry_id,
1451
+ :repository_name,
1452
+ :lifecycle_policy_text)
1453
+ include Aws::Structure
1454
+ end
1455
+
1101
1456
  # An object representing a repository.
1102
1457
  #
1103
1458
  # @!attribute [rw] repository_arn
1104
1459
  # The Amazon Resource Name (ARN) that identifies the repository. The
1105
1460
  # ARN contains the `arn:aws:ecr` namespace, followed by the region of
1106
- # the repository, the AWS account ID of the repository owner, the
1107
- # repository namespace, and then the repository name. For example,
1461
+ # the repository, AWS account ID of the repository owner, repository
1462
+ # namespace, and repository name. For example,
1108
1463
  # `arn:aws:ecr:region:012345678910:repository/test`.
1109
1464
  # @return [String]
1110
1465
  #
@@ -1119,12 +1474,12 @@ module Aws::ECR
1119
1474
  #
1120
1475
  # @!attribute [rw] repository_uri
1121
1476
  # The URI for the repository. You can use this URI for Docker `push`
1122
- # and `pull` operations.
1477
+ # or `pull` operations.
1123
1478
  # @return [String]
1124
1479
  #
1125
1480
  # @!attribute [rw] created_at
1126
- # The date and time, in JavaScript date/time format, when the
1127
- # repository was created.
1481
+ # The date and time, in JavaScript date format, when the repository
1482
+ # was created.
1128
1483
  # @return [Time]
1129
1484
  #
1130
1485
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/Repository AWS API Documentation
@@ -1200,6 +1555,65 @@ module Aws::ECR
1200
1555
  include Aws::Structure
1201
1556
  end
1202
1557
 
1558
+ # @note When making an API call, you may pass StartLifecyclePolicyPreviewRequest
1559
+ # data as a hash:
1560
+ #
1561
+ # {
1562
+ # registry_id: "RegistryId",
1563
+ # repository_name: "RepositoryName", # required
1564
+ # lifecycle_policy_text: "LifecyclePolicyText",
1565
+ # }
1566
+ #
1567
+ # @!attribute [rw] registry_id
1568
+ # The AWS account ID associated with the registry that contains the
1569
+ # repository. If you do not specify a registry, the default registry
1570
+ # is assumed.
1571
+ # @return [String]
1572
+ #
1573
+ # @!attribute [rw] repository_name
1574
+ # The name of the repository to be evaluated.
1575
+ # @return [String]
1576
+ #
1577
+ # @!attribute [rw] lifecycle_policy_text
1578
+ # The policy to be evaluated against. If you do not specify a policy,
1579
+ # the current policy for the repository is used.
1580
+ # @return [String]
1581
+ #
1582
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/StartLifecyclePolicyPreviewRequest AWS API Documentation
1583
+ #
1584
+ class StartLifecyclePolicyPreviewRequest < Struct.new(
1585
+ :registry_id,
1586
+ :repository_name,
1587
+ :lifecycle_policy_text)
1588
+ include Aws::Structure
1589
+ end
1590
+
1591
+ # @!attribute [rw] registry_id
1592
+ # The registry ID associated with the request.
1593
+ # @return [String]
1594
+ #
1595
+ # @!attribute [rw] repository_name
1596
+ # The repository name associated with the request.
1597
+ # @return [String]
1598
+ #
1599
+ # @!attribute [rw] lifecycle_policy_text
1600
+ # The JSON repository policy text.
1601
+ # @return [String]
1602
+ #
1603
+ # @!attribute [rw] status
1604
+ # The status of the lifecycle policy preview request.
1605
+ # @return [String]
1606
+ #
1607
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/StartLifecyclePolicyPreviewResponse AWS API Documentation
1608
+ #
1609
+ class StartLifecyclePolicyPreviewResponse < Struct.new(
1610
+ :registry_id,
1611
+ :repository_name,
1612
+ :lifecycle_policy_text,
1613
+ :status)
1614
+ include Aws::Structure
1615
+ end
1616
+
1203
1617
  # @note When making an API call, you may pass UploadLayerPartRequest
1204
1618
  # data as a hash:
1205
1619
  #
@@ -1213,13 +1627,13 @@ module Aws::ECR
1213
1627
  # }
1214
1628
  #
1215
1629
  # @!attribute [rw] registry_id
1216
- # The AWS account ID associated with the registry that you are
1217
- # uploading layer parts to. If you do not specify a registry, the
1218
- # default registry is assumed.
1630
+ # The AWS account ID associated with the registry to which you are
1631
+ # uploading layer parts. If you do not specify a registry, the default
1632
+ # registry is assumed.
1219
1633
  # @return [String]
1220
1634
  #
1221
1635
  # @!attribute [rw] repository_name
1222
- # The name of the repository that you are uploading layer parts to.
1636
+ # The name of the repository to which you are uploading layer parts.
1223
1637
  # @return [String]
1224
1638
  #
1225
1639
  # @!attribute [rw] upload_id
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.1.0
4
+ version: 1.2.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: 2017-09-13 00:00:00.000000000 Z
11
+ date: 2017-10-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core