aws-sdk-ecr 1.137.0 → 1.138.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7f446f3f200a5762c1bf75aa0a2c82ed62138130c85fd156550baa0306ad6214
4
- data.tar.gz: 9f6883fec2c4af1759fc685aae7b2562aa0b1d1665d46974b4d08fca35b207cf
3
+ metadata.gz: 0474c395f1501bf0cfe3135f584a1e2691277b08a8715517b428ddbc04415b91
4
+ data.tar.gz: 9727c2df3444508897228a579e5a98e6b9a0c0f3f52198d98aed0323811d20b6
5
5
  SHA512:
6
- metadata.gz: 342ed68d479c6beb90ef6a3ee515cc3f1d8e26e76e6c5d0573b895e5e77fb031618a4792fe823386ad02bb7b24966d3ef22f18d8f8aa790b5d96f72449859bc1
7
- data.tar.gz: 5d9e8bf48cc84fb1a38af6f0c39a5d9a19ba2b34f9393e6947a2540f701eee077ebff6ade1dbb6e51ed0daa905e6aff503cb8a5d229364d49046258230daddbf
6
+ metadata.gz: a4d3570e764461c64beaf1a855577f2634e0bd9d0c4df86124315e423e81e42acf1aa8e1bed5e5c349cd562b797a788c1812cf95ed7e67028ce0114f6c6a67f8
7
+ data.tar.gz: 63d2bc68e6fb880659794ccea551ee2674bfcd916e396cbfc5ceaa021c5289a120bfe74d0fdce2bda9df13f78f6db16d1f88624c4bfcfc782455105202fc2f12
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.138.0 (2026-10-26)
5
+ ------------------
6
+
7
+ * Feature - Add support for ECR replication backfill
8
+
4
9
  1.137.0 (2026-10-21)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.137.0
1
+ 1.138.0
@@ -2140,6 +2140,114 @@ module Aws::ECR
2140
2140
  req.send_request(options)
2141
2141
  end
2142
2142
 
2143
+ # Returns the status, progress, and per-image results for a replication
2144
+ # backfill. The backfill to describe is identified by the
2145
+ # `replicationBackfillId` returned by the StartReplicationBackfill
2146
+ # operation.
2147
+ #
2148
+ # <note markdown="1"> The per-image results are available only after the replication
2149
+ # backfill reaches a terminal status.
2150
+ #
2151
+ # </note>
2152
+ #
2153
+ # @option params [String] :registry_id
2154
+ # The Amazon Web Services account ID associated with the registry that
2155
+ # contains the replication backfill to describe. If you do not specify a
2156
+ # registry, the default registry is assumed.
2157
+ #
2158
+ # @option params [required, String] :replication_backfill_id
2159
+ # The ID of the replication backfill to describe.
2160
+ #
2161
+ # @option params [String] :result_status_filter
2162
+ # The status used to filter the returned results. Each result has a
2163
+ # status of `COMPLETE` or `FAILED`. If you omit this parameter, results
2164
+ # with both statuses are returned.
2165
+ #
2166
+ # @option params [Integer] :max_results
2167
+ # The maximum number of replication backfill results returned by
2168
+ # `DescribeReplicationBackfillResults` in paginated output. When this
2169
+ # parameter is used, `DescribeReplicationBackfillResults` only returns
2170
+ # `maxResults` results in a single page along with a `nextToken`
2171
+ # response element. The remaining results of the initial request can be
2172
+ # seen by sending another `DescribeReplicationBackfillResults` request
2173
+ # with the returned `nextToken` value. This value can be between 1 and
2174
+ # 1000. If this parameter is not used, then
2175
+ # `DescribeReplicationBackfillResults` returns up to 100 results and a
2176
+ # `nextToken` value, if applicable.
2177
+ #
2178
+ # @option params [String] :next_token
2179
+ # The `nextToken` value returned from a previous paginated
2180
+ # `DescribeReplicationBackfillResults` request where `maxResults` was
2181
+ # used and the results exceeded the value of that parameter. Pagination
2182
+ # continues from the end of the previous results that returned the
2183
+ # `nextToken` value. This value is `null` when there are no more results
2184
+ # to return.
2185
+ #
2186
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only used
2187
+ # to retrieve the next items in a list and not for other programmatic
2188
+ # purposes.
2189
+ #
2190
+ # </note>
2191
+ #
2192
+ # @return [Types::DescribeReplicationBackfillResultsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2193
+ #
2194
+ # * {Types::DescribeReplicationBackfillResultsResponse#registry_id #registry_id} => String
2195
+ # * {Types::DescribeReplicationBackfillResultsResponse#replication_backfill_id #replication_backfill_id} => String
2196
+ # * {Types::DescribeReplicationBackfillResultsResponse#destination #destination} => Types::ReplicationDestination
2197
+ # * {Types::DescribeReplicationBackfillResultsResponse#status #status} => String
2198
+ # * {Types::DescribeReplicationBackfillResultsResponse#failure_code #failure_code} => String
2199
+ # * {Types::DescribeReplicationBackfillResultsResponse#progress #progress} => Types::ReplicationBackfillProgress
2200
+ # * {Types::DescribeReplicationBackfillResultsResponse#results #results} => Array&lt;Types::ReplicationBackfillResult&gt;
2201
+ # * {Types::DescribeReplicationBackfillResultsResponse#started_at #started_at} => Time
2202
+ # * {Types::DescribeReplicationBackfillResultsResponse#ended_at #ended_at} => Time
2203
+ # * {Types::DescribeReplicationBackfillResultsResponse#next_token #next_token} => String
2204
+ #
2205
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2206
+ #
2207
+ # @example Request syntax with placeholder values
2208
+ #
2209
+ # resp = client.describe_replication_backfill_results({
2210
+ # registry_id: "RegistryId",
2211
+ # replication_backfill_id: "ReplicationBackfillId", # required
2212
+ # result_status_filter: "COMPLETE", # accepts COMPLETE, FAILED
2213
+ # max_results: 1,
2214
+ # next_token: "NextToken",
2215
+ # })
2216
+ #
2217
+ # @example Response structure
2218
+ #
2219
+ # resp.registry_id #=> String
2220
+ # resp.replication_backfill_id #=> String
2221
+ # resp.destination.region #=> String
2222
+ # resp.destination.registry_id #=> String
2223
+ # resp.status #=> String, one of "PREPARING", "IN_PROGRESS", "COMPLETE", "FAILED", "STOPPING", "STOPPED"
2224
+ # resp.failure_code #=> String
2225
+ # resp.progress.total_replication_count #=> Integer
2226
+ # resp.progress.completed_replication_count #=> Integer
2227
+ # resp.progress.failed_replication_count #=> Integer
2228
+ # resp.progress.failure_codes #=> Array
2229
+ # resp.progress.failure_codes[0] #=> String
2230
+ # resp.results #=> Array
2231
+ # resp.results[0].repository_name #=> String
2232
+ # resp.results[0].image_id.image_digest #=> String
2233
+ # resp.results[0].image_id.image_tag #=> String
2234
+ # resp.results[0].status #=> String, one of "COMPLETE", "FAILED"
2235
+ # resp.results[0].failure_code #=> String
2236
+ # resp.results[0].sub_image_failure_codes #=> Array
2237
+ # resp.results[0].sub_image_failure_codes[0] #=> String
2238
+ # resp.started_at #=> Time
2239
+ # resp.ended_at #=> Time
2240
+ # resp.next_token #=> String
2241
+ #
2242
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeReplicationBackfillResults AWS API Documentation
2243
+ #
2244
+ # @overload describe_replication_backfill_results(params = {})
2245
+ # @param [Hash] params ({})
2246
+ def describe_replication_backfill_results(params = {}, options = {})
2247
+ req = build_request(:describe_replication_backfill_results, params)
2248
+ req.send_request(options)
2249
+ end
2250
+
2143
2251
  # Describes image repositories in a registry.
2144
2252
  #
2145
2253
  # @option params [String] :registry_id
@@ -3237,6 +3345,86 @@ module Aws::ECR
3237
3345
  req.send_request(options)
3238
3346
  end
3239
3347
 
3348
+ # Lists the replication backfills for a registry, including their status
3349
+ # and progress.
3350
+ #
3351
+ # <note markdown="1"> Replication backfills that have reached a terminal status are retained
3352
+ # for 90 days after they end, after which they are no longer returned.
3353
+ #
3354
+ # </note>
3355
+ #
3356
+ # @option params [String] :registry_id
3357
+ # The Amazon Web Services account ID associated with the registry for
3358
+ # which to list replication backfills. If you do not specify a registry,
3359
+ # the default registry is assumed.
3360
+ #
3361
+ # @option params [Integer] :max_results
3362
+ # The maximum number of replication backfill results returned by
3363
+ # `ListReplicationBackfills` in paginated output. When this parameter is
3364
+ # used, `ListReplicationBackfills` only returns `maxResults` results in
3365
+ # a single page along with a `nextToken` response element. The remaining
3366
+ # results of the initial request can be seen by sending another
3367
+ # `ListReplicationBackfills` request with the returned `nextToken`
3368
+ # value. This value can be between 1 and 50. If this parameter is not
3369
+ # used, then `ListReplicationBackfills` returns up to 25 results and a
3370
+ # `nextToken` value, if applicable.
3371
+ #
3372
+ # @option params [String] :next_token
3373
+ # The `nextToken` value returned from a previous paginated
3374
+ # `ListReplicationBackfills` request where `maxResults` was used and the
3375
+ # results exceeded the value of that parameter. Pagination continues
3376
+ # from the end of the previous results that returned the `nextToken`
3377
+ # value. This value is `null` when there are no more results to return.
3378
+ #
3379
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only used
3380
+ # to retrieve the next items in a list and not for other programmatic
3381
+ # purposes.
3382
+ #
3383
+ # </note>
3384
+ #
3385
+ # @return [Types::ListReplicationBackfillsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3386
+ #
3387
+ # * {Types::ListReplicationBackfillsResponse#registry_id #registry_id} => String
3388
+ # * {Types::ListReplicationBackfillsResponse#backfills #backfills} => Array&lt;Types::ReplicationBackfillSummary&gt;
3389
+ # * {Types::ListReplicationBackfillsResponse#next_token #next_token} => String
3390
+ #
3391
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3392
+ #
3393
+ # @example Request syntax with placeholder values
3394
+ #
3395
+ # resp = client.list_replication_backfills({
3396
+ # registry_id: "RegistryId",
3397
+ # max_results: 1,
3398
+ # next_token: "NextToken",
3399
+ # })
3400
+ #
3401
+ # @example Response structure
3402
+ #
3403
+ # resp.registry_id #=> String
3404
+ # resp.backfills #=> Array
3405
+ # resp.backfills[0].replication_backfill_id #=> String
3406
+ # resp.backfills[0].destination.region #=> String
3407
+ # resp.backfills[0].destination.registry_id #=> String
3408
+ # resp.backfills[0].status #=> String, one of "PREPARING", "IN_PROGRESS", "COMPLETE", "FAILED", "STOPPING", "STOPPED"
3409
+ # resp.backfills[0].failure_code #=> String
3410
+ # resp.backfills[0].progress.total_replication_count #=> Integer
3411
+ # resp.backfills[0].progress.completed_replication_count #=> Integer
3412
+ # resp.backfills[0].progress.failed_replication_count #=> Integer
3413
+ # resp.backfills[0].progress.failure_codes #=> Array
3414
+ # resp.backfills[0].progress.failure_codes[0] #=> String
3415
+ # resp.backfills[0].started_at #=> Time
3416
+ # resp.backfills[0].ended_at #=> Time
3417
+ # resp.next_token #=> String
3418
+ #
3419
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ListReplicationBackfills AWS API Documentation
3420
+ #
3421
+ # @overload list_replication_backfills(params = {})
3422
+ # @param [Hash] params ({})
3423
+ def list_replication_backfills(params = {}, options = {})
3424
+ req = build_request(:list_replication_backfills, params)
3425
+ req.send_request(options)
3426
+ end
3427
+
3240
3428
  # List the tags for an Amazon ECR resource.
3241
3429
  #
3242
3430
  # @option params [required, String] :resource_arn
@@ -3997,6 +4185,123 @@ module Aws::ECR
3997
4185
  req.send_request(options)
3998
4186
  end
3999
4187
 
4188
+ # Starts a replication backfill for a registry. A replication backfill
4189
+ # replicates a registry's existing images that match its replication
4190
+ # configuration to the specified destination. Use the
4191
+ # DescribeReplicationBackfillResults operation to monitor the progress
4192
+ # of a replication backfill, and to retrieve its per-image results after
4193
+ # it reaches a terminal status.
4194
+ #
4195
+ # <note markdown="1"> The destination must already be configured in the registry's
4196
+ # replication configuration.
4197
+ #
4198
+ # </note>
4199
+ #
4200
+ # <note markdown="1"> Only one replication backfill can be in progress for a given
4201
+ # destination Region at a time. Starting a replication backfill for a
4202
+ # destination Region that already has one in progress fails with a
4203
+ # `ReplicationBackfillInProgressException`. In addition, a registry can
4204
+ # have at most 10 replication backfills in progress at once. Starting a
4205
+ # replication backfill that would exceed this limit fails with a
4206
+ # `LimitExceededException`.
4207
+ #
4208
+ # </note>
4209
+ #
4210
+ # @option params [String] :registry_id
4211
+ # The Amazon Web Services account ID associated with the registry from
4212
+ # which to start the replication backfill. If you do not specify a
4213
+ # registry, the default registry is assumed.
4214
+ #
4215
+ # @option params [required, Types::ReplicationDestination] :destination
4216
+ # The destination Region and registry to which the images are
4217
+ # replicated.
4218
+ #
4219
+ # @return [Types::StartReplicationBackfillResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4220
+ #
4221
+ # * {Types::StartReplicationBackfillResponse#replication_backfill_id #replication_backfill_id} => String
4222
+ # * {Types::StartReplicationBackfillResponse#registry_id #registry_id} => String
4223
+ # * {Types::StartReplicationBackfillResponse#destination #destination} => Types::ReplicationDestination
4224
+ # * {Types::StartReplicationBackfillResponse#status #status} => String
4225
+ # * {Types::StartReplicationBackfillResponse#started_at #started_at} => Time
4226
+ #
4227
+ # @example Request syntax with placeholder values
4228
+ #
4229
+ # resp = client.start_replication_backfill({
4230
+ # registry_id: "RegistryId",
4231
+ # destination: { # required
4232
+ # region: "Region", # required
4233
+ # registry_id: "RegistryId", # required
4234
+ # },
4235
+ # })
4236
+ #
4237
+ # @example Response structure
4238
+ #
4239
+ # resp.replication_backfill_id #=> String
4240
+ # resp.registry_id #=> String
4241
+ # resp.destination.region #=> String
4242
+ # resp.destination.registry_id #=> String
4243
+ # resp.status #=> String, one of "PREPARING", "IN_PROGRESS", "COMPLETE", "FAILED", "STOPPING", "STOPPED"
4244
+ # resp.started_at #=> Time
4245
+ #
4246
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/StartReplicationBackfill AWS API Documentation
4247
+ #
4248
+ # @overload start_replication_backfill(params = {})
4249
+ # @param [Hash] params ({})
4250
+ def start_replication_backfill(params = {}, options = {})
4251
+ req = build_request(:start_replication_backfill, params)
4252
+ req.send_request(options)
4253
+ end
4254
+
4255
+ # Stops an in progress replication backfill for a registry. The backfill
4256
+ # to stop is identified by the `replicationBackfillId` returned by the
4257
+ # StartReplicationBackfill operation.
4258
+ #
4259
+ # <note markdown="1"> Images that have already been replicated are not affected, and
4260
+ # replications that are already in progress continue to completion.
4261
+ #
4262
+ # </note>
4263
+ #
4264
+ # @option params [String] :registry_id
4265
+ # The Amazon Web Services account ID associated with the registry that
4266
+ # contains the replication backfill to stop. If you do not specify a
4267
+ # registry, the default registry is assumed.
4268
+ #
4269
+ # @option params [required, String] :replication_backfill_id
4270
+ # The ID of the replication backfill to stop.
4271
+ #
4272
+ # @return [Types::StopReplicationBackfillResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4273
+ #
4274
+ # * {Types::StopReplicationBackfillResponse#registry_id #registry_id} => String
4275
+ # * {Types::StopReplicationBackfillResponse#replication_backfill_id #replication_backfill_id} => String
4276
+ # * {Types::StopReplicationBackfillResponse#destination #destination} => Types::ReplicationDestination
4277
+ # * {Types::StopReplicationBackfillResponse#status #status} => String
4278
+ # * {Types::StopReplicationBackfillResponse#started_at #started_at} => Time
4279
+ #
4280
+ # @example Request syntax with placeholder values
4281
+ #
4282
+ # resp = client.stop_replication_backfill({
4283
+ # registry_id: "RegistryId",
4284
+ # replication_backfill_id: "ReplicationBackfillId", # required
4285
+ # })
4286
+ #
4287
+ # @example Response structure
4288
+ #
4289
+ # resp.registry_id #=> String
4290
+ # resp.replication_backfill_id #=> String
4291
+ # resp.destination.region #=> String
4292
+ # resp.destination.registry_id #=> String
4293
+ # resp.status #=> String, one of "PREPARING", "IN_PROGRESS", "COMPLETE", "FAILED", "STOPPING", "STOPPED"
4294
+ # resp.started_at #=> Time
4295
+ #
4296
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/StopReplicationBackfill AWS API Documentation
4297
+ #
4298
+ # @overload stop_replication_backfill(params = {})
4299
+ # @param [Hash] params ({})
4300
+ def stop_replication_backfill(params = {}, options = {})
4301
+ req = build_request(:stop_replication_backfill, params)
4302
+ req.send_request(options)
4303
+ end
4304
+
4000
4305
  # Adds specified tags to a resource with the specified ARN. Existing
4001
4306
  # tags on a resource are not changed if they are not specified in the
4002
4307
  # request parameters.
@@ -4532,7 +4837,7 @@ module Aws::ECR
4532
4837
  tracer: tracer
4533
4838
  )
4534
4839
  context[:gem_name] = 'aws-sdk-ecr'
4535
- context[:gem_version] = '1.137.0'
4840
+ context[:gem_version] = '1.138.0'
4536
4841
  Seahorse::Client::Request.new(handlers, context)
4537
4842
  end
4538
4843
 
@@ -90,6 +90,8 @@ module Aws::ECR
90
90
  DescribePullThroughCacheRulesResponse = Shapes::StructureShape.new(name: 'DescribePullThroughCacheRulesResponse')
91
91
  DescribeRegistryRequest = Shapes::StructureShape.new(name: 'DescribeRegistryRequest')
92
92
  DescribeRegistryResponse = Shapes::StructureShape.new(name: 'DescribeRegistryResponse')
93
+ DescribeReplicationBackfillResultsRequest = Shapes::StructureShape.new(name: 'DescribeReplicationBackfillResultsRequest')
94
+ DescribeReplicationBackfillResultsResponse = Shapes::StructureShape.new(name: 'DescribeReplicationBackfillResultsResponse')
93
95
  DescribeRepositoriesRequest = Shapes::StructureShape.new(name: 'DescribeRepositoriesRequest')
94
96
  DescribeRepositoriesResponse = Shapes::StructureShape.new(name: 'DescribeRepositoriesResponse')
95
97
  DescribeRepositoryCreationTemplatesRequest = Shapes::StructureShape.new(name: 'DescribeRepositoryCreationTemplatesRequest')
@@ -232,6 +234,8 @@ module Aws::ECR
232
234
  ListImagesResponse = Shapes::StructureShape.new(name: 'ListImagesResponse')
233
235
  ListPullTimeUpdateExclusionsRequest = Shapes::StructureShape.new(name: 'ListPullTimeUpdateExclusionsRequest')
234
236
  ListPullTimeUpdateExclusionsResponse = Shapes::StructureShape.new(name: 'ListPullTimeUpdateExclusionsResponse')
237
+ ListReplicationBackfillsRequest = Shapes::StructureShape.new(name: 'ListReplicationBackfillsRequest')
238
+ ListReplicationBackfillsResponse = Shapes::StructureShape.new(name: 'ListReplicationBackfillsResponse')
235
239
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
236
240
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
237
241
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
@@ -239,6 +243,7 @@ module Aws::ECR
239
243
  MediaTypeList = Shapes::ListShape.new(name: 'MediaTypeList')
240
244
  Metric = Shapes::StringShape.new(name: 'Metric')
241
245
  NextToken = Shapes::StringShape.new(name: 'NextToken')
246
+ NonNegativeInteger = Shapes::IntegerShape.new(name: 'NonNegativeInteger')
242
247
  PTCValidateFailure = Shapes::StringShape.new(name: 'PTCValidateFailure')
243
248
  PackageManager = Shapes::StringShape.new(name: 'PackageManager')
244
249
  PackageVulnerabilityDetails = Shapes::StructureShape.new(name: 'PackageVulnerabilityDetails')
@@ -295,10 +300,23 @@ module Aws::ECR
295
300
  RelatedVulnerability = Shapes::StringShape.new(name: 'RelatedVulnerability')
296
301
  Release = Shapes::StringShape.new(name: 'Release')
297
302
  Remediation = Shapes::StructureShape.new(name: 'Remediation')
303
+ ReplicationBackfillError = Shapes::StringShape.new(name: 'ReplicationBackfillError')
304
+ ReplicationBackfillId = Shapes::StringShape.new(name: 'ReplicationBackfillId')
305
+ ReplicationBackfillInProgressException = Shapes::StructureShape.new(name: 'ReplicationBackfillInProgressException')
306
+ ReplicationBackfillInvalidStatusException = Shapes::StructureShape.new(name: 'ReplicationBackfillInvalidStatusException')
307
+ ReplicationBackfillNotFoundException = Shapes::StructureShape.new(name: 'ReplicationBackfillNotFoundException')
308
+ ReplicationBackfillProgress = Shapes::StructureShape.new(name: 'ReplicationBackfillProgress')
309
+ ReplicationBackfillResult = Shapes::StructureShape.new(name: 'ReplicationBackfillResult')
310
+ ReplicationBackfillResultList = Shapes::ListShape.new(name: 'ReplicationBackfillResultList')
311
+ ReplicationBackfillResultStatus = Shapes::StringShape.new(name: 'ReplicationBackfillResultStatus')
312
+ ReplicationBackfillStatus = Shapes::StringShape.new(name: 'ReplicationBackfillStatus')
313
+ ReplicationBackfillSummary = Shapes::StructureShape.new(name: 'ReplicationBackfillSummary')
314
+ ReplicationBackfillSummaryList = Shapes::ListShape.new(name: 'ReplicationBackfillSummaryList')
298
315
  ReplicationConfiguration = Shapes::StructureShape.new(name: 'ReplicationConfiguration')
299
316
  ReplicationDestination = Shapes::StructureShape.new(name: 'ReplicationDestination')
300
317
  ReplicationDestinationList = Shapes::ListShape.new(name: 'ReplicationDestinationList')
301
318
  ReplicationError = Shapes::StringShape.new(name: 'ReplicationError')
319
+ ReplicationErrorList = Shapes::ListShape.new(name: 'ReplicationErrorList')
302
320
  ReplicationRule = Shapes::StructureShape.new(name: 'ReplicationRule')
303
321
  ReplicationRuleList = Shapes::ListShape.new(name: 'ReplicationRuleList')
304
322
  ReplicationStatus = Shapes::StringShape.new(name: 'ReplicationStatus')
@@ -367,7 +385,11 @@ module Aws::ECR
367
385
  StartImageScanResponse = Shapes::StructureShape.new(name: 'StartImageScanResponse')
368
386
  StartLifecyclePolicyPreviewRequest = Shapes::StructureShape.new(name: 'StartLifecyclePolicyPreviewRequest')
369
387
  StartLifecyclePolicyPreviewResponse = Shapes::StructureShape.new(name: 'StartLifecyclePolicyPreviewResponse')
388
+ StartReplicationBackfillRequest = Shapes::StructureShape.new(name: 'StartReplicationBackfillRequest')
389
+ StartReplicationBackfillResponse = Shapes::StructureShape.new(name: 'StartReplicationBackfillResponse')
370
390
  Status = Shapes::StringShape.new(name: 'Status')
391
+ StopReplicationBackfillRequest = Shapes::StructureShape.new(name: 'StopReplicationBackfillRequest')
392
+ StopReplicationBackfillResponse = Shapes::StructureShape.new(name: 'StopReplicationBackfillResponse')
371
393
  String = Shapes::StringShape.new(name: 'String')
372
394
  SubjectIdentifier = Shapes::StructureShape.new(name: 'SubjectIdentifier')
373
395
  Tag = Shapes::StructureShape.new(name: 'Tag')
@@ -702,6 +724,25 @@ module Aws::ECR
702
724
  DescribeRegistryResponse.add_member(:replication_configuration, Shapes::ShapeRef.new(shape: ReplicationConfiguration, location_name: "replicationConfiguration"))
703
725
  DescribeRegistryResponse.struct_class = Types::DescribeRegistryResponse
704
726
 
727
+ DescribeReplicationBackfillResultsRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
728
+ DescribeReplicationBackfillResultsRequest.add_member(:replication_backfill_id, Shapes::ShapeRef.new(shape: ReplicationBackfillId, required: true, location_name: "replicationBackfillId"))
729
+ DescribeReplicationBackfillResultsRequest.add_member(:result_status_filter, Shapes::ShapeRef.new(shape: ReplicationBackfillResultStatus, location_name: "resultStatusFilter"))
730
+ DescribeReplicationBackfillResultsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
731
+ DescribeReplicationBackfillResultsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
732
+ DescribeReplicationBackfillResultsRequest.struct_class = Types::DescribeReplicationBackfillResultsRequest
733
+
734
+ DescribeReplicationBackfillResultsResponse.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
735
+ DescribeReplicationBackfillResultsResponse.add_member(:replication_backfill_id, Shapes::ShapeRef.new(shape: ReplicationBackfillId, location_name: "replicationBackfillId"))
736
+ DescribeReplicationBackfillResultsResponse.add_member(:destination, Shapes::ShapeRef.new(shape: ReplicationDestination, location_name: "destination"))
737
+ DescribeReplicationBackfillResultsResponse.add_member(:status, Shapes::ShapeRef.new(shape: ReplicationBackfillStatus, location_name: "status"))
738
+ DescribeReplicationBackfillResultsResponse.add_member(:failure_code, Shapes::ShapeRef.new(shape: ReplicationBackfillError, location_name: "failureCode"))
739
+ DescribeReplicationBackfillResultsResponse.add_member(:progress, Shapes::ShapeRef.new(shape: ReplicationBackfillProgress, location_name: "progress"))
740
+ DescribeReplicationBackfillResultsResponse.add_member(:results, Shapes::ShapeRef.new(shape: ReplicationBackfillResultList, location_name: "results"))
741
+ DescribeReplicationBackfillResultsResponse.add_member(:started_at, Shapes::ShapeRef.new(shape: Date, location_name: "startedAt"))
742
+ DescribeReplicationBackfillResultsResponse.add_member(:ended_at, Shapes::ShapeRef.new(shape: Date, location_name: "endedAt"))
743
+ DescribeReplicationBackfillResultsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
744
+ DescribeReplicationBackfillResultsResponse.struct_class = Types::DescribeReplicationBackfillResultsResponse
745
+
705
746
  DescribeRepositoriesRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
706
747
  DescribeRepositoriesRequest.add_member(:repository_names, Shapes::ShapeRef.new(shape: RepositoryNameList, location_name: "repositoryNames"))
707
748
  DescribeRepositoriesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
@@ -1093,6 +1134,16 @@ module Aws::ECR
1093
1134
  ListPullTimeUpdateExclusionsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
1094
1135
  ListPullTimeUpdateExclusionsResponse.struct_class = Types::ListPullTimeUpdateExclusionsResponse
1095
1136
 
1137
+ ListReplicationBackfillsRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
1138
+ ListReplicationBackfillsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: FiftyMaxResults, location_name: "maxResults"))
1139
+ ListReplicationBackfillsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
1140
+ ListReplicationBackfillsRequest.struct_class = Types::ListReplicationBackfillsRequest
1141
+
1142
+ ListReplicationBackfillsResponse.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
1143
+ ListReplicationBackfillsResponse.add_member(:backfills, Shapes::ShapeRef.new(shape: ReplicationBackfillSummaryList, location_name: "backfills"))
1144
+ ListReplicationBackfillsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
1145
+ ListReplicationBackfillsResponse.struct_class = Types::ListReplicationBackfillsResponse
1146
+
1096
1147
  ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "resourceArn"))
1097
1148
  ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
1098
1149
 
@@ -1251,6 +1302,41 @@ module Aws::ECR
1251
1302
  Remediation.add_member(:recommendation, Shapes::ShapeRef.new(shape: Recommendation, location_name: "recommendation"))
1252
1303
  Remediation.struct_class = Types::Remediation
1253
1304
 
1305
+ ReplicationBackfillInProgressException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
1306
+ ReplicationBackfillInProgressException.struct_class = Types::ReplicationBackfillInProgressException
1307
+
1308
+ ReplicationBackfillInvalidStatusException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
1309
+ ReplicationBackfillInvalidStatusException.struct_class = Types::ReplicationBackfillInvalidStatusException
1310
+
1311
+ ReplicationBackfillNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
1312
+ ReplicationBackfillNotFoundException.struct_class = Types::ReplicationBackfillNotFoundException
1313
+
1314
+ ReplicationBackfillProgress.add_member(:total_replication_count, Shapes::ShapeRef.new(shape: NonNegativeInteger, required: true, location_name: "totalReplicationCount"))
1315
+ ReplicationBackfillProgress.add_member(:completed_replication_count, Shapes::ShapeRef.new(shape: NonNegativeInteger, required: true, location_name: "completedReplicationCount"))
1316
+ ReplicationBackfillProgress.add_member(:failed_replication_count, Shapes::ShapeRef.new(shape: NonNegativeInteger, required: true, location_name: "failedReplicationCount"))
1317
+ ReplicationBackfillProgress.add_member(:failure_codes, Shapes::ShapeRef.new(shape: ReplicationErrorList, required: true, location_name: "failureCodes"))
1318
+ ReplicationBackfillProgress.struct_class = Types::ReplicationBackfillProgress
1319
+
1320
+ ReplicationBackfillResult.add_member(:repository_name, Shapes::ShapeRef.new(shape: RepositoryName, required: true, location_name: "repositoryName"))
1321
+ ReplicationBackfillResult.add_member(:image_id, Shapes::ShapeRef.new(shape: ImageIdentifier, required: true, location_name: "imageId"))
1322
+ ReplicationBackfillResult.add_member(:status, Shapes::ShapeRef.new(shape: ReplicationBackfillResultStatus, required: true, location_name: "status"))
1323
+ ReplicationBackfillResult.add_member(:failure_code, Shapes::ShapeRef.new(shape: ReplicationError, location_name: "failureCode"))
1324
+ ReplicationBackfillResult.add_member(:sub_image_failure_codes, Shapes::ShapeRef.new(shape: ReplicationErrorList, location_name: "subImageFailureCodes"))
1325
+ ReplicationBackfillResult.struct_class = Types::ReplicationBackfillResult
1326
+
1327
+ ReplicationBackfillResultList.member = Shapes::ShapeRef.new(shape: ReplicationBackfillResult)
1328
+
1329
+ ReplicationBackfillSummary.add_member(:replication_backfill_id, Shapes::ShapeRef.new(shape: ReplicationBackfillId, required: true, location_name: "replicationBackfillId"))
1330
+ ReplicationBackfillSummary.add_member(:destination, Shapes::ShapeRef.new(shape: ReplicationDestination, required: true, location_name: "destination"))
1331
+ ReplicationBackfillSummary.add_member(:status, Shapes::ShapeRef.new(shape: ReplicationBackfillStatus, required: true, location_name: "status"))
1332
+ ReplicationBackfillSummary.add_member(:failure_code, Shapes::ShapeRef.new(shape: ReplicationBackfillError, location_name: "failureCode"))
1333
+ ReplicationBackfillSummary.add_member(:progress, Shapes::ShapeRef.new(shape: ReplicationBackfillProgress, location_name: "progress"))
1334
+ ReplicationBackfillSummary.add_member(:started_at, Shapes::ShapeRef.new(shape: Date, required: true, location_name: "startedAt"))
1335
+ ReplicationBackfillSummary.add_member(:ended_at, Shapes::ShapeRef.new(shape: Date, location_name: "endedAt"))
1336
+ ReplicationBackfillSummary.struct_class = Types::ReplicationBackfillSummary
1337
+
1338
+ ReplicationBackfillSummaryList.member = Shapes::ShapeRef.new(shape: ReplicationBackfillSummary)
1339
+
1254
1340
  ReplicationConfiguration.add_member(:rules, Shapes::ShapeRef.new(shape: ReplicationRuleList, required: true, location_name: "rules"))
1255
1341
  ReplicationConfiguration.struct_class = Types::ReplicationConfiguration
1256
1342
 
@@ -1260,6 +1346,8 @@ module Aws::ECR
1260
1346
 
1261
1347
  ReplicationDestinationList.member = Shapes::ShapeRef.new(shape: ReplicationDestination)
1262
1348
 
1349
+ ReplicationErrorList.member = Shapes::ShapeRef.new(shape: ReplicationError)
1350
+
1263
1351
  ReplicationRule.add_member(:destinations, Shapes::ShapeRef.new(shape: ReplicationDestinationList, required: true, location_name: "destinations"))
1264
1352
  ReplicationRule.add_member(:repository_filters, Shapes::ShapeRef.new(shape: RepositoryFilterList, location_name: "repositoryFilters"))
1265
1353
  ReplicationRule.struct_class = Types::ReplicationRule
@@ -1413,6 +1501,28 @@ module Aws::ECR
1413
1501
  StartLifecyclePolicyPreviewResponse.add_member(:status, Shapes::ShapeRef.new(shape: LifecyclePolicyPreviewStatus, location_name: "status"))
1414
1502
  StartLifecyclePolicyPreviewResponse.struct_class = Types::StartLifecyclePolicyPreviewResponse
1415
1503
 
1504
+ StartReplicationBackfillRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
1505
+ StartReplicationBackfillRequest.add_member(:destination, Shapes::ShapeRef.new(shape: ReplicationDestination, required: true, location_name: "destination"))
1506
+ StartReplicationBackfillRequest.struct_class = Types::StartReplicationBackfillRequest
1507
+
1508
+ StartReplicationBackfillResponse.add_member(:replication_backfill_id, Shapes::ShapeRef.new(shape: ReplicationBackfillId, location_name: "replicationBackfillId"))
1509
+ StartReplicationBackfillResponse.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
1510
+ StartReplicationBackfillResponse.add_member(:destination, Shapes::ShapeRef.new(shape: ReplicationDestination, location_name: "destination"))
1511
+ StartReplicationBackfillResponse.add_member(:status, Shapes::ShapeRef.new(shape: ReplicationBackfillStatus, location_name: "status"))
1512
+ StartReplicationBackfillResponse.add_member(:started_at, Shapes::ShapeRef.new(shape: Date, location_name: "startedAt"))
1513
+ StartReplicationBackfillResponse.struct_class = Types::StartReplicationBackfillResponse
1514
+
1515
+ StopReplicationBackfillRequest.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
1516
+ StopReplicationBackfillRequest.add_member(:replication_backfill_id, Shapes::ShapeRef.new(shape: ReplicationBackfillId, required: true, location_name: "replicationBackfillId"))
1517
+ StopReplicationBackfillRequest.struct_class = Types::StopReplicationBackfillRequest
1518
+
1519
+ StopReplicationBackfillResponse.add_member(:registry_id, Shapes::ShapeRef.new(shape: RegistryId, location_name: "registryId"))
1520
+ StopReplicationBackfillResponse.add_member(:replication_backfill_id, Shapes::ShapeRef.new(shape: ReplicationBackfillId, location_name: "replicationBackfillId"))
1521
+ StopReplicationBackfillResponse.add_member(:destination, Shapes::ShapeRef.new(shape: ReplicationDestination, location_name: "destination"))
1522
+ StopReplicationBackfillResponse.add_member(:status, Shapes::ShapeRef.new(shape: ReplicationBackfillStatus, location_name: "status"))
1523
+ StopReplicationBackfillResponse.add_member(:started_at, Shapes::ShapeRef.new(shape: Date, location_name: "startedAt"))
1524
+ StopReplicationBackfillResponse.struct_class = Types::StopReplicationBackfillResponse
1525
+
1416
1526
  SubjectIdentifier.add_member(:image_digest, Shapes::ShapeRef.new(shape: ImageDigest, required: true, location_name: "imageDigest"))
1417
1527
  SubjectIdentifier.struct_class = Types::SubjectIdentifier
1418
1528
 
@@ -1886,6 +1996,24 @@ module Aws::ECR
1886
1996
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1887
1997
  end)
1888
1998
 
1999
+ api.add_operation(:describe_replication_backfill_results, Seahorse::Model::Operation.new.tap do |o|
2000
+ o.name = "DescribeReplicationBackfillResults"
2001
+ o.http_method = "POST"
2002
+ o.http_request_uri = "/"
2003
+ o.input = Shapes::ShapeRef.new(shape: DescribeReplicationBackfillResultsRequest)
2004
+ o.output = Shapes::ShapeRef.new(shape: DescribeReplicationBackfillResultsResponse)
2005
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
2006
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2007
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
2008
+ o.errors << Shapes::ShapeRef.new(shape: ReplicationBackfillNotFoundException)
2009
+ o[:pager] = Aws::Pager.new(
2010
+ limit_key: "max_results",
2011
+ tokens: {
2012
+ "next_token" => "next_token"
2013
+ }
2014
+ )
2015
+ end)
2016
+
1889
2017
  api.add_operation(:describe_repositories, Seahorse::Model::Operation.new.tap do |o|
1890
2018
  o.name = "DescribeRepositories"
1891
2019
  o.http_method = "POST"
@@ -2088,6 +2216,23 @@ module Aws::ECR
2088
2216
  o.errors << Shapes::ShapeRef.new(shape: ServerException)
2089
2217
  end)
2090
2218
 
2219
+ api.add_operation(:list_replication_backfills, Seahorse::Model::Operation.new.tap do |o|
2220
+ o.name = "ListReplicationBackfills"
2221
+ o.http_method = "POST"
2222
+ o.http_request_uri = "/"
2223
+ o.input = Shapes::ShapeRef.new(shape: ListReplicationBackfillsRequest)
2224
+ o.output = Shapes::ShapeRef.new(shape: ListReplicationBackfillsResponse)
2225
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
2226
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2227
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
2228
+ o[:pager] = Aws::Pager.new(
2229
+ limit_key: "max_results",
2230
+ tokens: {
2231
+ "next_token" => "next_token"
2232
+ }
2233
+ )
2234
+ end)
2235
+
2091
2236
  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
2092
2237
  o.name = "ListTagsForResource"
2093
2238
  o.http_method = "POST"
@@ -2263,6 +2408,32 @@ module Aws::ECR
2263
2408
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
2264
2409
  end)
2265
2410
 
2411
+ api.add_operation(:start_replication_backfill, Seahorse::Model::Operation.new.tap do |o|
2412
+ o.name = "StartReplicationBackfill"
2413
+ o.http_method = "POST"
2414
+ o.http_request_uri = "/"
2415
+ o.input = Shapes::ShapeRef.new(shape: StartReplicationBackfillRequest)
2416
+ o.output = Shapes::ShapeRef.new(shape: StartReplicationBackfillResponse)
2417
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
2418
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2419
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
2420
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
2421
+ o.errors << Shapes::ShapeRef.new(shape: ReplicationBackfillInProgressException)
2422
+ end)
2423
+
2424
+ api.add_operation(:stop_replication_backfill, Seahorse::Model::Operation.new.tap do |o|
2425
+ o.name = "StopReplicationBackfill"
2426
+ o.http_method = "POST"
2427
+ o.http_request_uri = "/"
2428
+ o.input = Shapes::ShapeRef.new(shape: StopReplicationBackfillRequest)
2429
+ o.output = Shapes::ShapeRef.new(shape: StopReplicationBackfillResponse)
2430
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
2431
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2432
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
2433
+ o.errors << Shapes::ShapeRef.new(shape: ReplicationBackfillNotFoundException)
2434
+ o.errors << Shapes::ShapeRef.new(shape: ReplicationBackfillInvalidStatusException)
2435
+ end)
2436
+
2266
2437
  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
2267
2438
  o.name = "TagResource"
2268
2439
  o.http_method = "POST"