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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 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