aws-sdk-ecr 1.0.0.rc1 → 1.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 550c05cc325f6d13ec968bd24d30ebdab9798bea
4
- data.tar.gz: 8808b15bb4cceea1e70952a38f464d958f46a48c
3
+ metadata.gz: 2eb89277ae0faa7bc76cde901a29e94901d99455
4
+ data.tar.gz: 75ccd4f50b56459417ecad9560af29054a164b27
5
5
  SHA512:
6
- metadata.gz: bfaa4b586b0527b4cc9852a9f65207a2e8be95dfcfc2ab380c78b0c1f3bd4b9b42bd8f2cb1e93703a23f50774c31acc50a271d063cbbfd4c4db4cb8967c781bc
7
- data.tar.gz: 2320655cc1b4e281a6f0105ad25a590df314883bdf5cd6110859922b30c585fda3d51e1591abdec108aa6b80f6aee2dcb19e40ab0d684a43bdefc532e48df11b
6
+ metadata.gz: 4deafaa10ca8f4ffab4298b69e9bd66a00b397cf7e419935886e6ad1632f10b7277e638ccb2cb440952cc352ba54ef9ce7aab7ecd1df69a459a70f02e8e1f3c3
7
+ data.tar.gz: c7578d7e15a89bce9ffbdfd5586ff67c580a2f21dcc995cde374e539c05e72d3e16adc885db9e30e8a28ad425ee1d2f06d0452f825e22bb06650d277d697cdb2
@@ -1,6 +1,6 @@
1
1
  # WARNING ABOUT GENERATED CODE
2
2
  #
3
- # This file is generated. See the contributing for info on making contributions:
3
+ # This file is generated. See the contributing guide for more information:
4
4
  # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
5
  #
6
6
  # WARNING ABOUT GENERATED CODE
@@ -1,6 +1,6 @@
1
1
  # WARNING ABOUT GENERATED CODE
2
2
  #
3
- # This file is generated. See the contributing for info on making contributions:
3
+ # This file is generated. See the contributing guide for more information:
4
4
  # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
5
  #
6
6
  # WARNING ABOUT GENERATED CODE
@@ -23,904 +23,1062 @@ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
23
23
 
24
24
  Aws::Plugins::GlobalConfiguration.add_identifier(:ecr)
25
25
 
26
- module Aws
27
- module ECR
28
- class Client < Seahorse::Client::Base
29
-
30
- include Aws::ClientStubs
31
-
32
- @identifier = :ecr
33
-
34
- set_api(ClientApi::API)
35
-
36
- add_plugin(Seahorse::Client::Plugins::ContentLength)
37
- add_plugin(Aws::Plugins::CredentialsConfiguration)
38
- add_plugin(Aws::Plugins::Logging)
39
- add_plugin(Aws::Plugins::ParamConverter)
40
- add_plugin(Aws::Plugins::ParamValidator)
41
- add_plugin(Aws::Plugins::UserAgent)
42
- add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
- add_plugin(Aws::Plugins::RetryErrors)
44
- add_plugin(Aws::Plugins::GlobalConfiguration)
45
- add_plugin(Aws::Plugins::RegionalEndpoint)
46
- add_plugin(Aws::Plugins::ResponsePaging)
47
- add_plugin(Aws::Plugins::StubResponses)
48
- add_plugin(Aws::Plugins::IdempotencyToken)
49
- add_plugin(Aws::Plugins::SignatureV4)
50
- add_plugin(Aws::Plugins::Protocols::JsonRpc)
51
-
52
- # @option options [required, Aws::CredentialProvider] :credentials
53
- # Your AWS credentials. This can be an instance of any one of the
54
- # following classes:
55
- #
56
- # * `Aws::Credentials` - Used for configuring static, non-refreshing
57
- # credentials.
58
- #
59
- # * `Aws::InstanceProfileCredentials` - Used for loading credentials
60
- # from an EC2 IMDS on an EC2 instance.
61
- #
62
- # * `Aws::SharedCredentials` - Used for loading credentials from a
63
- # shared file, such as `~/.aws/config`.
64
- #
65
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
66
- #
67
- # When `:credentials` are not configured directly, the following
68
- # locations will be searched for credentials:
69
- #
70
- # * `Aws.config[:credentials]`
71
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
72
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
73
- # * `~/.aws/credentials`
74
- # * `~/.aws/config`
75
- # * EC2 IMDS instance profile - When used by default, the timeouts are
76
- # very aggressive. Construct and pass an instance of
77
- # `Aws::InstanceProfileCredentails` to enable retries and extended
78
- # timeouts.
79
- # @option options [required, String] :region
80
- # The AWS region to connect to. The configured `:region` is
81
- # used to determine the service `:endpoint`. When not passed,
82
- # a default `:region` is search for in the following locations:
83
- #
84
- # * `Aws.config[:region]`
85
- # * `ENV['AWS_REGION']`
86
- # * `ENV['AMAZON_REGION']`
87
- # * `ENV['AWS_DEFAULT_REGION']`
88
- # * `~/.aws/credentials`
89
- # * `~/.aws/config`
90
- # @option options [String] :access_key_id
91
- # @option options [Boolean] :convert_params (true)
92
- # When `true`, an attempt is made to coerce request parameters into
93
- # the required types.
94
- # @option options [String] :endpoint
95
- # The client endpoint is normally constructed from the `:region`
96
- # option. You should only configure an `:endpoint` when connecting
97
- # to test endpoints. This should be avalid HTTP(S) URI.
98
- # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
99
- # The log formatter.
100
- # @option options [Symbol] :log_level (:info)
101
- # The log level to send messages to the `:logger` at.
102
- # @option options [Logger] :logger
103
- # The Logger instance to send log messages to. If this option
104
- # is not set, logging will be disabled.
105
- # @option options [String] :profile ("default")
106
- # Used when loading credentials from the shared credentials file
107
- # at HOME/.aws/credentials. When not specified, 'default' is used.
108
- # @option options [Integer] :retry_limit (3)
109
- # The maximum number of times to retry failed requests. Only
110
- # ~ 500 level server errors and certain ~ 400 level client errors
111
- # are retried. Generally, these are throttling errors, data
112
- # checksum errors, networking errors, timeout errors and auth
113
- # errors from expired credentials.
114
- # @option options [String] :secret_access_key
115
- # @option options [String] :session_token
116
- # @option options [Boolean] :simple_json (false)
117
- # Disables request parameter conversion, validation, and formatting.
118
- # Also disable response data type conversions. This option is useful
119
- # when you want to ensure the highest level of performance by
120
- # avoiding overhead of walking request parameters and response data
121
- # structures.
122
- #
123
- # When `:simple_json` is enabled, the request parameters hash must
124
- # be formatted exactly as the DynamoDB API expects.
125
- # @option options [Boolean] :stub_responses (false)
126
- # Causes the client to return stubbed responses. By default
127
- # fake responses are generated and returned. You can specify
128
- # the response data to return or errors to raise by calling
129
- # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
130
- #
131
- # ** Please note ** When response stubbing is enabled, no HTTP
132
- # requests are made, and retries are disabled.
133
- # @option options [Boolean] :validate_params (true)
134
- # When `true`, request parameters are validated before
135
- # sending the request.
136
- def initialize(*args)
137
- super
138
- end
26
+ module Aws::ECR
27
+ class Client < Seahorse::Client::Base
139
28
 
140
- # @!group API Operations
141
-
142
- # Check the availability of multiple image layers in a specified
143
- # registry and repository.
144
- #
145
- # <note markdown="1"> This operation is used by the Amazon ECR proxy, and it is not intended
146
- # for general use by customers. Use the `docker` CLI to pull, tag, and
147
- # push images.
148
- #
149
- # </note>
150
- # @option params [String] :registry_id
151
- # The AWS account ID associated with the registry that contains the
152
- # image layers to check. If you do not specify a registry, the default
153
- # registry is assumed.
154
- # @option params [required, String] :repository_name
155
- # The name of the repository that is associated with the image layers to
156
- # check.
157
- # @option params [required, Array<String>] :layer_digests
158
- # The digests of the image layers to check.
159
- # @return [Types::BatchCheckLayerAvailabilityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
160
- #
161
- # * {Types::BatchCheckLayerAvailabilityResponse#layers #layers} => Array&lt;Types::Layer&gt;
162
- # * {Types::BatchCheckLayerAvailabilityResponse#failures #failures} => Array&lt;Types::LayerFailure&gt;
163
- #
164
- # @example Request syntax with placeholder values
165
- # resp = client.batch_check_layer_availability({
166
- # registry_id: "RegistryId",
167
- # repository_name: "RepositoryName", # required
168
- # layer_digests: ["BatchedOperationLayerDigest"], # required
169
- # })
170
- #
171
- # @example Response structure
172
- # resp.layers #=> Array
173
- # resp.layers[0].layer_digest #=> String
174
- # resp.layers[0].layer_availability #=> String, one of "AVAILABLE", "UNAVAILABLE"
175
- # resp.layers[0].layer_size #=> Integer
176
- # resp.failures #=> Array
177
- # resp.failures[0].layer_digest #=> String
178
- # resp.failures[0].failure_code #=> String, one of "InvalidLayerDigest", "MissingLayerDigest"
179
- # resp.failures[0].failure_reason #=> String
180
- # @overload batch_check_layer_availability(params = {})
181
- # @param [Hash] params ({})
182
- def batch_check_layer_availability(params = {}, options = {})
183
- req = build_request(:batch_check_layer_availability, params)
184
- req.send_request(options)
185
- end
29
+ include Aws::ClientStubs
186
30
 
187
- # Deletes a list of specified images within a specified repository.
188
- # Images are specified with either `imageTag` or `imageDigest`.
189
- # @option params [String] :registry_id
190
- # The AWS account ID associated with the registry that contains the
191
- # image to delete. If you do not specify a registry, the default
192
- # registry is assumed.
193
- # @option params [required, String] :repository_name
194
- # The repository that contains the image to delete.
195
- # @option params [required, Array<Types::ImageIdentifier>] :image_ids
196
- # A list of image ID references that correspond to images to delete. The
197
- # format of the `imageIds` reference is `imageTag=tag` or
198
- # `imageDigest=digest`.
199
- # @return [Types::BatchDeleteImageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
200
- #
201
- # * {Types::BatchDeleteImageResponse#image_ids #imageIds} => Array&lt;Types::ImageIdentifier&gt;
202
- # * {Types::BatchDeleteImageResponse#failures #failures} => Array&lt;Types::ImageFailure&gt;
203
- #
204
- # @example Request syntax with placeholder values
205
- # resp = client.batch_delete_image({
206
- # registry_id: "RegistryId",
207
- # repository_name: "RepositoryName", # required
208
- # image_ids: [ # required
209
- # {
210
- # image_digest: "ImageDigest",
211
- # image_tag: "ImageTag",
212
- # },
213
- # ],
214
- # })
215
- #
216
- # @example Response structure
217
- # resp.image_ids #=> Array
218
- # resp.image_ids[0].image_digest #=> String
219
- # resp.image_ids[0].image_tag #=> String
220
- # resp.failures #=> Array
221
- # resp.failures[0].image_id.image_digest #=> String
222
- # resp.failures[0].image_id.image_tag #=> String
223
- # resp.failures[0].failure_code #=> String, one of "InvalidImageDigest", "InvalidImageTag", "ImageTagDoesNotMatchDigest", "ImageNotFound", "MissingDigestAndTag"
224
- # resp.failures[0].failure_reason #=> String
225
- # @overload batch_delete_image(params = {})
226
- # @param [Hash] params ({})
227
- def batch_delete_image(params = {}, options = {})
228
- req = build_request(:batch_delete_image, params)
229
- req.send_request(options)
230
- end
31
+ @identifier = :ecr
231
32
 
232
- # Gets detailed information for specified images within a specified
233
- # repository. Images are specified with either `imageTag` or
234
- # `imageDigest`.
235
- # @option params [String] :registry_id
236
- # The AWS account ID associated with the registry that contains the
237
- # images to describe. If you do not specify a registry, the default
238
- # registry is assumed.
239
- # @option params [required, String] :repository_name
240
- # The repository that contains the images to describe.
241
- # @option params [required, Array<Types::ImageIdentifier>] :image_ids
242
- # A list of image ID references that correspond to images to describe.
243
- # The format of the `imageIds` reference is `imageTag=tag` or
244
- # `imageDigest=digest`.
245
- # @return [Types::BatchGetImageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
246
- #
247
- # * {Types::BatchGetImageResponse#images #images} => Array&lt;Types::Image&gt;
248
- # * {Types::BatchGetImageResponse#failures #failures} => Array&lt;Types::ImageFailure&gt;
249
- #
250
- # @example Request syntax with placeholder values
251
- # resp = client.batch_get_image({
252
- # registry_id: "RegistryId",
253
- # repository_name: "RepositoryName", # required
254
- # image_ids: [ # required
255
- # {
256
- # image_digest: "ImageDigest",
257
- # image_tag: "ImageTag",
258
- # },
259
- # ],
260
- # })
261
- #
262
- # @example Response structure
263
- # resp.images #=> Array
264
- # resp.images[0].registry_id #=> String
265
- # resp.images[0].repository_name #=> String
266
- # resp.images[0].image_id.image_digest #=> String
267
- # resp.images[0].image_id.image_tag #=> String
268
- # resp.images[0].image_manifest #=> String
269
- # resp.failures #=> Array
270
- # resp.failures[0].image_id.image_digest #=> String
271
- # resp.failures[0].image_id.image_tag #=> String
272
- # resp.failures[0].failure_code #=> String, one of "InvalidImageDigest", "InvalidImageTag", "ImageTagDoesNotMatchDigest", "ImageNotFound", "MissingDigestAndTag"
273
- # resp.failures[0].failure_reason #=> String
274
- # @overload batch_get_image(params = {})
275
- # @param [Hash] params ({})
276
- def batch_get_image(params = {}, options = {})
277
- req = build_request(:batch_get_image, params)
278
- req.send_request(options)
279
- end
33
+ set_api(ClientApi::API)
280
34
 
281
- # Inform Amazon ECR that the image layer upload for a specified
282
- # registry, repository name, and upload ID, has completed. You can
283
- # optionally provide a `sha256` digest of the image layer for data
284
- # validation purposes.
285
- #
286
- # <note markdown="1"> This operation is used by the Amazon ECR proxy, and it is not intended
287
- # for general use by customers. Use the `docker` CLI to pull, tag, and
288
- # push images.
289
- #
290
- # </note>
291
- # @option params [String] :registry_id
292
- # The AWS account ID associated with the registry to which to upload
293
- # layers. If you do not specify a registry, the default registry is
294
- # assumed.
295
- # @option params [required, String] :repository_name
296
- # The name of the repository to associate with the image layer.
297
- # @option params [required, String] :upload_id
298
- # The upload ID from a previous InitiateLayerUpload operation to
299
- # associate with the image layer.
300
- # @option params [required, Array<String>] :layer_digests
301
- # The `sha256` digest of the image layer.
302
- # @return [Types::CompleteLayerUploadResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
303
- #
304
- # * {Types::CompleteLayerUploadResponse#registry_id #registryId} => String
305
- # * {Types::CompleteLayerUploadResponse#repository_name #repositoryName} => String
306
- # * {Types::CompleteLayerUploadResponse#upload_id #uploadId} => String
307
- # * {Types::CompleteLayerUploadResponse#layer_digest #layerDigest} => String
308
- #
309
- # @example Request syntax with placeholder values
310
- # resp = client.complete_layer_upload({
311
- # registry_id: "RegistryId",
312
- # repository_name: "RepositoryName", # required
313
- # upload_id: "UploadId", # required
314
- # layer_digests: ["LayerDigest"], # required
315
- # })
316
- #
317
- # @example Response structure
318
- # resp.registry_id #=> String
319
- # resp.repository_name #=> String
320
- # resp.upload_id #=> String
321
- # resp.layer_digest #=> String
322
- # @overload complete_layer_upload(params = {})
323
- # @param [Hash] params ({})
324
- def complete_layer_upload(params = {}, options = {})
325
- req = build_request(:complete_layer_upload, params)
326
- req.send_request(options)
327
- end
35
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
36
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
37
+ add_plugin(Aws::Plugins::Logging)
38
+ add_plugin(Aws::Plugins::ParamConverter)
39
+ add_plugin(Aws::Plugins::ParamValidator)
40
+ add_plugin(Aws::Plugins::UserAgent)
41
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
42
+ add_plugin(Aws::Plugins::RetryErrors)
43
+ add_plugin(Aws::Plugins::GlobalConfiguration)
44
+ add_plugin(Aws::Plugins::RegionalEndpoint)
45
+ add_plugin(Aws::Plugins::ResponsePaging)
46
+ add_plugin(Aws::Plugins::StubResponses)
47
+ add_plugin(Aws::Plugins::IdempotencyToken)
48
+ add_plugin(Aws::Plugins::SignatureV4)
49
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
328
50
 
329
- # Creates an image repository.
330
- # @option params [required, String] :repository_name
331
- # The name to use for the repository. The repository name may be
332
- # specified on its own (such as `nginx-web-app`) or it can be prepended
333
- # with a namespace to group the repository into a category (such as
334
- # `project-a/nginx-web-app`).
335
- # @return [Types::CreateRepositoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
336
- #
337
- # * {Types::CreateRepositoryResponse#repository #repository} => Types::Repository
338
- #
339
- # @example Request syntax with placeholder values
340
- # resp = client.create_repository({
341
- # repository_name: "RepositoryName", # required
342
- # })
343
- #
344
- # @example Response structure
345
- # resp.repository.repository_arn #=> String
346
- # resp.repository.registry_id #=> String
347
- # resp.repository.repository_name #=> String
348
- # resp.repository.repository_uri #=> String
349
- # resp.repository.created_at #=> Time
350
- # @overload create_repository(params = {})
351
- # @param [Hash] params ({})
352
- def create_repository(params = {}, options = {})
353
- req = build_request(:create_repository, params)
354
- req.send_request(options)
355
- end
51
+ # @option options [required, Aws::CredentialProvider] :credentials
52
+ # Your AWS credentials. This can be an instance of any one of the
53
+ # following classes:
54
+ #
55
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
56
+ # credentials.
57
+ #
58
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
59
+ # from an EC2 IMDS on an EC2 instance.
60
+ #
61
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
62
+ # shared file, such as `~/.aws/config`.
63
+ #
64
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
65
+ #
66
+ # When `:credentials` are not configured directly, the following
67
+ # locations will be searched for credentials:
68
+ #
69
+ # * `Aws.config[:credentials]`
70
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
71
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
72
+ # * `~/.aws/credentials`
73
+ # * `~/.aws/config`
74
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
75
+ # very aggressive. Construct and pass an instance of
76
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
77
+ # timeouts.
78
+ #
79
+ # @option options [required, String] :region
80
+ # The AWS region to connect to. The configured `:region` is
81
+ # used to determine the service `:endpoint`. When not passed,
82
+ # a default `:region` is search for in the following locations:
83
+ #
84
+ # * `Aws.config[:region]`
85
+ # * `ENV['AWS_REGION']`
86
+ # * `ENV['AMAZON_REGION']`
87
+ # * `ENV['AWS_DEFAULT_REGION']`
88
+ # * `~/.aws/credentials`
89
+ # * `~/.aws/config`
90
+ #
91
+ # @option options [String] :access_key_id
92
+ #
93
+ # @option options [Boolean] :convert_params (true)
94
+ # When `true`, an attempt is made to coerce request parameters into
95
+ # the required types.
96
+ #
97
+ # @option options [String] :endpoint
98
+ # The client endpoint is normally constructed from the `:region`
99
+ # option. You should only configure an `:endpoint` when connecting
100
+ # to test endpoints. This should be avalid HTTP(S) URI.
101
+ #
102
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
103
+ # The log formatter.
104
+ #
105
+ # @option options [Symbol] :log_level (:info)
106
+ # The log level to send messages to the `:logger` at.
107
+ #
108
+ # @option options [Logger] :logger
109
+ # The Logger instance to send log messages to. If this option
110
+ # is not set, logging will be disabled.
111
+ #
112
+ # @option options [String] :profile ("default")
113
+ # Used when loading credentials from the shared credentials file
114
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
115
+ #
116
+ # @option options [Integer] :retry_limit (3)
117
+ # The maximum number of times to retry failed requests. Only
118
+ # ~ 500 level server errors and certain ~ 400 level client errors
119
+ # are retried. Generally, these are throttling errors, data
120
+ # checksum errors, networking errors, timeout errors and auth
121
+ # errors from expired credentials.
122
+ #
123
+ # @option options [String] :secret_access_key
124
+ #
125
+ # @option options [String] :session_token
126
+ #
127
+ # @option options [Boolean] :simple_json (false)
128
+ # Disables request parameter conversion, validation, and formatting.
129
+ # Also disable response data type conversions. This option is useful
130
+ # when you want to ensure the highest level of performance by
131
+ # avoiding overhead of walking request parameters and response data
132
+ # structures.
133
+ #
134
+ # When `:simple_json` is enabled, the request parameters hash must
135
+ # be formatted exactly as the DynamoDB API expects.
136
+ #
137
+ # @option options [Boolean] :stub_responses (false)
138
+ # Causes the client to return stubbed responses. By default
139
+ # fake responses are generated and returned. You can specify
140
+ # the response data to return or errors to raise by calling
141
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
142
+ #
143
+ # ** Please note ** When response stubbing is enabled, no HTTP
144
+ # requests are made, and retries are disabled.
145
+ #
146
+ # @option options [Boolean] :validate_params (true)
147
+ # When `true`, request parameters are validated before
148
+ # sending the request.
149
+ #
150
+ def initialize(*args)
151
+ super
152
+ end
356
153
 
357
- # Deletes an existing image repository. If a repository contains images,
358
- # you must use the `force` option to delete it.
359
- # @option params [String] :registry_id
360
- # The AWS account ID associated with the registry that contains the
361
- # repository to delete. If you do not specify a registry, the default
362
- # registry is assumed.
363
- # @option params [required, String] :repository_name
364
- # The name of the repository to delete.
365
- # @option params [Boolean] :force
366
- # Force the deletion of the repository if it contains images.
367
- # @return [Types::DeleteRepositoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
368
- #
369
- # * {Types::DeleteRepositoryResponse#repository #repository} => Types::Repository
370
- #
371
- # @example Request syntax with placeholder values
372
- # resp = client.delete_repository({
373
- # registry_id: "RegistryId",
374
- # repository_name: "RepositoryName", # required
375
- # force: false,
376
- # })
377
- #
378
- # @example Response structure
379
- # resp.repository.repository_arn #=> String
380
- # resp.repository.registry_id #=> String
381
- # resp.repository.repository_name #=> String
382
- # resp.repository.repository_uri #=> String
383
- # resp.repository.created_at #=> Time
384
- # @overload delete_repository(params = {})
385
- # @param [Hash] params ({})
386
- def delete_repository(params = {}, options = {})
387
- req = build_request(:delete_repository, params)
388
- req.send_request(options)
389
- end
154
+ # @!group API Operations
390
155
 
391
- # Deletes the repository policy from a specified repository.
392
- # @option params [String] :registry_id
393
- # The AWS account ID associated with the registry that contains the
394
- # repository policy to delete. If you do not specify a registry, the
395
- # default registry is assumed.
396
- # @option params [required, String] :repository_name
397
- # The name of the repository that is associated with the repository
398
- # policy to delete.
399
- # @return [Types::DeleteRepositoryPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
400
- #
401
- # * {Types::DeleteRepositoryPolicyResponse#registry_id #registryId} => String
402
- # * {Types::DeleteRepositoryPolicyResponse#repository_name #repositoryName} => String
403
- # * {Types::DeleteRepositoryPolicyResponse#policy_text #policyText} => String
404
- #
405
- # @example Request syntax with placeholder values
406
- # resp = client.delete_repository_policy({
407
- # registry_id: "RegistryId",
408
- # repository_name: "RepositoryName", # required
409
- # })
410
- #
411
- # @example Response structure
412
- # resp.registry_id #=> String
413
- # resp.repository_name #=> String
414
- # resp.policy_text #=> String
415
- # @overload delete_repository_policy(params = {})
416
- # @param [Hash] params ({})
417
- def delete_repository_policy(params = {}, options = {})
418
- req = build_request(:delete_repository_policy, params)
419
- req.send_request(options)
420
- end
156
+ # Check the availability of multiple image layers in a specified
157
+ # registry and repository.
158
+ #
159
+ # <note markdown="1"> This operation is used by the Amazon ECR proxy, and it is not intended
160
+ # for general use by customers for pulling and pushing images. In most
161
+ # cases, you should use the `docker` CLI to pull, tag, and push images.
162
+ #
163
+ # </note>
164
+ #
165
+ # @option params [String] :registry_id
166
+ # The AWS account ID associated with the registry that contains the
167
+ # image layers to check. If you do not specify a registry, the default
168
+ # registry is assumed.
169
+ #
170
+ # @option params [required, String] :repository_name
171
+ # The name of the repository that is associated with the image layers to
172
+ # check.
173
+ #
174
+ # @option params [required, Array<String>] :layer_digests
175
+ # The digests of the image layers to check.
176
+ #
177
+ # @return [Types::BatchCheckLayerAvailabilityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
178
+ #
179
+ # * {Types::BatchCheckLayerAvailabilityResponse#layers #layers} => Array&lt;Types::Layer&gt;
180
+ # * {Types::BatchCheckLayerAvailabilityResponse#failures #failures} => Array&lt;Types::LayerFailure&gt;
181
+ #
182
+ # @example Request syntax with placeholder values
183
+ #
184
+ # resp = client.batch_check_layer_availability({
185
+ # registry_id: "RegistryId",
186
+ # repository_name: "RepositoryName", # required
187
+ # layer_digests: ["BatchedOperationLayerDigest"], # required
188
+ # })
189
+ #
190
+ # @example Response structure
191
+ #
192
+ # resp.layers #=> Array
193
+ # resp.layers[0].layer_digest #=> String
194
+ # resp.layers[0].layer_availability #=> String, one of "AVAILABLE", "UNAVAILABLE"
195
+ # resp.layers[0].layer_size #=> Integer
196
+ # resp.layers[0].media_type #=> String
197
+ # resp.failures #=> Array
198
+ # resp.failures[0].layer_digest #=> String
199
+ # resp.failures[0].failure_code #=> String, one of "InvalidLayerDigest", "MissingLayerDigest"
200
+ # resp.failures[0].failure_reason #=> String
201
+ #
202
+ # @overload batch_check_layer_availability(params = {})
203
+ # @param [Hash] params ({})
204
+ def batch_check_layer_availability(params = {}, options = {})
205
+ req = build_request(:batch_check_layer_availability, params)
206
+ req.send_request(options)
207
+ end
421
208
 
422
- # Returns metadata about the images in a repository, including image
423
- # size and creation date.
424
- #
425
- # <note markdown="1"> Beginning with Docker version 1.9, the Docker client compresses image
426
- # layers before pushing them to a V2 Docker registry. The output of the
427
- # `docker images` command shows the uncompressed image size, so it may
428
- # return a larger image size than the image sizes returned by
429
- # DescribeImages.
430
- #
431
- # </note>
432
- # @option params [String] :registry_id
433
- # The AWS account ID associated with the registry that contains the
434
- # repository in which to list images. If you do not specify a registry,
435
- # the default registry is assumed.
436
- # @option params [required, String] :repository_name
437
- # A list of repositories to describe. If this parameter is omitted, then
438
- # all repositories in a registry are described.
439
- # @option params [Array<Types::ImageIdentifier>] :image_ids
440
- # The list of image IDs for the requested repository.
441
- # @option params [String] :next_token
442
- # The `nextToken` value returned from a previous paginated
443
- # `DescribeImages` request where `maxResults` was used and the results
444
- # exceeded the value of that parameter. Pagination continues from the
445
- # end of the previous results that returned the `nextToken` value. This
446
- # value is `null` when there are no more results to return.
447
- # @option params [Integer] :max_results
448
- # The maximum number of repository results returned by `DescribeImages`
449
- # in paginated output. When this parameter is used, `DescribeImages`
450
- # only returns `maxResults` results in a single page along with a
451
- # `nextToken` response element. The remaining results of the initial
452
- # request can be seen by sending another `DescribeImages` request with
453
- # the returned `nextToken` value. This value can be between 1 and 100.
454
- # If this parameter is not used, then `DescribeImages` returns up to 100
455
- # results and a `nextToken` value, if applicable.
456
- # @option params [Types::DescribeImagesFilter] :filter
457
- # The filter key and value with which to filter your `DescribeImages`
458
- # results.
459
- # @return [Types::DescribeImagesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
460
- #
461
- # * {Types::DescribeImagesResponse#image_details #imageDetails} => Array&lt;Types::ImageDetail&gt;
462
- # * {Types::DescribeImagesResponse#next_token #nextToken} => String
463
- #
464
- # @example Request syntax with placeholder values
465
- # resp = client.describe_images({
466
- # registry_id: "RegistryId",
467
- # repository_name: "RepositoryName", # required
468
- # image_ids: [
469
- # {
470
- # image_digest: "ImageDigest",
471
- # image_tag: "ImageTag",
472
- # },
473
- # ],
474
- # next_token: "NextToken",
475
- # max_results: 1,
476
- # filter: {
477
- # tag_status: "TAGGED", # accepts TAGGED, UNTAGGED
478
- # },
479
- # })
480
- #
481
- # @example Response structure
482
- # resp.image_details #=> Array
483
- # resp.image_details[0].registry_id #=> String
484
- # resp.image_details[0].repository_name #=> String
485
- # resp.image_details[0].image_digest #=> String
486
- # resp.image_details[0].image_tags #=> Array
487
- # resp.image_details[0].image_tags[0] #=> String
488
- # resp.image_details[0].image_size_in_bytes #=> Integer
489
- # resp.image_details[0].image_pushed_at #=> Time
490
- # resp.next_token #=> String
491
- # @overload describe_images(params = {})
492
- # @param [Hash] params ({})
493
- def describe_images(params = {}, options = {})
494
- req = build_request(:describe_images, params)
495
- req.send_request(options)
496
- end
209
+ # Deletes a list of specified images within a specified repository.
210
+ # Images are specified with either `imageTag` or `imageDigest`.
211
+ #
212
+ # You can remove a tag from an image by specifying the image's tag in
213
+ # your request. When you remove the last tag from an image, the image is
214
+ # deleted from your repository.
215
+ #
216
+ # You can completely delete an image (and all of its tags) by specifying
217
+ # the image's digest in your request.
218
+ #
219
+ # @option params [String] :registry_id
220
+ # The AWS account ID associated with the registry that contains the
221
+ # image to delete. If you do not specify a registry, the default
222
+ # registry is assumed.
223
+ #
224
+ # @option params [required, String] :repository_name
225
+ # The repository that contains the image to delete.
226
+ #
227
+ # @option params [required, Array<Types::ImageIdentifier>] :image_ids
228
+ # A list of image ID references that correspond to images to delete. The
229
+ # format of the `imageIds` reference is `imageTag=tag` or
230
+ # `imageDigest=digest`.
231
+ #
232
+ # @return [Types::BatchDeleteImageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
233
+ #
234
+ # * {Types::BatchDeleteImageResponse#image_ids #image_ids} => Array&lt;Types::ImageIdentifier&gt;
235
+ # * {Types::BatchDeleteImageResponse#failures #failures} => Array&lt;Types::ImageFailure&gt;
236
+ #
237
+ # @example Request syntax with placeholder values
238
+ #
239
+ # resp = client.batch_delete_image({
240
+ # registry_id: "RegistryId",
241
+ # repository_name: "RepositoryName", # required
242
+ # image_ids: [ # required
243
+ # {
244
+ # image_digest: "ImageDigest",
245
+ # image_tag: "ImageTag",
246
+ # },
247
+ # ],
248
+ # })
249
+ #
250
+ # @example Response structure
251
+ #
252
+ # resp.image_ids #=> Array
253
+ # resp.image_ids[0].image_digest #=> String
254
+ # resp.image_ids[0].image_tag #=> String
255
+ # resp.failures #=> Array
256
+ # resp.failures[0].image_id.image_digest #=> String
257
+ # resp.failures[0].image_id.image_tag #=> String
258
+ # resp.failures[0].failure_code #=> String, one of "InvalidImageDigest", "InvalidImageTag", "ImageTagDoesNotMatchDigest", "ImageNotFound", "MissingDigestAndTag"
259
+ # resp.failures[0].failure_reason #=> String
260
+ #
261
+ # @overload batch_delete_image(params = {})
262
+ # @param [Hash] params ({})
263
+ def batch_delete_image(params = {}, options = {})
264
+ req = build_request(:batch_delete_image, params)
265
+ req.send_request(options)
266
+ end
497
267
 
498
- # Describes image repositories in a registry.
499
- # @option params [String] :registry_id
500
- # The AWS account ID associated with the registry that contains the
501
- # repositories to be described. If you do not specify a registry, the
502
- # default registry is assumed.
503
- # @option params [Array<String>] :repository_names
504
- # A list of repositories to describe. If this parameter is omitted, then
505
- # all repositories in a registry are described.
506
- # @option params [String] :next_token
507
- # The `nextToken` value returned from a previous paginated
508
- # `DescribeRepositories` request where `maxResults` was used and the
509
- # results exceeded the value of that parameter. Pagination continues
510
- # from the end of the previous results that returned the `nextToken`
511
- # value. This value is `null` when there are no more results to return.
512
- #
513
- # <note markdown="1"> This token should be treated as an opaque identifier that is only used
514
- # to retrieve the next items in a list and not for other programmatic
515
- # purposes.
516
- #
517
- # </note>
518
- # @option params [Integer] :max_results
519
- # The maximum number of repository results returned by
520
- # `DescribeRepositories` in paginated output. When this parameter is
521
- # used, `DescribeRepositories` only returns `maxResults` results in a
522
- # single page along with a `nextToken` response element. The remaining
523
- # results of the initial request can be seen by sending another
524
- # `DescribeRepositories` request with the returned `nextToken` value.
525
- # This value can be between 1 and 100. If this parameter is not used,
526
- # then `DescribeRepositories` returns up to 100 results and a
527
- # `nextToken` value, if applicable.
528
- # @return [Types::DescribeRepositoriesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
529
- #
530
- # * {Types::DescribeRepositoriesResponse#repositories #repositories} => Array&lt;Types::Repository&gt;
531
- # * {Types::DescribeRepositoriesResponse#next_token #nextToken} => String
532
- #
533
- # @example Request syntax with placeholder values
534
- # resp = client.describe_repositories({
535
- # registry_id: "RegistryId",
536
- # repository_names: ["RepositoryName"],
537
- # next_token: "NextToken",
538
- # max_results: 1,
539
- # })
540
- #
541
- # @example Response structure
542
- # resp.repositories #=> Array
543
- # resp.repositories[0].repository_arn #=> String
544
- # resp.repositories[0].registry_id #=> String
545
- # resp.repositories[0].repository_name #=> String
546
- # resp.repositories[0].repository_uri #=> String
547
- # resp.repositories[0].created_at #=> Time
548
- # resp.next_token #=> String
549
- # @overload describe_repositories(params = {})
550
- # @param [Hash] params ({})
551
- def describe_repositories(params = {}, options = {})
552
- req = build_request(:describe_repositories, params)
553
- req.send_request(options)
554
- end
268
+ # Gets detailed information for specified images within a specified
269
+ # repository. Images are specified with either `imageTag` or
270
+ # `imageDigest`.
271
+ #
272
+ # @option params [String] :registry_id
273
+ # The AWS account ID associated with the registry that contains the
274
+ # images to describe. If you do not specify a registry, the default
275
+ # registry is assumed.
276
+ #
277
+ # @option params [required, String] :repository_name
278
+ # The repository that contains the images to describe.
279
+ #
280
+ # @option params [required, Array<Types::ImageIdentifier>] :image_ids
281
+ # A list of image ID references that correspond to images to describe.
282
+ # The format of the `imageIds` reference is `imageTag=tag` or
283
+ # `imageDigest=digest`.
284
+ #
285
+ # @option params [Array<String>] :accepted_media_types
286
+ # The accepted media types for the request.
287
+ #
288
+ # Valid values: `application/vnd.docker.distribution.manifest.v1+json`
289
+ # \| `application/vnd.docker.distribution.manifest.v2+json` \|
290
+ # `application/vnd.oci.image.manifest.v1+json`
291
+ #
292
+ # @return [Types::BatchGetImageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
293
+ #
294
+ # * {Types::BatchGetImageResponse#images #images} => Array&lt;Types::Image&gt;
295
+ # * {Types::BatchGetImageResponse#failures #failures} => Array&lt;Types::ImageFailure&gt;
296
+ #
297
+ # @example Request syntax with placeholder values
298
+ #
299
+ # resp = client.batch_get_image({
300
+ # registry_id: "RegistryId",
301
+ # repository_name: "RepositoryName", # required
302
+ # image_ids: [ # required
303
+ # {
304
+ # image_digest: "ImageDigest",
305
+ # image_tag: "ImageTag",
306
+ # },
307
+ # ],
308
+ # accepted_media_types: ["MediaType"],
309
+ # })
310
+ #
311
+ # @example Response structure
312
+ #
313
+ # resp.images #=> Array
314
+ # resp.images[0].registry_id #=> String
315
+ # resp.images[0].repository_name #=> String
316
+ # resp.images[0].image_id.image_digest #=> String
317
+ # resp.images[0].image_id.image_tag #=> String
318
+ # resp.images[0].image_manifest #=> String
319
+ # resp.failures #=> Array
320
+ # resp.failures[0].image_id.image_digest #=> String
321
+ # resp.failures[0].image_id.image_tag #=> String
322
+ # resp.failures[0].failure_code #=> String, one of "InvalidImageDigest", "InvalidImageTag", "ImageTagDoesNotMatchDigest", "ImageNotFound", "MissingDigestAndTag"
323
+ # resp.failures[0].failure_reason #=> String
324
+ #
325
+ # @overload batch_get_image(params = {})
326
+ # @param [Hash] params ({})
327
+ def batch_get_image(params = {}, options = {})
328
+ req = build_request(:batch_get_image, params)
329
+ req.send_request(options)
330
+ end
555
331
 
556
- # Retrieves a token that is valid for a specified registry for 12 hours.
557
- # This command allows you to use the `docker` CLI to push and pull
558
- # images with Amazon ECR. If you do not specify a registry, the default
559
- # registry is assumed.
560
- #
561
- # The `authorizationToken` returned for each registry specified is a
562
- # base64 encoded string that can be decoded and used in a `docker login`
563
- # command to authenticate to a registry. The AWS CLI offers an `aws ecr
564
- # get-login` command that simplifies the login process.
565
- # @option params [Array<String>] :registry_ids
566
- # A list of AWS account IDs that are associated with the registries for
567
- # which to get authorization tokens. If you do not specify a registry,
568
- # the default registry is assumed.
569
- # @return [Types::GetAuthorizationTokenResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
570
- #
571
- # * {Types::GetAuthorizationTokenResponse#authorization_data #authorizationData} => Array&lt;Types::AuthorizationData&gt;
572
- #
573
- # @example Request syntax with placeholder values
574
- # resp = client.get_authorization_token({
575
- # registry_ids: ["RegistryId"],
576
- # })
577
- #
578
- # @example Response structure
579
- # resp.authorization_data #=> Array
580
- # resp.authorization_data[0].authorization_token #=> String
581
- # resp.authorization_data[0].expires_at #=> Time
582
- # resp.authorization_data[0].proxy_endpoint #=> String
583
- # @overload get_authorization_token(params = {})
584
- # @param [Hash] params ({})
585
- def get_authorization_token(params = {}, options = {})
586
- req = build_request(:get_authorization_token, params)
587
- req.send_request(options)
588
- end
332
+ # Inform Amazon ECR that the image layer upload for a specified
333
+ # registry, repository name, and upload ID, has completed. You can
334
+ # optionally provide a `sha256` digest of the image layer for data
335
+ # validation purposes.
336
+ #
337
+ # <note markdown="1"> This operation is used by the Amazon ECR proxy, and it is not intended
338
+ # for general use by customers for pulling and pushing images. In most
339
+ # cases, you should use the `docker` CLI to pull, tag, and push images.
340
+ #
341
+ # </note>
342
+ #
343
+ # @option params [String] :registry_id
344
+ # The AWS account ID associated with the registry to which to upload
345
+ # layers. If you do not specify a registry, the default registry is
346
+ # assumed.
347
+ #
348
+ # @option params [required, String] :repository_name
349
+ # The name of the repository to associate with the image layer.
350
+ #
351
+ # @option params [required, String] :upload_id
352
+ # The upload ID from a previous InitiateLayerUpload operation to
353
+ # associate with the image layer.
354
+ #
355
+ # @option params [required, Array<String>] :layer_digests
356
+ # The `sha256` digest of the image layer.
357
+ #
358
+ # @return [Types::CompleteLayerUploadResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
359
+ #
360
+ # * {Types::CompleteLayerUploadResponse#registry_id #registry_id} => String
361
+ # * {Types::CompleteLayerUploadResponse#repository_name #repository_name} => String
362
+ # * {Types::CompleteLayerUploadResponse#upload_id #upload_id} => String
363
+ # * {Types::CompleteLayerUploadResponse#layer_digest #layer_digest} => String
364
+ #
365
+ # @example Request syntax with placeholder values
366
+ #
367
+ # resp = client.complete_layer_upload({
368
+ # registry_id: "RegistryId",
369
+ # repository_name: "RepositoryName", # required
370
+ # upload_id: "UploadId", # required
371
+ # layer_digests: ["LayerDigest"], # required
372
+ # })
373
+ #
374
+ # @example Response structure
375
+ #
376
+ # resp.registry_id #=> String
377
+ # resp.repository_name #=> String
378
+ # resp.upload_id #=> String
379
+ # resp.layer_digest #=> String
380
+ #
381
+ # @overload complete_layer_upload(params = {})
382
+ # @param [Hash] params ({})
383
+ def complete_layer_upload(params = {}, options = {})
384
+ req = build_request(:complete_layer_upload, params)
385
+ req.send_request(options)
386
+ end
589
387
 
590
- # Retrieves the pre-signed Amazon S3 download URL corresponding to an
591
- # image layer. You can only get URLs for image layers that are
592
- # referenced in an image.
593
- #
594
- # <note markdown="1"> This operation is used by the Amazon ECR proxy, and it is not intended
595
- # for general use by customers. Use the `docker` CLI to pull, tag, and
596
- # push images.
597
- #
598
- # </note>
599
- # @option params [String] :registry_id
600
- # The AWS account ID associated with the registry that contains the
601
- # image layer to download. If you do not specify a registry, the default
602
- # registry is assumed.
603
- # @option params [required, String] :repository_name
604
- # The name of the repository that is associated with the image layer to
605
- # download.
606
- # @option params [required, String] :layer_digest
607
- # The digest of the image layer to download.
608
- # @return [Types::GetDownloadUrlForLayerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
609
- #
610
- # * {Types::GetDownloadUrlForLayerResponse#download_url #downloadUrl} => String
611
- # * {Types::GetDownloadUrlForLayerResponse#layer_digest #layerDigest} => String
612
- #
613
- # @example Request syntax with placeholder values
614
- # resp = client.get_download_url_for_layer({
615
- # registry_id: "RegistryId",
616
- # repository_name: "RepositoryName", # required
617
- # layer_digest: "LayerDigest", # required
618
- # })
619
- #
620
- # @example Response structure
621
- # resp.download_url #=> String
622
- # resp.layer_digest #=> String
623
- # @overload get_download_url_for_layer(params = {})
624
- # @param [Hash] params ({})
625
- def get_download_url_for_layer(params = {}, options = {})
626
- req = build_request(:get_download_url_for_layer, params)
627
- req.send_request(options)
628
- end
388
+ # Creates an image repository.
389
+ #
390
+ # @option params [required, String] :repository_name
391
+ # The name to use for the repository. The repository name may be
392
+ # specified on its own (such as `nginx-web-app`) or it can be prepended
393
+ # with a namespace to group the repository into a category (such as
394
+ # `project-a/nginx-web-app`).
395
+ #
396
+ # @return [Types::CreateRepositoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
397
+ #
398
+ # * {Types::CreateRepositoryResponse#repository #repository} => Types::Repository
399
+ #
400
+ # @example Request syntax with placeholder values
401
+ #
402
+ # resp = client.create_repository({
403
+ # repository_name: "RepositoryName", # required
404
+ # })
405
+ #
406
+ # @example Response structure
407
+ #
408
+ # resp.repository.repository_arn #=> String
409
+ # resp.repository.registry_id #=> String
410
+ # resp.repository.repository_name #=> String
411
+ # resp.repository.repository_uri #=> String
412
+ # resp.repository.created_at #=> Time
413
+ #
414
+ # @overload create_repository(params = {})
415
+ # @param [Hash] params ({})
416
+ def create_repository(params = {}, options = {})
417
+ req = build_request(:create_repository, params)
418
+ req.send_request(options)
419
+ end
629
420
 
630
- # Retrieves the repository policy for a specified repository.
631
- # @option params [String] :registry_id
632
- # The AWS account ID associated with the registry that contains the
633
- # repository. If you do not specify a registry, the default registry is
634
- # assumed.
635
- # @option params [required, String] :repository_name
636
- # The name of the repository whose policy you want to retrieve.
637
- # @return [Types::GetRepositoryPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
638
- #
639
- # * {Types::GetRepositoryPolicyResponse#registry_id #registryId} => String
640
- # * {Types::GetRepositoryPolicyResponse#repository_name #repositoryName} => String
641
- # * {Types::GetRepositoryPolicyResponse#policy_text #policyText} => String
642
- #
643
- # @example Request syntax with placeholder values
644
- # resp = client.get_repository_policy({
645
- # registry_id: "RegistryId",
646
- # repository_name: "RepositoryName", # required
647
- # })
648
- #
649
- # @example Response structure
650
- # resp.registry_id #=> String
651
- # resp.repository_name #=> String
652
- # resp.policy_text #=> String
653
- # @overload get_repository_policy(params = {})
654
- # @param [Hash] params ({})
655
- def get_repository_policy(params = {}, options = {})
656
- req = build_request(:get_repository_policy, params)
657
- req.send_request(options)
658
- end
421
+ # Deletes an existing image repository. If a repository contains images,
422
+ # you must use the `force` option to delete it.
423
+ #
424
+ # @option params [String] :registry_id
425
+ # The AWS account ID associated with the registry that contains the
426
+ # repository to delete. If you do not specify a registry, the default
427
+ # registry is assumed.
428
+ #
429
+ # @option params [required, String] :repository_name
430
+ # The name of the repository to delete.
431
+ #
432
+ # @option params [Boolean] :force
433
+ # Force the deletion of the repository if it contains images.
434
+ #
435
+ # @return [Types::DeleteRepositoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
436
+ #
437
+ # * {Types::DeleteRepositoryResponse#repository #repository} => Types::Repository
438
+ #
439
+ # @example Request syntax with placeholder values
440
+ #
441
+ # resp = client.delete_repository({
442
+ # registry_id: "RegistryId",
443
+ # repository_name: "RepositoryName", # required
444
+ # force: false,
445
+ # })
446
+ #
447
+ # @example Response structure
448
+ #
449
+ # resp.repository.repository_arn #=> String
450
+ # resp.repository.registry_id #=> String
451
+ # resp.repository.repository_name #=> String
452
+ # resp.repository.repository_uri #=> String
453
+ # resp.repository.created_at #=> Time
454
+ #
455
+ # @overload delete_repository(params = {})
456
+ # @param [Hash] params ({})
457
+ def delete_repository(params = {}, options = {})
458
+ req = build_request(:delete_repository, params)
459
+ req.send_request(options)
460
+ end
659
461
 
660
- # Notify Amazon ECR that you intend to upload an image layer.
661
- #
662
- # <note markdown="1"> This operation is used by the Amazon ECR proxy, and it is not intended
663
- # for general use by customers. Use the `docker` CLI to pull, tag, and
664
- # push images.
665
- #
666
- # </note>
667
- # @option params [String] :registry_id
668
- # The AWS account ID associated with the registry that you intend to
669
- # upload layers to. If you do not specify a registry, the default
670
- # registry is assumed.
671
- # @option params [required, String] :repository_name
672
- # The name of the repository that you intend to upload layers to.
673
- # @return [Types::InitiateLayerUploadResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
674
- #
675
- # * {Types::InitiateLayerUploadResponse#upload_id #uploadId} => String
676
- # * {Types::InitiateLayerUploadResponse#part_size #partSize} => Integer
677
- #
678
- # @example Request syntax with placeholder values
679
- # resp = client.initiate_layer_upload({
680
- # registry_id: "RegistryId",
681
- # repository_name: "RepositoryName", # required
682
- # })
683
- #
684
- # @example Response structure
685
- # resp.upload_id #=> String
686
- # resp.part_size #=> Integer
687
- # @overload initiate_layer_upload(params = {})
688
- # @param [Hash] params ({})
689
- def initiate_layer_upload(params = {}, options = {})
690
- req = build_request(:initiate_layer_upload, params)
691
- req.send_request(options)
692
- end
462
+ # Deletes the repository policy from a specified repository.
463
+ #
464
+ # @option params [String] :registry_id
465
+ # The AWS account ID associated with the registry that contains the
466
+ # repository policy to delete. If you do not specify a registry, the
467
+ # default registry is assumed.
468
+ #
469
+ # @option params [required, String] :repository_name
470
+ # The name of the repository that is associated with the repository
471
+ # policy to delete.
472
+ #
473
+ # @return [Types::DeleteRepositoryPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
474
+ #
475
+ # * {Types::DeleteRepositoryPolicyResponse#registry_id #registry_id} => String
476
+ # * {Types::DeleteRepositoryPolicyResponse#repository_name #repository_name} => String
477
+ # * {Types::DeleteRepositoryPolicyResponse#policy_text #policy_text} => String
478
+ #
479
+ # @example Request syntax with placeholder values
480
+ #
481
+ # resp = client.delete_repository_policy({
482
+ # registry_id: "RegistryId",
483
+ # repository_name: "RepositoryName", # required
484
+ # })
485
+ #
486
+ # @example Response structure
487
+ #
488
+ # resp.registry_id #=> String
489
+ # resp.repository_name #=> String
490
+ # resp.policy_text #=> String
491
+ #
492
+ # @overload delete_repository_policy(params = {})
493
+ # @param [Hash] params ({})
494
+ def delete_repository_policy(params = {}, options = {})
495
+ req = build_request(:delete_repository_policy, params)
496
+ req.send_request(options)
497
+ end
693
498
 
694
- # Lists all the image IDs for a given repository.
695
- #
696
- # You can filter images based on whether or not they are tagged by
697
- # setting the `tagStatus` parameter to `TAGGED` or `UNTAGGED`. For
698
- # example, you can filter your results to return only `UNTAGGED` images
699
- # and then pipe that result to a BatchDeleteImage operation to delete
700
- # them. Or, you can filter your results to return only `TAGGED` images
701
- # to list all of the tags in your repository.
702
- # @option params [String] :registry_id
703
- # The AWS account ID associated with the registry that contains the
704
- # repository to list images in. If you do not specify a registry, the
705
- # default registry is assumed.
706
- # @option params [required, String] :repository_name
707
- # The repository whose image IDs are to be listed.
708
- # @option params [String] :next_token
709
- # The `nextToken` value returned from a previous paginated `ListImages`
710
- # request where `maxResults` was used and the results exceeded the value
711
- # of that parameter. Pagination continues from the end of the previous
712
- # results that returned the `nextToken` value. This value is `null` when
713
- # there are no more results to return.
714
- #
715
- # <note markdown="1"> This token should be treated as an opaque identifier that is only used
716
- # to retrieve the next items in a list and not for other programmatic
717
- # purposes.
718
- #
719
- # </note>
720
- # @option params [Integer] :max_results
721
- # The maximum number of image results returned by `ListImages` in
722
- # paginated output. When this parameter is used, `ListImages` only
723
- # returns `maxResults` results in a single page along with a `nextToken`
724
- # response element. The remaining results of the initial request can be
725
- # seen by sending another `ListImages` request with the returned
726
- # `nextToken` value. This value can be between 1 and 100. If this
727
- # parameter is not used, then `ListImages` returns up to 100 results and
728
- # a `nextToken` value, if applicable.
729
- # @option params [Types::ListImagesFilter] :filter
730
- # The filter key and value with which to filter your `ListImages`
731
- # results.
732
- # @return [Types::ListImagesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
733
- #
734
- # * {Types::ListImagesResponse#image_ids #imageIds} => Array&lt;Types::ImageIdentifier&gt;
735
- # * {Types::ListImagesResponse#next_token #nextToken} => String
736
- #
737
- # @example Request syntax with placeholder values
738
- # resp = client.list_images({
739
- # registry_id: "RegistryId",
740
- # repository_name: "RepositoryName", # required
741
- # next_token: "NextToken",
742
- # max_results: 1,
743
- # filter: {
744
- # tag_status: "TAGGED", # accepts TAGGED, UNTAGGED
745
- # },
746
- # })
747
- #
748
- # @example Response structure
749
- # resp.image_ids #=> Array
750
- # resp.image_ids[0].image_digest #=> String
751
- # resp.image_ids[0].image_tag #=> String
752
- # resp.next_token #=> String
753
- # @overload list_images(params = {})
754
- # @param [Hash] params ({})
755
- def list_images(params = {}, options = {})
756
- req = build_request(:list_images, params)
757
- req.send_request(options)
758
- end
499
+ # Returns metadata about the images in a repository, including image
500
+ # size, image tags, and creation date.
501
+ #
502
+ # <note markdown="1"> Beginning with Docker version 1.9, the Docker client compresses image
503
+ # layers before pushing them to a V2 Docker registry. The output of the
504
+ # `docker images` command shows the uncompressed image size, so it may
505
+ # return a larger image size than the image sizes returned by
506
+ # DescribeImages.
507
+ #
508
+ # </note>
509
+ #
510
+ # @option params [String] :registry_id
511
+ # The AWS account ID associated with the registry that contains the
512
+ # repository in which to describe images. If you do not specify a
513
+ # registry, the default registry is assumed.
514
+ #
515
+ # @option params [required, String] :repository_name
516
+ # A list of repositories to describe. If this parameter is omitted, then
517
+ # all repositories in a registry are described.
518
+ #
519
+ # @option params [Array<Types::ImageIdentifier>] :image_ids
520
+ # The list of image IDs for the requested repository.
521
+ #
522
+ # @option params [String] :next_token
523
+ # The `nextToken` value returned from a previous paginated
524
+ # `DescribeImages` request where `maxResults` was used and the results
525
+ # exceeded the value of that parameter. Pagination continues from the
526
+ # end of the previous results that returned the `nextToken` value. This
527
+ # value is `null` when there are no more results to return.
528
+ #
529
+ # @option params [Integer] :max_results
530
+ # The maximum number of repository results returned by `DescribeImages`
531
+ # in paginated output. When this parameter is used, `DescribeImages`
532
+ # only returns `maxResults` results in a single page along with a
533
+ # `nextToken` response element. The remaining results of the initial
534
+ # request can be seen by sending another `DescribeImages` request with
535
+ # the returned `nextToken` value. This value can be between 1 and 100.
536
+ # If this parameter is not used, then `DescribeImages` returns up to 100
537
+ # results and a `nextToken` value, if applicable.
538
+ #
539
+ # @option params [Types::DescribeImagesFilter] :filter
540
+ # The filter key and value with which to filter your `DescribeImages`
541
+ # results.
542
+ #
543
+ # @return [Types::DescribeImagesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
544
+ #
545
+ # * {Types::DescribeImagesResponse#image_details #image_details} => Array&lt;Types::ImageDetail&gt;
546
+ # * {Types::DescribeImagesResponse#next_token #next_token} => String
547
+ #
548
+ # @example Request syntax with placeholder values
549
+ #
550
+ # resp = client.describe_images({
551
+ # registry_id: "RegistryId",
552
+ # repository_name: "RepositoryName", # required
553
+ # image_ids: [
554
+ # {
555
+ # image_digest: "ImageDigest",
556
+ # image_tag: "ImageTag",
557
+ # },
558
+ # ],
559
+ # next_token: "NextToken",
560
+ # max_results: 1,
561
+ # filter: {
562
+ # tag_status: "TAGGED", # accepts TAGGED, UNTAGGED
563
+ # },
564
+ # })
565
+ #
566
+ # @example Response structure
567
+ #
568
+ # resp.image_details #=> Array
569
+ # resp.image_details[0].registry_id #=> String
570
+ # resp.image_details[0].repository_name #=> String
571
+ # resp.image_details[0].image_digest #=> String
572
+ # resp.image_details[0].image_tags #=> Array
573
+ # resp.image_details[0].image_tags[0] #=> String
574
+ # resp.image_details[0].image_size_in_bytes #=> Integer
575
+ # resp.image_details[0].image_pushed_at #=> Time
576
+ # resp.next_token #=> String
577
+ #
578
+ # @overload describe_images(params = {})
579
+ # @param [Hash] params ({})
580
+ def describe_images(params = {}, options = {})
581
+ req = build_request(:describe_images, params)
582
+ req.send_request(options)
583
+ end
759
584
 
760
- # Creates or updates the image manifest associated with an image.
761
- #
762
- # <note markdown="1"> This operation is used by the Amazon ECR proxy, and it is not intended
763
- # for general use by customers. Use the `docker` CLI to pull, tag, and
764
- # push images.
765
- #
766
- # </note>
767
- # @option params [String] :registry_id
768
- # The AWS account ID associated with the registry that contains the
769
- # repository in which to put the image. If you do not specify a
770
- # registry, the default registry is assumed.
771
- # @option params [required, String] :repository_name
772
- # The name of the repository in which to put the image.
773
- # @option params [required, String] :image_manifest
774
- # The image manifest corresponding to the image to be uploaded.
775
- # @return [Types::PutImageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
776
- #
777
- # * {Types::PutImageResponse#image #image} => Types::Image
778
- #
779
- # @example Request syntax with placeholder values
780
- # resp = client.put_image({
781
- # registry_id: "RegistryId",
782
- # repository_name: "RepositoryName", # required
783
- # image_manifest: "ImageManifest", # required
784
- # })
785
- #
786
- # @example Response structure
787
- # resp.image.registry_id #=> String
788
- # resp.image.repository_name #=> String
789
- # resp.image.image_id.image_digest #=> String
790
- # resp.image.image_id.image_tag #=> String
791
- # resp.image.image_manifest #=> String
792
- # @overload put_image(params = {})
793
- # @param [Hash] params ({})
794
- def put_image(params = {}, options = {})
795
- req = build_request(:put_image, params)
796
- req.send_request(options)
797
- end
585
+ # Describes image repositories in a registry.
586
+ #
587
+ # @option params [String] :registry_id
588
+ # The AWS account ID associated with the registry that contains the
589
+ # repositories to be described. If you do not specify a registry, the
590
+ # default registry is assumed.
591
+ #
592
+ # @option params [Array<String>] :repository_names
593
+ # A list of repositories to describe. If this parameter is omitted, then
594
+ # all repositories in a registry are described.
595
+ #
596
+ # @option params [String] :next_token
597
+ # The `nextToken` value returned from a previous paginated
598
+ # `DescribeRepositories` request where `maxResults` was used and the
599
+ # results exceeded the value of that parameter. Pagination continues
600
+ # from the end of the previous results that returned the `nextToken`
601
+ # value. This value is `null` when there are no more results to return.
602
+ #
603
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only used
604
+ # to retrieve the next items in a list and not for other programmatic
605
+ # purposes.
606
+ #
607
+ # </note>
608
+ #
609
+ # @option params [Integer] :max_results
610
+ # The maximum number of repository results returned by
611
+ # `DescribeRepositories` in paginated output. When this parameter is
612
+ # used, `DescribeRepositories` only returns `maxResults` results in a
613
+ # single page along with a `nextToken` response element. The remaining
614
+ # results of the initial request can be seen by sending another
615
+ # `DescribeRepositories` request with the returned `nextToken` value.
616
+ # This value can be between 1 and 100. If this parameter is not used,
617
+ # then `DescribeRepositories` returns up to 100 results and a
618
+ # `nextToken` value, if applicable.
619
+ #
620
+ # @return [Types::DescribeRepositoriesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
621
+ #
622
+ # * {Types::DescribeRepositoriesResponse#repositories #repositories} => Array&lt;Types::Repository&gt;
623
+ # * {Types::DescribeRepositoriesResponse#next_token #next_token} => String
624
+ #
625
+ # @example Request syntax with placeholder values
626
+ #
627
+ # resp = client.describe_repositories({
628
+ # registry_id: "RegistryId",
629
+ # repository_names: ["RepositoryName"],
630
+ # next_token: "NextToken",
631
+ # max_results: 1,
632
+ # })
633
+ #
634
+ # @example Response structure
635
+ #
636
+ # resp.repositories #=> Array
637
+ # resp.repositories[0].repository_arn #=> String
638
+ # resp.repositories[0].registry_id #=> String
639
+ # resp.repositories[0].repository_name #=> String
640
+ # resp.repositories[0].repository_uri #=> String
641
+ # resp.repositories[0].created_at #=> Time
642
+ # resp.next_token #=> String
643
+ #
644
+ # @overload describe_repositories(params = {})
645
+ # @param [Hash] params ({})
646
+ def describe_repositories(params = {}, options = {})
647
+ req = build_request(:describe_repositories, params)
648
+ req.send_request(options)
649
+ end
798
650
 
799
- # Applies a repository policy on a specified repository to control
800
- # access permissions.
801
- # @option params [String] :registry_id
802
- # The AWS account ID associated with the registry that contains the
803
- # repository. If you do not specify a registry, the default registry is
804
- # assumed.
805
- # @option params [required, String] :repository_name
806
- # The name of the repository to receive the policy.
807
- # @option params [required, String] :policy_text
808
- # The JSON repository policy text to apply to the repository.
809
- # @option params [Boolean] :force
810
- # If the policy you are attempting to set on a repository policy would
811
- # prevent you from setting another policy in the future, you must force
812
- # the SetRepositoryPolicy operation. This is intended to prevent
813
- # accidental repository lock outs.
814
- # @return [Types::SetRepositoryPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
815
- #
816
- # * {Types::SetRepositoryPolicyResponse#registry_id #registryId} => String
817
- # * {Types::SetRepositoryPolicyResponse#repository_name #repositoryName} => String
818
- # * {Types::SetRepositoryPolicyResponse#policy_text #policyText} => String
819
- #
820
- # @example Request syntax with placeholder values
821
- # resp = client.set_repository_policy({
822
- # registry_id: "RegistryId",
823
- # repository_name: "RepositoryName", # required
824
- # policy_text: "RepositoryPolicyText", # required
825
- # force: false,
826
- # })
827
- #
828
- # @example Response structure
829
- # resp.registry_id #=> String
830
- # resp.repository_name #=> String
831
- # resp.policy_text #=> String
832
- # @overload set_repository_policy(params = {})
833
- # @param [Hash] params ({})
834
- def set_repository_policy(params = {}, options = {})
835
- req = build_request(:set_repository_policy, params)
836
- req.send_request(options)
837
- end
651
+ # Retrieves a token that is valid for a specified registry for 12 hours.
652
+ # This command allows you to use the `docker` CLI to push and pull
653
+ # images with Amazon ECR. If you do not specify a registry, the default
654
+ # registry is assumed.
655
+ #
656
+ # The `authorizationToken` returned for each registry specified is a
657
+ # base64 encoded string that can be decoded and used in a `docker login`
658
+ # command to authenticate to a registry. The AWS CLI offers an `aws ecr
659
+ # get-login` command that simplifies the login process.
660
+ #
661
+ # @option params [Array<String>] :registry_ids
662
+ # A list of AWS account IDs that are associated with the registries for
663
+ # which to get authorization tokens. If you do not specify a registry,
664
+ # the default registry is assumed.
665
+ #
666
+ # @return [Types::GetAuthorizationTokenResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
667
+ #
668
+ # * {Types::GetAuthorizationTokenResponse#authorization_data #authorization_data} => Array&lt;Types::AuthorizationData&gt;
669
+ #
670
+ # @example Request syntax with placeholder values
671
+ #
672
+ # resp = client.get_authorization_token({
673
+ # registry_ids: ["RegistryId"],
674
+ # })
675
+ #
676
+ # @example Response structure
677
+ #
678
+ # resp.authorization_data #=> Array
679
+ # resp.authorization_data[0].authorization_token #=> String
680
+ # resp.authorization_data[0].expires_at #=> Time
681
+ # resp.authorization_data[0].proxy_endpoint #=> String
682
+ #
683
+ # @overload get_authorization_token(params = {})
684
+ # @param [Hash] params ({})
685
+ def get_authorization_token(params = {}, options = {})
686
+ req = build_request(:get_authorization_token, params)
687
+ req.send_request(options)
688
+ end
838
689
 
839
- # Uploads an image layer part to Amazon ECR.
840
- #
841
- # <note markdown="1"> This operation is used by the Amazon ECR proxy, and it is not intended
842
- # for general use by customers. Use the `docker` CLI to pull, tag, and
843
- # push images.
844
- #
845
- # </note>
846
- # @option params [String] :registry_id
847
- # The AWS account ID associated with the registry that you are uploading
848
- # layer parts to. If you do not specify a registry, the default registry
849
- # is assumed.
850
- # @option params [required, String] :repository_name
851
- # The name of the repository that you are uploading layer parts to.
852
- # @option params [required, String] :upload_id
853
- # The upload ID from a previous InitiateLayerUpload operation to
854
- # associate with the layer part upload.
855
- # @option params [required, Integer] :part_first_byte
856
- # The integer value of the first byte of the layer part.
857
- # @option params [required, Integer] :part_last_byte
858
- # The integer value of the last byte of the layer part.
859
- # @option params [required, String, IO] :layer_part_blob
860
- # The base64-encoded layer part payload.
861
- # @return [Types::UploadLayerPartResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
862
- #
863
- # * {Types::UploadLayerPartResponse#registry_id #registryId} => String
864
- # * {Types::UploadLayerPartResponse#repository_name #repositoryName} => String
865
- # * {Types::UploadLayerPartResponse#upload_id #uploadId} => String
866
- # * {Types::UploadLayerPartResponse#last_byte_received #lastByteReceived} => Integer
867
- #
868
- # @example Request syntax with placeholder values
869
- # resp = client.upload_layer_part({
870
- # registry_id: "RegistryId",
871
- # repository_name: "RepositoryName", # required
872
- # upload_id: "UploadId", # required
873
- # part_first_byte: 1, # required
874
- # part_last_byte: 1, # required
875
- # layer_part_blob: "data", # required
876
- # })
877
- #
878
- # @example Response structure
879
- # resp.registry_id #=> String
880
- # resp.repository_name #=> String
881
- # resp.upload_id #=> String
882
- # resp.last_byte_received #=> Integer
883
- # @overload upload_layer_part(params = {})
884
- # @param [Hash] params ({})
885
- def upload_layer_part(params = {}, options = {})
886
- req = build_request(:upload_layer_part, params)
887
- req.send_request(options)
888
- end
690
+ # Retrieves the pre-signed Amazon S3 download URL corresponding to an
691
+ # image layer. You can only get URLs for image layers that are
692
+ # referenced in an image.
693
+ #
694
+ # <note markdown="1"> This operation is used by the Amazon ECR proxy, and it is not intended
695
+ # for general use by customers for pulling and pushing images. In most
696
+ # cases, you should use the `docker` CLI to pull, tag, and push images.
697
+ #
698
+ # </note>
699
+ #
700
+ # @option params [String] :registry_id
701
+ # The AWS account ID associated with the registry that contains the
702
+ # image layer to download. If you do not specify a registry, the default
703
+ # registry is assumed.
704
+ #
705
+ # @option params [required, String] :repository_name
706
+ # The name of the repository that is associated with the image layer to
707
+ # download.
708
+ #
709
+ # @option params [required, String] :layer_digest
710
+ # The digest of the image layer to download.
711
+ #
712
+ # @return [Types::GetDownloadUrlForLayerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
713
+ #
714
+ # * {Types::GetDownloadUrlForLayerResponse#download_url #download_url} => String
715
+ # * {Types::GetDownloadUrlForLayerResponse#layer_digest #layer_digest} => String
716
+ #
717
+ # @example Request syntax with placeholder values
718
+ #
719
+ # resp = client.get_download_url_for_layer({
720
+ # registry_id: "RegistryId",
721
+ # repository_name: "RepositoryName", # required
722
+ # layer_digest: "LayerDigest", # required
723
+ # })
724
+ #
725
+ # @example Response structure
726
+ #
727
+ # resp.download_url #=> String
728
+ # resp.layer_digest #=> String
729
+ #
730
+ # @overload get_download_url_for_layer(params = {})
731
+ # @param [Hash] params ({})
732
+ def get_download_url_for_layer(params = {}, options = {})
733
+ req = build_request(:get_download_url_for_layer, params)
734
+ req.send_request(options)
735
+ end
889
736
 
890
- # @!endgroup
737
+ # Retrieves the repository policy for a specified repository.
738
+ #
739
+ # @option params [String] :registry_id
740
+ # The AWS account ID associated with the registry that contains the
741
+ # repository. If you do not specify a registry, the default registry is
742
+ # assumed.
743
+ #
744
+ # @option params [required, String] :repository_name
745
+ # The name of the repository whose policy you want to retrieve.
746
+ #
747
+ # @return [Types::GetRepositoryPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
748
+ #
749
+ # * {Types::GetRepositoryPolicyResponse#registry_id #registry_id} => String
750
+ # * {Types::GetRepositoryPolicyResponse#repository_name #repository_name} => String
751
+ # * {Types::GetRepositoryPolicyResponse#policy_text #policy_text} => String
752
+ #
753
+ # @example Request syntax with placeholder values
754
+ #
755
+ # resp = client.get_repository_policy({
756
+ # registry_id: "RegistryId",
757
+ # repository_name: "RepositoryName", # required
758
+ # })
759
+ #
760
+ # @example Response structure
761
+ #
762
+ # resp.registry_id #=> String
763
+ # resp.repository_name #=> String
764
+ # resp.policy_text #=> String
765
+ #
766
+ # @overload get_repository_policy(params = {})
767
+ # @param [Hash] params ({})
768
+ def get_repository_policy(params = {}, options = {})
769
+ req = build_request(:get_repository_policy, params)
770
+ req.send_request(options)
771
+ end
891
772
 
892
- # @param params ({})
893
- # @api private
894
- def build_request(operation_name, params = {})
895
- handlers = @handlers.for(operation_name)
896
- context = Seahorse::Client::RequestContext.new(
897
- operation_name: operation_name,
898
- operation: config.api.operation(operation_name),
899
- client: self,
900
- params: params,
901
- config: config)
902
- context[:gem_name] = 'aws-sdk-ecr'
903
- context[:gem_version] = '1.0.0.rc1'
904
- Seahorse::Client::Request.new(handlers, context)
905
- end
773
+ # Notify Amazon ECR that you intend to upload an image layer.
774
+ #
775
+ # <note markdown="1"> This operation is used by the Amazon ECR proxy, and it is not intended
776
+ # for general use by customers for pulling and pushing images. In most
777
+ # cases, you should use the `docker` CLI to pull, tag, and push images.
778
+ #
779
+ # </note>
780
+ #
781
+ # @option params [String] :registry_id
782
+ # The AWS account ID associated with the registry that you intend to
783
+ # upload layers to. If you do not specify a registry, the default
784
+ # registry is assumed.
785
+ #
786
+ # @option params [required, String] :repository_name
787
+ # The name of the repository that you intend to upload layers to.
788
+ #
789
+ # @return [Types::InitiateLayerUploadResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
790
+ #
791
+ # * {Types::InitiateLayerUploadResponse#upload_id #upload_id} => String
792
+ # * {Types::InitiateLayerUploadResponse#part_size #part_size} => Integer
793
+ #
794
+ # @example Request syntax with placeholder values
795
+ #
796
+ # resp = client.initiate_layer_upload({
797
+ # registry_id: "RegistryId",
798
+ # repository_name: "RepositoryName", # required
799
+ # })
800
+ #
801
+ # @example Response structure
802
+ #
803
+ # resp.upload_id #=> String
804
+ # resp.part_size #=> Integer
805
+ #
806
+ # @overload initiate_layer_upload(params = {})
807
+ # @param [Hash] params ({})
808
+ def initiate_layer_upload(params = {}, options = {})
809
+ req = build_request(:initiate_layer_upload, params)
810
+ req.send_request(options)
811
+ end
906
812
 
907
- # @api private
908
- # @deprecated
909
- def waiter_names
910
- []
911
- end
813
+ # Lists all the image IDs for a given repository.
814
+ #
815
+ # You can filter images based on whether or not they are tagged by
816
+ # setting the `tagStatus` parameter to `TAGGED` or `UNTAGGED`. For
817
+ # example, you can filter your results to return only `UNTAGGED` images
818
+ # and then pipe that result to a BatchDeleteImage operation to delete
819
+ # them. Or, you can filter your results to return only `TAGGED` images
820
+ # to list all of the tags in your repository.
821
+ #
822
+ # @option params [String] :registry_id
823
+ # The AWS account ID associated with the registry that contains the
824
+ # repository to list images in. If you do not specify a registry, the
825
+ # default registry is assumed.
826
+ #
827
+ # @option params [required, String] :repository_name
828
+ # The repository whose image IDs are to be listed.
829
+ #
830
+ # @option params [String] :next_token
831
+ # The `nextToken` value returned from a previous paginated `ListImages`
832
+ # request where `maxResults` was used and the results exceeded the value
833
+ # of that parameter. Pagination continues from the end of the previous
834
+ # results that returned the `nextToken` value. This value is `null` when
835
+ # there are no more results to return.
836
+ #
837
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only used
838
+ # to retrieve the next items in a list and not for other programmatic
839
+ # purposes.
840
+ #
841
+ # </note>
842
+ #
843
+ # @option params [Integer] :max_results
844
+ # The maximum number of image results returned by `ListImages` in
845
+ # paginated output. When this parameter is used, `ListImages` only
846
+ # returns `maxResults` results in a single page along with a `nextToken`
847
+ # response element. The remaining results of the initial request can be
848
+ # seen by sending another `ListImages` request with the returned
849
+ # `nextToken` value. This value can be between 1 and 100. If this
850
+ # parameter is not used, then `ListImages` returns up to 100 results and
851
+ # a `nextToken` value, if applicable.
852
+ #
853
+ # @option params [Types::ListImagesFilter] :filter
854
+ # The filter key and value with which to filter your `ListImages`
855
+ # results.
856
+ #
857
+ # @return [Types::ListImagesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
858
+ #
859
+ # * {Types::ListImagesResponse#image_ids #image_ids} => Array&lt;Types::ImageIdentifier&gt;
860
+ # * {Types::ListImagesResponse#next_token #next_token} => String
861
+ #
862
+ # @example Request syntax with placeholder values
863
+ #
864
+ # resp = client.list_images({
865
+ # registry_id: "RegistryId",
866
+ # repository_name: "RepositoryName", # required
867
+ # next_token: "NextToken",
868
+ # max_results: 1,
869
+ # filter: {
870
+ # tag_status: "TAGGED", # accepts TAGGED, UNTAGGED
871
+ # },
872
+ # })
873
+ #
874
+ # @example Response structure
875
+ #
876
+ # resp.image_ids #=> Array
877
+ # resp.image_ids[0].image_digest #=> String
878
+ # resp.image_ids[0].image_tag #=> String
879
+ # resp.next_token #=> String
880
+ #
881
+ # @overload list_images(params = {})
882
+ # @param [Hash] params ({})
883
+ def list_images(params = {}, options = {})
884
+ req = build_request(:list_images, params)
885
+ req.send_request(options)
886
+ end
912
887
 
913
- class << self
888
+ # Creates or updates the image manifest and tags associated with an
889
+ # image.
890
+ #
891
+ # <note markdown="1"> This operation is used by the Amazon ECR proxy, and it is not intended
892
+ # for general use by customers for pulling and pushing images. In most
893
+ # cases, you should use the `docker` CLI to pull, tag, and push images.
894
+ #
895
+ # </note>
896
+ #
897
+ # @option params [String] :registry_id
898
+ # The AWS account ID associated with the registry that contains the
899
+ # repository in which to put the image. If you do not specify a
900
+ # registry, the default registry is assumed.
901
+ #
902
+ # @option params [required, String] :repository_name
903
+ # The name of the repository in which to put the image.
904
+ #
905
+ # @option params [required, String] :image_manifest
906
+ # The image manifest corresponding to the image to be uploaded.
907
+ #
908
+ # @option params [String] :image_tag
909
+ # The tag to associate with the image. This parameter is required for
910
+ # images that use the Docker Image Manifest V2 Schema 2 or OCI formats.
911
+ #
912
+ # @return [Types::PutImageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
913
+ #
914
+ # * {Types::PutImageResponse#image #image} => Types::Image
915
+ #
916
+ # @example Request syntax with placeholder values
917
+ #
918
+ # resp = client.put_image({
919
+ # registry_id: "RegistryId",
920
+ # repository_name: "RepositoryName", # required
921
+ # image_manifest: "ImageManifest", # required
922
+ # image_tag: "ImageTag",
923
+ # })
924
+ #
925
+ # @example Response structure
926
+ #
927
+ # resp.image.registry_id #=> String
928
+ # resp.image.repository_name #=> String
929
+ # resp.image.image_id.image_digest #=> String
930
+ # resp.image.image_id.image_tag #=> String
931
+ # resp.image.image_manifest #=> String
932
+ #
933
+ # @overload put_image(params = {})
934
+ # @param [Hash] params ({})
935
+ def put_image(params = {}, options = {})
936
+ req = build_request(:put_image, params)
937
+ req.send_request(options)
938
+ end
914
939
 
915
- # @api private
916
- attr_reader :identifier
940
+ # Applies a repository policy on a specified repository to control
941
+ # access permissions.
942
+ #
943
+ # @option params [String] :registry_id
944
+ # The AWS account ID associated with the registry that contains the
945
+ # repository. If you do not specify a registry, the default registry is
946
+ # assumed.
947
+ #
948
+ # @option params [required, String] :repository_name
949
+ # The name of the repository to receive the policy.
950
+ #
951
+ # @option params [required, String] :policy_text
952
+ # The JSON repository policy text to apply to the repository.
953
+ #
954
+ # @option params [Boolean] :force
955
+ # If the policy you are attempting to set on a repository policy would
956
+ # prevent you from setting another policy in the future, you must force
957
+ # the SetRepositoryPolicy operation. This is intended to prevent
958
+ # accidental repository lock outs.
959
+ #
960
+ # @return [Types::SetRepositoryPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
961
+ #
962
+ # * {Types::SetRepositoryPolicyResponse#registry_id #registry_id} => String
963
+ # * {Types::SetRepositoryPolicyResponse#repository_name #repository_name} => String
964
+ # * {Types::SetRepositoryPolicyResponse#policy_text #policy_text} => String
965
+ #
966
+ # @example Request syntax with placeholder values
967
+ #
968
+ # resp = client.set_repository_policy({
969
+ # registry_id: "RegistryId",
970
+ # repository_name: "RepositoryName", # required
971
+ # policy_text: "RepositoryPolicyText", # required
972
+ # force: false,
973
+ # })
974
+ #
975
+ # @example Response structure
976
+ #
977
+ # resp.registry_id #=> String
978
+ # resp.repository_name #=> String
979
+ # resp.policy_text #=> String
980
+ #
981
+ # @overload set_repository_policy(params = {})
982
+ # @param [Hash] params ({})
983
+ def set_repository_policy(params = {}, options = {})
984
+ req = build_request(:set_repository_policy, params)
985
+ req.send_request(options)
986
+ end
987
+
988
+ # Uploads an image layer part to Amazon ECR.
989
+ #
990
+ # <note markdown="1"> This operation is used by the Amazon ECR proxy, and it is not intended
991
+ # for general use by customers for pulling and pushing images. In most
992
+ # cases, you should use the `docker` CLI to pull, tag, and push images.
993
+ #
994
+ # </note>
995
+ #
996
+ # @option params [String] :registry_id
997
+ # The AWS account ID associated with the registry that you are uploading
998
+ # layer parts to. If you do not specify a registry, the default registry
999
+ # is assumed.
1000
+ #
1001
+ # @option params [required, String] :repository_name
1002
+ # The name of the repository that you are uploading layer parts to.
1003
+ #
1004
+ # @option params [required, String] :upload_id
1005
+ # The upload ID from a previous InitiateLayerUpload operation to
1006
+ # associate with the layer part upload.
1007
+ #
1008
+ # @option params [required, Integer] :part_first_byte
1009
+ # The integer value of the first byte of the layer part.
1010
+ #
1011
+ # @option params [required, Integer] :part_last_byte
1012
+ # The integer value of the last byte of the layer part.
1013
+ #
1014
+ # @option params [required, String, IO] :layer_part_blob
1015
+ # The base64-encoded layer part payload.
1016
+ #
1017
+ # @return [Types::UploadLayerPartResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1018
+ #
1019
+ # * {Types::UploadLayerPartResponse#registry_id #registry_id} => String
1020
+ # * {Types::UploadLayerPartResponse#repository_name #repository_name} => String
1021
+ # * {Types::UploadLayerPartResponse#upload_id #upload_id} => String
1022
+ # * {Types::UploadLayerPartResponse#last_byte_received #last_byte_received} => Integer
1023
+ #
1024
+ # @example Request syntax with placeholder values
1025
+ #
1026
+ # resp = client.upload_layer_part({
1027
+ # registry_id: "RegistryId",
1028
+ # repository_name: "RepositoryName", # required
1029
+ # upload_id: "UploadId", # required
1030
+ # part_first_byte: 1, # required
1031
+ # part_last_byte: 1, # required
1032
+ # layer_part_blob: "data", # required
1033
+ # })
1034
+ #
1035
+ # @example Response structure
1036
+ #
1037
+ # resp.registry_id #=> String
1038
+ # resp.repository_name #=> String
1039
+ # resp.upload_id #=> String
1040
+ # resp.last_byte_received #=> Integer
1041
+ #
1042
+ # @overload upload_layer_part(params = {})
1043
+ # @param [Hash] params ({})
1044
+ def upload_layer_part(params = {}, options = {})
1045
+ req = build_request(:upload_layer_part, params)
1046
+ req.send_request(options)
1047
+ end
1048
+
1049
+ # @!endgroup
1050
+
1051
+ # @param params ({})
1052
+ # @api private
1053
+ def build_request(operation_name, params = {})
1054
+ handlers = @handlers.for(operation_name)
1055
+ context = Seahorse::Client::RequestContext.new(
1056
+ operation_name: operation_name,
1057
+ operation: config.api.operation(operation_name),
1058
+ client: self,
1059
+ params: params,
1060
+ config: config)
1061
+ context[:gem_name] = 'aws-sdk-ecr'
1062
+ context[:gem_version] = '1.0.0.rc1'
1063
+ Seahorse::Client::Request.new(handlers, context)
1064
+ end
917
1065
 
918
- # @api private
919
- def errors_module
920
- Errors
921
- end
1066
+ # @api private
1067
+ # @deprecated
1068
+ def waiter_names
1069
+ []
1070
+ end
1071
+
1072
+ class << self
1073
+
1074
+ # @api private
1075
+ attr_reader :identifier
922
1076
 
1077
+ # @api private
1078
+ def errors_module
1079
+ Errors
923
1080
  end
1081
+
924
1082
  end
925
1083
  end
926
1084
  end