aws-sdk-ecrpublic 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: a2e8c286fc5fb3f3d1dbb29473d64962a8cd25ea3ccba57650fe68ba9ff19598
4
+ data.tar.gz: 6dd86a19cafe66e6c633b97cad707ad8f0856e791d593a9d233b961523d0049c
5
+ SHA512:
6
+ metadata.gz: 5a5e455dc0c8017d622526931f19b3f9843c371e44fe93a58d7e2678dc292461716f0b3627cab2cc1b9e227edc7ddae2d3062591d695b52d64fbbcebace0cbc7
7
+ data.tar.gz: 743dd5ce6f7e6e448c81ebbf7197eb5575c6267e4c998ad3bc85a2fb2560a1968664a0df3fe4cf14215e9e146368766cb232c9afab4bbaf4ea2a521a8dcbd118
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ require 'aws-sdk-core'
12
+ require 'aws-sigv4'
13
+
14
+ require_relative 'aws-sdk-ecrpublic/types'
15
+ require_relative 'aws-sdk-ecrpublic/client_api'
16
+ require_relative 'aws-sdk-ecrpublic/client'
17
+ require_relative 'aws-sdk-ecrpublic/errors'
18
+ require_relative 'aws-sdk-ecrpublic/resource'
19
+ require_relative 'aws-sdk-ecrpublic/customizations'
20
+
21
+ # This module provides support for Amazon Elastic Container Registry Public. This module is available in the
22
+ # `aws-sdk-ecrpublic` gem.
23
+ #
24
+ # # Client
25
+ #
26
+ # The {Client} class provides one method for each API operation. Operation
27
+ # methods each accept a hash of request parameters and return a response
28
+ # structure.
29
+ #
30
+ # ecr_public = Aws::ECRPublic::Client.new
31
+ # resp = ecr_public.batch_check_layer_availability(params)
32
+ #
33
+ # See {Client} for more information.
34
+ #
35
+ # # Errors
36
+ #
37
+ # Errors returned from Amazon Elastic Container Registry Public are defined in the
38
+ # {Errors} module and all extend {Errors::ServiceError}.
39
+ #
40
+ # begin
41
+ # # do stuff
42
+ # rescue Aws::ECRPublic::Errors::ServiceError
43
+ # # rescues all Amazon Elastic Container Registry Public API errors
44
+ # end
45
+ #
46
+ # See {Errors} for more information.
47
+ #
48
+ # @!group service
49
+ module Aws::ECRPublic
50
+
51
+ GEM_VERSION = '1.0.0'
52
+
53
+ end
@@ -0,0 +1,1458 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/signature_v4.rb'
31
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
32
+
33
+ Aws::Plugins::GlobalConfiguration.add_identifier(:ecrpublic)
34
+
35
+ module Aws::ECRPublic
36
+ # An API client for ECRPublic. To construct a client, you need to configure a `:region` and `:credentials`.
37
+ #
38
+ # client = Aws::ECRPublic::Client.new(
39
+ # region: region_name,
40
+ # credentials: credentials,
41
+ # # ...
42
+ # )
43
+ #
44
+ # For details on configuring region and credentials see
45
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
46
+ #
47
+ # See {#initialize} for a full list of supported configuration options.
48
+ class Client < Seahorse::Client::Base
49
+
50
+ include Aws::ClientStubs
51
+
52
+ @identifier = :ecrpublic
53
+
54
+ set_api(ClientApi::API)
55
+
56
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
57
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
58
+ add_plugin(Aws::Plugins::Logging)
59
+ add_plugin(Aws::Plugins::ParamConverter)
60
+ add_plugin(Aws::Plugins::ParamValidator)
61
+ add_plugin(Aws::Plugins::UserAgent)
62
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
63
+ add_plugin(Aws::Plugins::RetryErrors)
64
+ add_plugin(Aws::Plugins::GlobalConfiguration)
65
+ add_plugin(Aws::Plugins::RegionalEndpoint)
66
+ add_plugin(Aws::Plugins::EndpointDiscovery)
67
+ add_plugin(Aws::Plugins::EndpointPattern)
68
+ add_plugin(Aws::Plugins::ResponsePaging)
69
+ add_plugin(Aws::Plugins::StubResponses)
70
+ add_plugin(Aws::Plugins::IdempotencyToken)
71
+ add_plugin(Aws::Plugins::JsonvalueConverter)
72
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
73
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
+ add_plugin(Aws::Plugins::TransferEncoding)
75
+ add_plugin(Aws::Plugins::HttpChecksum)
76
+ add_plugin(Aws::Plugins::SignatureV4)
77
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
78
+
79
+ # @overload initialize(options)
80
+ # @param [Hash] options
81
+ # @option options [required, Aws::CredentialProvider] :credentials
82
+ # Your AWS credentials. This can be an instance of any one of the
83
+ # following classes:
84
+ #
85
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
+ # credentials.
87
+ #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
102
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
103
+ # from an EC2 IMDS on an EC2 instance.
104
+ #
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
107
+ #
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
110
+ #
111
+ # When `:credentials` are not configured directly, the following
112
+ # locations will be searched for credentials:
113
+ #
114
+ # * `Aws.config[:credentials]`
115
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
116
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
117
+ # * `~/.aws/credentials`
118
+ # * `~/.aws/config`
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
123
+ #
124
+ # @option options [required, String] :region
125
+ # The AWS region to connect to. The configured `:region` is
126
+ # used to determine the service `:endpoint`. When not passed,
127
+ # a default `:region` is searched for in the following locations:
128
+ #
129
+ # * `Aws.config[:region]`
130
+ # * `ENV['AWS_REGION']`
131
+ # * `ENV['AMAZON_REGION']`
132
+ # * `ENV['AWS_DEFAULT_REGION']`
133
+ # * `~/.aws/credentials`
134
+ # * `~/.aws/config`
135
+ #
136
+ # @option options [String] :access_key_id
137
+ #
138
+ # @option options [Boolean] :active_endpoint_cache (false)
139
+ # When set to `true`, a thread polling for endpoints will be running in
140
+ # the background every 60 secs (default). Defaults to `false`.
141
+ #
142
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
143
+ # Used only in `adaptive` retry mode. When true, the request will sleep
144
+ # until there is sufficent client side capacity to retry the request.
145
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
146
+ # not retry instead of sleeping.
147
+ #
148
+ # @option options [Boolean] :client_side_monitoring (false)
149
+ # When `true`, client-side metrics will be collected for all API requests from
150
+ # this client.
151
+ #
152
+ # @option options [String] :client_side_monitoring_client_id ("")
153
+ # Allows you to provide an identifier for this client which will be attached to
154
+ # all generated client side metrics. Defaults to an empty string.
155
+ #
156
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
157
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
158
+ # side monitoring agent is running on, where client metrics will be published via UDP.
159
+ #
160
+ # @option options [Integer] :client_side_monitoring_port (31000)
161
+ # Required for publishing client metrics. The port that the client side monitoring
162
+ # agent is running on, where client metrics will be published via UDP.
163
+ #
164
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
165
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
166
+ # will use the Client Side Monitoring Agent Publisher.
167
+ #
168
+ # @option options [Boolean] :convert_params (true)
169
+ # When `true`, an attempt is made to coerce request parameters into
170
+ # the required types.
171
+ #
172
+ # @option options [Boolean] :correct_clock_skew (true)
173
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
+ # a clock skew correction and retry requests with skewed client clocks.
175
+ #
176
+ # @option options [Boolean] :disable_host_prefix_injection (false)
177
+ # Set to true to disable SDK automatically adding host prefix
178
+ # to default service endpoint when available.
179
+ #
180
+ # @option options [String] :endpoint
181
+ # The client endpoint is normally constructed from the `:region`
182
+ # option. You should only configure an `:endpoint` when connecting
183
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
184
+ #
185
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
186
+ # Used for the maximum size limit of the LRU cache storing endpoints data
187
+ # for endpoint discovery enabled operations. Defaults to 1000.
188
+ #
189
+ # @option options [Integer] :endpoint_cache_max_threads (10)
190
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
191
+ #
192
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
193
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
194
+ # Use this option to config the time interval in seconds for making
195
+ # requests fetching endpoints information. Defaults to 60 sec.
196
+ #
197
+ # @option options [Boolean] :endpoint_discovery (false)
198
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
199
+ #
200
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
201
+ # The log formatter.
202
+ #
203
+ # @option options [Symbol] :log_level (:info)
204
+ # The log level to send messages to the `:logger` at.
205
+ #
206
+ # @option options [Logger] :logger
207
+ # The Logger instance to send log messages to. If this option
208
+ # is not set, logging will be disabled.
209
+ #
210
+ # @option options [Integer] :max_attempts (3)
211
+ # An integer representing the maximum number attempts that will be made for
212
+ # a single request, including the initial attempt. For example,
213
+ # setting this value to 5 will result in a request being retried up to
214
+ # 4 times. Used in `standard` and `adaptive` retry modes.
215
+ #
216
+ # @option options [String] :profile ("default")
217
+ # Used when loading credentials from the shared credentials file
218
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
219
+ #
220
+ # @option options [Proc] :retry_backoff
221
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
222
+ # This option is only used in the `legacy` retry mode.
223
+ #
224
+ # @option options [Float] :retry_base_delay (0.3)
225
+ # The base delay in seconds used by the default backoff function. This option
226
+ # is only used in the `legacy` retry mode.
227
+ #
228
+ # @option options [Symbol] :retry_jitter (:none)
229
+ # A delay randomiser function used by the default backoff function.
230
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
231
+ # otherwise a Proc that takes and returns a number. This option is only used
232
+ # in the `legacy` retry mode.
233
+ #
234
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
235
+ #
236
+ # @option options [Integer] :retry_limit (3)
237
+ # The maximum number of times to retry failed requests. Only
238
+ # ~ 500 level server errors and certain ~ 400 level client errors
239
+ # are retried. Generally, these are throttling errors, data
240
+ # checksum errors, networking errors, timeout errors, auth errors,
241
+ # endpoint discovery, and errors from expired credentials.
242
+ # This option is only used in the `legacy` retry mode.
243
+ #
244
+ # @option options [Integer] :retry_max_delay (0)
245
+ # The maximum number of seconds to delay between retries (0 for no limit)
246
+ # used by the default backoff function. This option is only used in the
247
+ # `legacy` retry mode.
248
+ #
249
+ # @option options [String] :retry_mode ("legacy")
250
+ # Specifies which retry algorithm to use. Values are:
251
+ #
252
+ # * `legacy` - The pre-existing retry behavior. This is default value if
253
+ # no retry mode is provided.
254
+ #
255
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
256
+ # This includes support for retry quotas, which limit the number of
257
+ # unsuccessful retries a client can make.
258
+ #
259
+ # * `adaptive` - An experimental retry mode that includes all the
260
+ # functionality of `standard` mode along with automatic client side
261
+ # throttling. This is a provisional mode that may change behavior
262
+ # in the future.
263
+ #
264
+ #
265
+ # @option options [String] :secret_access_key
266
+ #
267
+ # @option options [String] :session_token
268
+ #
269
+ # @option options [Boolean] :simple_json (false)
270
+ # Disables request parameter conversion, validation, and formatting.
271
+ # Also disable response data type conversions. This option is useful
272
+ # when you want to ensure the highest level of performance by
273
+ # avoiding overhead of walking request parameters and response data
274
+ # structures.
275
+ #
276
+ # When `:simple_json` is enabled, the request parameters hash must
277
+ # be formatted exactly as the DynamoDB API expects.
278
+ #
279
+ # @option options [Boolean] :stub_responses (false)
280
+ # Causes the client to return stubbed responses. By default
281
+ # fake responses are generated and returned. You can specify
282
+ # the response data to return or errors to raise by calling
283
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
284
+ #
285
+ # ** Please note ** When response stubbing is enabled, no HTTP
286
+ # requests are made, and retries are disabled.
287
+ #
288
+ # @option options [Boolean] :validate_params (true)
289
+ # When `true`, request parameters are validated before
290
+ # sending the request.
291
+ #
292
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
293
+ # requests through. Formatted like 'http://proxy.com:123'.
294
+ #
295
+ # @option options [Float] :http_open_timeout (15) The number of
296
+ # seconds to wait when opening a HTTP session before raising a
297
+ # `Timeout::Error`.
298
+ #
299
+ # @option options [Integer] :http_read_timeout (60) The default
300
+ # number of seconds to wait for response data. This value can
301
+ # safely be set per-request on the session.
302
+ #
303
+ # @option options [Float] :http_idle_timeout (5) The number of
304
+ # seconds a connection is allowed to sit idle before it is
305
+ # considered stale. Stale connections are closed and removed
306
+ # from the pool before making a request.
307
+ #
308
+ # @option options [Float] :http_continue_timeout (1) The number of
309
+ # seconds to wait for a 100-continue response before sending the
310
+ # request body. This option has no effect unless the request has
311
+ # "Expect" header set to "100-continue". Defaults to `nil` which
312
+ # disables this behaviour. This value can safely be set per
313
+ # request on the session.
314
+ #
315
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
316
+ # HTTP debug output will be sent to the `:logger`.
317
+ #
318
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
319
+ # SSL peer certificates are verified when establishing a
320
+ # connection.
321
+ #
322
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
323
+ # certificate authority bundle file that should be used when
324
+ # verifying peer certificates. If you do not pass
325
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
326
+ # will be used if available.
327
+ #
328
+ # @option options [String] :ssl_ca_directory Full path of the
329
+ # directory that contains the unbundled SSL certificate
330
+ # authority files for verifying peer certificates. If you do
331
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
332
+ # system default will be used if available.
333
+ #
334
+ def initialize(*args)
335
+ super
336
+ end
337
+
338
+ # @!group API Operations
339
+
340
+ # Checks the availability of one or more image layers within a
341
+ # repository in a public registry. When an image is pushed to a
342
+ # repository, each image layer is checked to verify if it has been
343
+ # uploaded before. If it has been uploaded, then the image layer is
344
+ # skipped.
345
+ #
346
+ # <note markdown="1"> This operation is used by the Amazon ECR proxy and is not generally
347
+ # used by customers for pulling and pushing images. In most cases, you
348
+ # should use the `docker` CLI to pull, tag, and push images.
349
+ #
350
+ # </note>
351
+ #
352
+ # @option params [String] :registry_id
353
+ # The AWS account ID associated with the public registry that contains
354
+ # the image layers to check. If you do not specify a registry, the
355
+ # default public registry is assumed.
356
+ #
357
+ # @option params [required, String] :repository_name
358
+ # The name of the repository that is associated with the image layers to
359
+ # check.
360
+ #
361
+ # @option params [required, Array<String>] :layer_digests
362
+ # The digests of the image layers to check.
363
+ #
364
+ # @return [Types::BatchCheckLayerAvailabilityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
365
+ #
366
+ # * {Types::BatchCheckLayerAvailabilityResponse#layers #layers} => Array&lt;Types::Layer&gt;
367
+ # * {Types::BatchCheckLayerAvailabilityResponse#failures #failures} => Array&lt;Types::LayerFailure&gt;
368
+ #
369
+ # @example Request syntax with placeholder values
370
+ #
371
+ # resp = client.batch_check_layer_availability({
372
+ # registry_id: "RegistryIdOrAlias",
373
+ # repository_name: "RepositoryName", # required
374
+ # layer_digests: ["BatchedOperationLayerDigest"], # required
375
+ # })
376
+ #
377
+ # @example Response structure
378
+ #
379
+ # resp.layers #=> Array
380
+ # resp.layers[0].layer_digest #=> String
381
+ # resp.layers[0].layer_availability #=> String, one of "AVAILABLE", "UNAVAILABLE"
382
+ # resp.layers[0].layer_size #=> Integer
383
+ # resp.layers[0].media_type #=> String
384
+ # resp.failures #=> Array
385
+ # resp.failures[0].layer_digest #=> String
386
+ # resp.failures[0].failure_code #=> String, one of "InvalidLayerDigest", "MissingLayerDigest"
387
+ # resp.failures[0].failure_reason #=> String
388
+ #
389
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/BatchCheckLayerAvailability AWS API Documentation
390
+ #
391
+ # @overload batch_check_layer_availability(params = {})
392
+ # @param [Hash] params ({})
393
+ def batch_check_layer_availability(params = {}, options = {})
394
+ req = build_request(:batch_check_layer_availability, params)
395
+ req.send_request(options)
396
+ end
397
+
398
+ # Deletes a list of specified images within a repository in a public
399
+ # registry. Images are specified with either an `imageTag` or
400
+ # `imageDigest`.
401
+ #
402
+ # You can remove a tag from an image by specifying the image's tag in
403
+ # your request. When you remove the last tag from an image, the image is
404
+ # deleted from your repository.
405
+ #
406
+ # You can completely delete an image (and all of its tags) by specifying
407
+ # the image's digest in your request.
408
+ #
409
+ # @option params [String] :registry_id
410
+ # The AWS account ID associated with the registry that contains the
411
+ # image to delete. If you do not specify a registry, the default public
412
+ # registry is assumed.
413
+ #
414
+ # @option params [required, String] :repository_name
415
+ # The repository in a public registry that contains the image to delete.
416
+ #
417
+ # @option params [required, Array<Types::ImageIdentifier>] :image_ids
418
+ # A list of image ID references that correspond to images to delete. The
419
+ # format of the `imageIds` reference is `imageTag=tag` or
420
+ # `imageDigest=digest`.
421
+ #
422
+ # @return [Types::BatchDeleteImageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
423
+ #
424
+ # * {Types::BatchDeleteImageResponse#image_ids #image_ids} => Array&lt;Types::ImageIdentifier&gt;
425
+ # * {Types::BatchDeleteImageResponse#failures #failures} => Array&lt;Types::ImageFailure&gt;
426
+ #
427
+ # @example Request syntax with placeholder values
428
+ #
429
+ # resp = client.batch_delete_image({
430
+ # registry_id: "RegistryId",
431
+ # repository_name: "RepositoryName", # required
432
+ # image_ids: [ # required
433
+ # {
434
+ # image_digest: "ImageDigest",
435
+ # image_tag: "ImageTag",
436
+ # },
437
+ # ],
438
+ # })
439
+ #
440
+ # @example Response structure
441
+ #
442
+ # resp.image_ids #=> Array
443
+ # resp.image_ids[0].image_digest #=> String
444
+ # resp.image_ids[0].image_tag #=> String
445
+ # resp.failures #=> Array
446
+ # resp.failures[0].image_id.image_digest #=> String
447
+ # resp.failures[0].image_id.image_tag #=> String
448
+ # resp.failures[0].failure_code #=> String, one of "InvalidImageDigest", "InvalidImageTag", "ImageTagDoesNotMatchDigest", "ImageNotFound", "MissingDigestAndTag", "ImageReferencedByManifestList", "KmsError"
449
+ # resp.failures[0].failure_reason #=> String
450
+ #
451
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/BatchDeleteImage AWS API Documentation
452
+ #
453
+ # @overload batch_delete_image(params = {})
454
+ # @param [Hash] params ({})
455
+ def batch_delete_image(params = {}, options = {})
456
+ req = build_request(:batch_delete_image, params)
457
+ req.send_request(options)
458
+ end
459
+
460
+ # Informs Amazon ECR that the image layer upload has completed for a
461
+ # specified public registry, repository name, and upload ID. You can
462
+ # optionally provide a `sha256` digest of the image layer for data
463
+ # validation purposes.
464
+ #
465
+ # When an image is pushed, the CompleteLayerUpload API is called once
466
+ # per each new image layer to verify that the upload has completed.
467
+ #
468
+ # <note markdown="1"> This operation is used by the Amazon ECR proxy and is not generally
469
+ # used by customers for pulling and pushing images. In most cases, you
470
+ # should use the `docker` CLI to pull, tag, and push images.
471
+ #
472
+ # </note>
473
+ #
474
+ # @option params [String] :registry_id
475
+ # The AWS account ID associated with the registry to which to upload
476
+ # layers. If you do not specify a registry, the default public registry
477
+ # is assumed.
478
+ #
479
+ # @option params [required, String] :repository_name
480
+ # The name of the repository in a public registry to associate with the
481
+ # image layer.
482
+ #
483
+ # @option params [required, String] :upload_id
484
+ # The upload ID from a previous InitiateLayerUpload operation to
485
+ # associate with the image layer.
486
+ #
487
+ # @option params [required, Array<String>] :layer_digests
488
+ # The `sha256` digest of the image layer.
489
+ #
490
+ # @return [Types::CompleteLayerUploadResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
491
+ #
492
+ # * {Types::CompleteLayerUploadResponse#registry_id #registry_id} => String
493
+ # * {Types::CompleteLayerUploadResponse#repository_name #repository_name} => String
494
+ # * {Types::CompleteLayerUploadResponse#upload_id #upload_id} => String
495
+ # * {Types::CompleteLayerUploadResponse#layer_digest #layer_digest} => String
496
+ #
497
+ # @example Request syntax with placeholder values
498
+ #
499
+ # resp = client.complete_layer_upload({
500
+ # registry_id: "RegistryIdOrAlias",
501
+ # repository_name: "RepositoryName", # required
502
+ # upload_id: "UploadId", # required
503
+ # layer_digests: ["LayerDigest"], # required
504
+ # })
505
+ #
506
+ # @example Response structure
507
+ #
508
+ # resp.registry_id #=> String
509
+ # resp.repository_name #=> String
510
+ # resp.upload_id #=> String
511
+ # resp.layer_digest #=> String
512
+ #
513
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/CompleteLayerUpload AWS API Documentation
514
+ #
515
+ # @overload complete_layer_upload(params = {})
516
+ # @param [Hash] params ({})
517
+ def complete_layer_upload(params = {}, options = {})
518
+ req = build_request(:complete_layer_upload, params)
519
+ req.send_request(options)
520
+ end
521
+
522
+ # Creates a repository in a public registry. For more information, see
523
+ # [Amazon ECR repositories][1] in the *Amazon Elastic Container Registry
524
+ # User Guide*.
525
+ #
526
+ #
527
+ #
528
+ # [1]: https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html
529
+ #
530
+ # @option params [required, String] :repository_name
531
+ # The name to use for the repository. This appears publicly in the
532
+ # Amazon ECR Public Gallery. The repository name may be specified on its
533
+ # own (such as `nginx-web-app`) or it can be prepended with a namespace
534
+ # to group the repository into a category (such as
535
+ # `project-a/nginx-web-app`).
536
+ #
537
+ # @option params [Types::RepositoryCatalogDataInput] :catalog_data
538
+ # The details about the repository that are publicly visible in the
539
+ # Amazon ECR Public Gallery.
540
+ #
541
+ # @return [Types::CreateRepositoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
542
+ #
543
+ # * {Types::CreateRepositoryResponse#repository #repository} => Types::Repository
544
+ # * {Types::CreateRepositoryResponse#catalog_data #catalog_data} => Types::RepositoryCatalogData
545
+ #
546
+ # @example Request syntax with placeholder values
547
+ #
548
+ # resp = client.create_repository({
549
+ # repository_name: "RepositoryName", # required
550
+ # catalog_data: {
551
+ # description: "RepositoryDescription",
552
+ # architectures: ["Architecture"],
553
+ # operating_systems: ["OperatingSystem"],
554
+ # logo_image_blob: "data",
555
+ # about_text: "AboutText",
556
+ # usage_text: "UsageText",
557
+ # },
558
+ # })
559
+ #
560
+ # @example Response structure
561
+ #
562
+ # resp.repository.repository_arn #=> String
563
+ # resp.repository.registry_id #=> String
564
+ # resp.repository.repository_name #=> String
565
+ # resp.repository.repository_uri #=> String
566
+ # resp.repository.created_at #=> Time
567
+ # resp.catalog_data.description #=> String
568
+ # resp.catalog_data.architectures #=> Array
569
+ # resp.catalog_data.architectures[0] #=> String
570
+ # resp.catalog_data.operating_systems #=> Array
571
+ # resp.catalog_data.operating_systems[0] #=> String
572
+ # resp.catalog_data.logo_url #=> String
573
+ # resp.catalog_data.about_text #=> String
574
+ # resp.catalog_data.usage_text #=> String
575
+ # resp.catalog_data.marketplace_certified #=> Boolean
576
+ #
577
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/CreateRepository AWS API Documentation
578
+ #
579
+ # @overload create_repository(params = {})
580
+ # @param [Hash] params ({})
581
+ def create_repository(params = {}, options = {})
582
+ req = build_request(:create_repository, params)
583
+ req.send_request(options)
584
+ end
585
+
586
+ # Deletes a repository in a public registry. If the repository contains
587
+ # images, you must either delete all images in the repository or use the
588
+ # `force` option which deletes all images on your behalf before deleting
589
+ # the repository.
590
+ #
591
+ # @option params [String] :registry_id
592
+ # The AWS account ID associated with the public registry that contains
593
+ # the repository to delete. If you do not specify a registry, the
594
+ # default public registry is assumed.
595
+ #
596
+ # @option params [required, String] :repository_name
597
+ # The name of the repository to delete.
598
+ #
599
+ # @option params [Boolean] :force
600
+ # If a repository contains images, forces the deletion.
601
+ #
602
+ # @return [Types::DeleteRepositoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
603
+ #
604
+ # * {Types::DeleteRepositoryResponse#repository #repository} => Types::Repository
605
+ #
606
+ # @example Request syntax with placeholder values
607
+ #
608
+ # resp = client.delete_repository({
609
+ # registry_id: "RegistryId",
610
+ # repository_name: "RepositoryName", # required
611
+ # force: false,
612
+ # })
613
+ #
614
+ # @example Response structure
615
+ #
616
+ # resp.repository.repository_arn #=> String
617
+ # resp.repository.registry_id #=> String
618
+ # resp.repository.repository_name #=> String
619
+ # resp.repository.repository_uri #=> String
620
+ # resp.repository.created_at #=> Time
621
+ #
622
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/DeleteRepository AWS API Documentation
623
+ #
624
+ # @overload delete_repository(params = {})
625
+ # @param [Hash] params ({})
626
+ def delete_repository(params = {}, options = {})
627
+ req = build_request(:delete_repository, params)
628
+ req.send_request(options)
629
+ end
630
+
631
+ # Deletes the repository policy associated with the specified
632
+ # repository.
633
+ #
634
+ # @option params [String] :registry_id
635
+ # The AWS account ID associated with the public registry that contains
636
+ # the repository policy to delete. If you do not specify a registry, the
637
+ # default public registry is assumed.
638
+ #
639
+ # @option params [required, String] :repository_name
640
+ # The name of the repository that is associated with the repository
641
+ # policy to delete.
642
+ #
643
+ # @return [Types::DeleteRepositoryPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
644
+ #
645
+ # * {Types::DeleteRepositoryPolicyResponse#registry_id #registry_id} => String
646
+ # * {Types::DeleteRepositoryPolicyResponse#repository_name #repository_name} => String
647
+ # * {Types::DeleteRepositoryPolicyResponse#policy_text #policy_text} => String
648
+ #
649
+ # @example Request syntax with placeholder values
650
+ #
651
+ # resp = client.delete_repository_policy({
652
+ # registry_id: "RegistryId",
653
+ # repository_name: "RepositoryName", # required
654
+ # })
655
+ #
656
+ # @example Response structure
657
+ #
658
+ # resp.registry_id #=> String
659
+ # resp.repository_name #=> String
660
+ # resp.policy_text #=> String
661
+ #
662
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/DeleteRepositoryPolicy AWS API Documentation
663
+ #
664
+ # @overload delete_repository_policy(params = {})
665
+ # @param [Hash] params ({})
666
+ def delete_repository_policy(params = {}, options = {})
667
+ req = build_request(:delete_repository_policy, params)
668
+ req.send_request(options)
669
+ end
670
+
671
+ # Returns the image tag details for a repository in a public registry.
672
+ #
673
+ # @option params [String] :registry_id
674
+ # The AWS account ID associated with the public registry that contains
675
+ # the repository in which to describe images. If you do not specify a
676
+ # registry, the default public registry is assumed.
677
+ #
678
+ # @option params [required, String] :repository_name
679
+ # The name of the repository that contains the image tag details to
680
+ # describe.
681
+ #
682
+ # @option params [String] :next_token
683
+ # The `nextToken` value returned from a previous paginated
684
+ # `DescribeImageTags` request where `maxResults` was used and the
685
+ # results exceeded the value of that parameter. Pagination continues
686
+ # from the end of the previous results that returned the `nextToken`
687
+ # value. This value is `null` when there are no more results to return.
688
+ # This option cannot be used when you specify images with `imageIds`.
689
+ #
690
+ # @option params [Integer] :max_results
691
+ # The maximum number of repository results returned by
692
+ # `DescribeImageTags` in paginated output. When this parameter is used,
693
+ # `DescribeImageTags` only returns `maxResults` results in a single page
694
+ # along with a `nextToken` response element. The remaining results of
695
+ # the initial request can be seen by sending another `DescribeImageTags`
696
+ # request with the returned `nextToken` value. This value can be between
697
+ # 1 and 1000. If this parameter is not used, then `DescribeImageTags`
698
+ # returns up to 100 results and a `nextToken` value, if applicable. This
699
+ # option cannot be used when you specify images with `imageIds`.
700
+ #
701
+ # @return [Types::DescribeImageTagsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
702
+ #
703
+ # * {Types::DescribeImageTagsResponse#image_tag_details #image_tag_details} => Array&lt;Types::ImageTagDetail&gt;
704
+ # * {Types::DescribeImageTagsResponse#next_token #next_token} => String
705
+ #
706
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
707
+ #
708
+ # @example Request syntax with placeholder values
709
+ #
710
+ # resp = client.describe_image_tags({
711
+ # registry_id: "RegistryId",
712
+ # repository_name: "RepositoryName", # required
713
+ # next_token: "NextToken",
714
+ # max_results: 1,
715
+ # })
716
+ #
717
+ # @example Response structure
718
+ #
719
+ # resp.image_tag_details #=> Array
720
+ # resp.image_tag_details[0].image_tag #=> String
721
+ # resp.image_tag_details[0].created_at #=> Time
722
+ # resp.image_tag_details[0].image_detail.image_digest #=> String
723
+ # resp.image_tag_details[0].image_detail.image_size_in_bytes #=> Integer
724
+ # resp.image_tag_details[0].image_detail.image_pushed_at #=> Time
725
+ # resp.image_tag_details[0].image_detail.image_manifest_media_type #=> String
726
+ # resp.image_tag_details[0].image_detail.artifact_media_type #=> String
727
+ # resp.next_token #=> String
728
+ #
729
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/DescribeImageTags AWS API Documentation
730
+ #
731
+ # @overload describe_image_tags(params = {})
732
+ # @param [Hash] params ({})
733
+ def describe_image_tags(params = {}, options = {})
734
+ req = build_request(:describe_image_tags, params)
735
+ req.send_request(options)
736
+ end
737
+
738
+ # Returns metadata about the images in a repository in a public
739
+ # registry.
740
+ #
741
+ # <note markdown="1"> Beginning with Docker version 1.9, the Docker client compresses image
742
+ # layers before pushing them to a V2 Docker registry. The output of the
743
+ # `docker images` command shows the uncompressed image size, so it may
744
+ # return a larger image size than the image sizes returned by
745
+ # DescribeImages.
746
+ #
747
+ # </note>
748
+ #
749
+ # @option params [String] :registry_id
750
+ # The AWS account ID associated with the public registry that contains
751
+ # the repository in which to describe images. If you do not specify a
752
+ # registry, the default public registry is assumed.
753
+ #
754
+ # @option params [required, String] :repository_name
755
+ # The repository that contains the images to describe.
756
+ #
757
+ # @option params [Array<Types::ImageIdentifier>] :image_ids
758
+ # The list of image IDs for the requested repository.
759
+ #
760
+ # @option params [String] :next_token
761
+ # The `nextToken` value returned from a previous paginated
762
+ # `DescribeImages` request where `maxResults` was used and the results
763
+ # exceeded the value of that parameter. Pagination continues from the
764
+ # end of the previous results that returned the `nextToken` value. This
765
+ # value is `null` when there are no more results to return. This option
766
+ # cannot be used when you specify images with `imageIds`.
767
+ #
768
+ # @option params [Integer] :max_results
769
+ # The maximum number of repository results returned by `DescribeImages`
770
+ # in paginated output. When this parameter is used, `DescribeImages`
771
+ # only returns `maxResults` results in a single page along with a
772
+ # `nextToken` response element. The remaining results of the initial
773
+ # request can be seen by sending another `DescribeImages` request with
774
+ # the returned `nextToken` value. This value can be between 1 and 1000.
775
+ # If this parameter is not used, then `DescribeImages` returns up to 100
776
+ # results and a `nextToken` value, if applicable. This option cannot be
777
+ # used when you specify images with `imageIds`.
778
+ #
779
+ # @return [Types::DescribeImagesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
780
+ #
781
+ # * {Types::DescribeImagesResponse#image_details #image_details} => Array&lt;Types::ImageDetail&gt;
782
+ # * {Types::DescribeImagesResponse#next_token #next_token} => String
783
+ #
784
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
785
+ #
786
+ # @example Request syntax with placeholder values
787
+ #
788
+ # resp = client.describe_images({
789
+ # registry_id: "RegistryId",
790
+ # repository_name: "RepositoryName", # required
791
+ # image_ids: [
792
+ # {
793
+ # image_digest: "ImageDigest",
794
+ # image_tag: "ImageTag",
795
+ # },
796
+ # ],
797
+ # next_token: "NextToken",
798
+ # max_results: 1,
799
+ # })
800
+ #
801
+ # @example Response structure
802
+ #
803
+ # resp.image_details #=> Array
804
+ # resp.image_details[0].registry_id #=> String
805
+ # resp.image_details[0].repository_name #=> String
806
+ # resp.image_details[0].image_digest #=> String
807
+ # resp.image_details[0].image_tags #=> Array
808
+ # resp.image_details[0].image_tags[0] #=> String
809
+ # resp.image_details[0].image_size_in_bytes #=> Integer
810
+ # resp.image_details[0].image_pushed_at #=> Time
811
+ # resp.image_details[0].image_manifest_media_type #=> String
812
+ # resp.image_details[0].artifact_media_type #=> String
813
+ # resp.next_token #=> String
814
+ #
815
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/DescribeImages AWS API Documentation
816
+ #
817
+ # @overload describe_images(params = {})
818
+ # @param [Hash] params ({})
819
+ def describe_images(params = {}, options = {})
820
+ req = build_request(:describe_images, params)
821
+ req.send_request(options)
822
+ end
823
+
824
+ # Returns details for a public registry.
825
+ #
826
+ # @option params [String] :next_token
827
+ # The `nextToken` value returned from a previous paginated
828
+ # `DescribeRegistries` request where `maxResults` was used and the
829
+ # results exceeded the value of that parameter. Pagination continues
830
+ # from the end of the previous results that returned the `nextToken`
831
+ # value. This value is `null` when there are no more results to return.
832
+ #
833
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only used
834
+ # to retrieve the next items in a list and not for other programmatic
835
+ # purposes.
836
+ #
837
+ # </note>
838
+ #
839
+ # @option params [Integer] :max_results
840
+ # The maximum number of repository results returned by
841
+ # `DescribeRegistries` in paginated output. When this parameter is used,
842
+ # `DescribeRegistries` only returns `maxResults` results in a single
843
+ # page along with a `nextToken` response element. The remaining results
844
+ # of the initial request can be seen by sending another
845
+ # `DescribeRegistries` request with the returned `nextToken` value. This
846
+ # value can be between 1 and 1000. If this parameter is not used, then
847
+ # `DescribeRegistries` returns up to 100 results and a `nextToken`
848
+ # value, if applicable.
849
+ #
850
+ # @return [Types::DescribeRegistriesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
851
+ #
852
+ # * {Types::DescribeRegistriesResponse#registries #registries} => Array&lt;Types::Registry&gt;
853
+ # * {Types::DescribeRegistriesResponse#next_token #next_token} => String
854
+ #
855
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
856
+ #
857
+ # @example Request syntax with placeholder values
858
+ #
859
+ # resp = client.describe_registries({
860
+ # next_token: "NextToken",
861
+ # max_results: 1,
862
+ # })
863
+ #
864
+ # @example Response structure
865
+ #
866
+ # resp.registries #=> Array
867
+ # resp.registries[0].registry_id #=> String
868
+ # resp.registries[0].registry_arn #=> String
869
+ # resp.registries[0].registry_uri #=> String
870
+ # resp.registries[0].verified #=> Boolean
871
+ # resp.registries[0].aliases #=> Array
872
+ # resp.registries[0].aliases[0].name #=> String
873
+ # resp.registries[0].aliases[0].status #=> String, one of "ACTIVE", "PENDING", "REJECTED"
874
+ # resp.registries[0].aliases[0].primary_registry_alias #=> Boolean
875
+ # resp.registries[0].aliases[0].default_registry_alias #=> Boolean
876
+ # resp.next_token #=> String
877
+ #
878
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/DescribeRegistries AWS API Documentation
879
+ #
880
+ # @overload describe_registries(params = {})
881
+ # @param [Hash] params ({})
882
+ def describe_registries(params = {}, options = {})
883
+ req = build_request(:describe_registries, params)
884
+ req.send_request(options)
885
+ end
886
+
887
+ # Describes repositories in a public registry.
888
+ #
889
+ # @option params [String] :registry_id
890
+ # The AWS account ID associated with the registry that contains the
891
+ # repositories to be described. If you do not specify a registry, the
892
+ # default public registry is assumed.
893
+ #
894
+ # @option params [Array<String>] :repository_names
895
+ # A list of repositories to describe. If this parameter is omitted, then
896
+ # all repositories in a registry are described.
897
+ #
898
+ # @option params [String] :next_token
899
+ # The `nextToken` value returned from a previous paginated
900
+ # `DescribeRepositories` request where `maxResults` was used and the
901
+ # results exceeded the value of that parameter. Pagination continues
902
+ # from the end of the previous results that returned the `nextToken`
903
+ # value. This value is `null` when there are no more results to return.
904
+ # This option cannot be used when you specify repositories with
905
+ # `repositoryNames`.
906
+ #
907
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only used
908
+ # to retrieve the next items in a list and not for other programmatic
909
+ # purposes.
910
+ #
911
+ # </note>
912
+ #
913
+ # @option params [Integer] :max_results
914
+ # The maximum number of repository results returned by
915
+ # `DescribeRepositories` in paginated output. When this parameter is
916
+ # used, `DescribeRepositories` only returns `maxResults` results in a
917
+ # single page along with a `nextToken` response element. The remaining
918
+ # results of the initial request can be seen by sending another
919
+ # `DescribeRepositories` request with the returned `nextToken` value.
920
+ # This value can be between 1 and 1000. If this parameter is not used,
921
+ # then `DescribeRepositories` returns up to 100 results and a
922
+ # `nextToken` value, if applicable. This option cannot be used when you
923
+ # specify repositories with `repositoryNames`.
924
+ #
925
+ # @return [Types::DescribeRepositoriesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
926
+ #
927
+ # * {Types::DescribeRepositoriesResponse#repositories #repositories} => Array&lt;Types::Repository&gt;
928
+ # * {Types::DescribeRepositoriesResponse#next_token #next_token} => String
929
+ #
930
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
931
+ #
932
+ # @example Request syntax with placeholder values
933
+ #
934
+ # resp = client.describe_repositories({
935
+ # registry_id: "RegistryId",
936
+ # repository_names: ["RepositoryName"],
937
+ # next_token: "NextToken",
938
+ # max_results: 1,
939
+ # })
940
+ #
941
+ # @example Response structure
942
+ #
943
+ # resp.repositories #=> Array
944
+ # resp.repositories[0].repository_arn #=> String
945
+ # resp.repositories[0].registry_id #=> String
946
+ # resp.repositories[0].repository_name #=> String
947
+ # resp.repositories[0].repository_uri #=> String
948
+ # resp.repositories[0].created_at #=> Time
949
+ # resp.next_token #=> String
950
+ #
951
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/DescribeRepositories AWS API Documentation
952
+ #
953
+ # @overload describe_repositories(params = {})
954
+ # @param [Hash] params ({})
955
+ def describe_repositories(params = {}, options = {})
956
+ req = build_request(:describe_repositories, params)
957
+ req.send_request(options)
958
+ end
959
+
960
+ # Retrieves an authorization token. An authorization token represents
961
+ # your IAM authentication credentials and can be used to access any
962
+ # Amazon ECR registry that your IAM principal has access to. The
963
+ # authorization token is valid for 12 hours. This API requires the
964
+ # `ecr-public:GetAuthorizationToken` and `sts:GetServiceBearerToken`
965
+ # permissions.
966
+ #
967
+ # @return [Types::GetAuthorizationTokenResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
968
+ #
969
+ # * {Types::GetAuthorizationTokenResponse#authorization_data #authorization_data} => Types::AuthorizationData
970
+ #
971
+ # @example Response structure
972
+ #
973
+ # resp.authorization_data.authorization_token #=> String
974
+ # resp.authorization_data.expires_at #=> Time
975
+ #
976
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/GetAuthorizationToken AWS API Documentation
977
+ #
978
+ # @overload get_authorization_token(params = {})
979
+ # @param [Hash] params ({})
980
+ def get_authorization_token(params = {}, options = {})
981
+ req = build_request(:get_authorization_token, params)
982
+ req.send_request(options)
983
+ end
984
+
985
+ # Retrieves catalog metadata for a public registry.
986
+ #
987
+ # @return [Types::GetRegistryCatalogDataResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
988
+ #
989
+ # * {Types::GetRegistryCatalogDataResponse#registry_catalog_data #registry_catalog_data} => Types::RegistryCatalogData
990
+ #
991
+ # @example Response structure
992
+ #
993
+ # resp.registry_catalog_data.display_name #=> String
994
+ #
995
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/GetRegistryCatalogData AWS API Documentation
996
+ #
997
+ # @overload get_registry_catalog_data(params = {})
998
+ # @param [Hash] params ({})
999
+ def get_registry_catalog_data(params = {}, options = {})
1000
+ req = build_request(:get_registry_catalog_data, params)
1001
+ req.send_request(options)
1002
+ end
1003
+
1004
+ # Retrieve catalog metadata for a repository in a public registry. This
1005
+ # metadata is displayed publicly in the Amazon ECR Public Gallery.
1006
+ #
1007
+ # @option params [String] :registry_id
1008
+ # The AWS account ID associated with the registry that contains the
1009
+ # repositories to be described. If you do not specify a registry, the
1010
+ # default public registry is assumed.
1011
+ #
1012
+ # @option params [required, String] :repository_name
1013
+ # The name of the repository to retrieve the catalog metadata for.
1014
+ #
1015
+ # @return [Types::GetRepositoryCatalogDataResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1016
+ #
1017
+ # * {Types::GetRepositoryCatalogDataResponse#catalog_data #catalog_data} => Types::RepositoryCatalogData
1018
+ #
1019
+ # @example Request syntax with placeholder values
1020
+ #
1021
+ # resp = client.get_repository_catalog_data({
1022
+ # registry_id: "RegistryId",
1023
+ # repository_name: "RepositoryName", # required
1024
+ # })
1025
+ #
1026
+ # @example Response structure
1027
+ #
1028
+ # resp.catalog_data.description #=> String
1029
+ # resp.catalog_data.architectures #=> Array
1030
+ # resp.catalog_data.architectures[0] #=> String
1031
+ # resp.catalog_data.operating_systems #=> Array
1032
+ # resp.catalog_data.operating_systems[0] #=> String
1033
+ # resp.catalog_data.logo_url #=> String
1034
+ # resp.catalog_data.about_text #=> String
1035
+ # resp.catalog_data.usage_text #=> String
1036
+ # resp.catalog_data.marketplace_certified #=> Boolean
1037
+ #
1038
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/GetRepositoryCatalogData AWS API Documentation
1039
+ #
1040
+ # @overload get_repository_catalog_data(params = {})
1041
+ # @param [Hash] params ({})
1042
+ def get_repository_catalog_data(params = {}, options = {})
1043
+ req = build_request(:get_repository_catalog_data, params)
1044
+ req.send_request(options)
1045
+ end
1046
+
1047
+ # Retrieves the repository policy for the specified repository.
1048
+ #
1049
+ # @option params [String] :registry_id
1050
+ # The AWS account ID associated with the public registry that contains
1051
+ # the repository. If you do not specify a registry, the default public
1052
+ # registry is assumed.
1053
+ #
1054
+ # @option params [required, String] :repository_name
1055
+ # The name of the repository with the policy to retrieve.
1056
+ #
1057
+ # @return [Types::GetRepositoryPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1058
+ #
1059
+ # * {Types::GetRepositoryPolicyResponse#registry_id #registry_id} => String
1060
+ # * {Types::GetRepositoryPolicyResponse#repository_name #repository_name} => String
1061
+ # * {Types::GetRepositoryPolicyResponse#policy_text #policy_text} => String
1062
+ #
1063
+ # @example Request syntax with placeholder values
1064
+ #
1065
+ # resp = client.get_repository_policy({
1066
+ # registry_id: "RegistryId",
1067
+ # repository_name: "RepositoryName", # required
1068
+ # })
1069
+ #
1070
+ # @example Response structure
1071
+ #
1072
+ # resp.registry_id #=> String
1073
+ # resp.repository_name #=> String
1074
+ # resp.policy_text #=> String
1075
+ #
1076
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/GetRepositoryPolicy AWS API Documentation
1077
+ #
1078
+ # @overload get_repository_policy(params = {})
1079
+ # @param [Hash] params ({})
1080
+ def get_repository_policy(params = {}, options = {})
1081
+ req = build_request(:get_repository_policy, params)
1082
+ req.send_request(options)
1083
+ end
1084
+
1085
+ # Notifies Amazon ECR that you intend to upload an image layer.
1086
+ #
1087
+ # When an image is pushed, the InitiateLayerUpload API is called once
1088
+ # per image layer that has not already been uploaded. Whether or not an
1089
+ # image layer has been uploaded is determined by the
1090
+ # BatchCheckLayerAvailability API action.
1091
+ #
1092
+ # <note markdown="1"> This operation is used by the Amazon ECR proxy and is not generally
1093
+ # used by customers for pulling and pushing images. In most cases, you
1094
+ # should use the `docker` CLI to pull, tag, and push images.
1095
+ #
1096
+ # </note>
1097
+ #
1098
+ # @option params [String] :registry_id
1099
+ # The AWS account ID associated with the registry to which you intend to
1100
+ # upload layers. If you do not specify a registry, the default public
1101
+ # registry is assumed.
1102
+ #
1103
+ # @option params [required, String] :repository_name
1104
+ # The name of the repository to which you intend to upload layers.
1105
+ #
1106
+ # @return [Types::InitiateLayerUploadResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1107
+ #
1108
+ # * {Types::InitiateLayerUploadResponse#upload_id #upload_id} => String
1109
+ # * {Types::InitiateLayerUploadResponse#part_size #part_size} => Integer
1110
+ #
1111
+ # @example Request syntax with placeholder values
1112
+ #
1113
+ # resp = client.initiate_layer_upload({
1114
+ # registry_id: "RegistryIdOrAlias",
1115
+ # repository_name: "RepositoryName", # required
1116
+ # })
1117
+ #
1118
+ # @example Response structure
1119
+ #
1120
+ # resp.upload_id #=> String
1121
+ # resp.part_size #=> Integer
1122
+ #
1123
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/InitiateLayerUpload AWS API Documentation
1124
+ #
1125
+ # @overload initiate_layer_upload(params = {})
1126
+ # @param [Hash] params ({})
1127
+ def initiate_layer_upload(params = {}, options = {})
1128
+ req = build_request(:initiate_layer_upload, params)
1129
+ req.send_request(options)
1130
+ end
1131
+
1132
+ # Creates or updates the image manifest and tags associated with an
1133
+ # image.
1134
+ #
1135
+ # When an image is pushed and all new image layers have been uploaded,
1136
+ # the PutImage API is called once to create or update the image manifest
1137
+ # and the tags associated with the image.
1138
+ #
1139
+ # <note markdown="1"> This operation is used by the Amazon ECR proxy and is not generally
1140
+ # used by customers for pulling and pushing images. In most cases, you
1141
+ # should use the `docker` CLI to pull, tag, and push images.
1142
+ #
1143
+ # </note>
1144
+ #
1145
+ # @option params [String] :registry_id
1146
+ # The AWS account ID associated with the public registry that contains
1147
+ # the repository in which to put the image. If you do not specify a
1148
+ # registry, the default public registry is assumed.
1149
+ #
1150
+ # @option params [required, String] :repository_name
1151
+ # The name of the repository in which to put the image.
1152
+ #
1153
+ # @option params [required, String] :image_manifest
1154
+ # The image manifest corresponding to the image to be uploaded.
1155
+ #
1156
+ # @option params [String] :image_manifest_media_type
1157
+ # The media type of the image manifest. If you push an image manifest
1158
+ # that does not contain the `mediaType` field, you must specify the
1159
+ # `imageManifestMediaType` in the request.
1160
+ #
1161
+ # @option params [String] :image_tag
1162
+ # The tag to associate with the image. This parameter is required for
1163
+ # images that use the Docker Image Manifest V2 Schema 2 or Open
1164
+ # Container Initiative (OCI) formats.
1165
+ #
1166
+ # @option params [String] :image_digest
1167
+ # The image digest of the image manifest corresponding to the image.
1168
+ #
1169
+ # @return [Types::PutImageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1170
+ #
1171
+ # * {Types::PutImageResponse#image #image} => Types::Image
1172
+ #
1173
+ # @example Request syntax with placeholder values
1174
+ #
1175
+ # resp = client.put_image({
1176
+ # registry_id: "RegistryIdOrAlias",
1177
+ # repository_name: "RepositoryName", # required
1178
+ # image_manifest: "ImageManifest", # required
1179
+ # image_manifest_media_type: "MediaType",
1180
+ # image_tag: "ImageTag",
1181
+ # image_digest: "ImageDigest",
1182
+ # })
1183
+ #
1184
+ # @example Response structure
1185
+ #
1186
+ # resp.image.registry_id #=> String
1187
+ # resp.image.repository_name #=> String
1188
+ # resp.image.image_id.image_digest #=> String
1189
+ # resp.image.image_id.image_tag #=> String
1190
+ # resp.image.image_manifest #=> String
1191
+ # resp.image.image_manifest_media_type #=> String
1192
+ #
1193
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/PutImage AWS API Documentation
1194
+ #
1195
+ # @overload put_image(params = {})
1196
+ # @param [Hash] params ({})
1197
+ def put_image(params = {}, options = {})
1198
+ req = build_request(:put_image, params)
1199
+ req.send_request(options)
1200
+ end
1201
+
1202
+ # Create or updates the catalog data for a public registry.
1203
+ #
1204
+ # @option params [String] :display_name
1205
+ # The display name for a public registry. The display name is shown as
1206
+ # the repository author in the Amazon ECR Public Gallery.
1207
+ #
1208
+ # <note markdown="1"> The registry display name is only publicly visible in the Amazon ECR
1209
+ # Public Gallery for verified accounts.
1210
+ #
1211
+ # </note>
1212
+ #
1213
+ # @return [Types::PutRegistryCatalogDataResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1214
+ #
1215
+ # * {Types::PutRegistryCatalogDataResponse#registry_catalog_data #registry_catalog_data} => Types::RegistryCatalogData
1216
+ #
1217
+ # @example Request syntax with placeholder values
1218
+ #
1219
+ # resp = client.put_registry_catalog_data({
1220
+ # display_name: "RegistryDisplayName",
1221
+ # })
1222
+ #
1223
+ # @example Response structure
1224
+ #
1225
+ # resp.registry_catalog_data.display_name #=> String
1226
+ #
1227
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/PutRegistryCatalogData AWS API Documentation
1228
+ #
1229
+ # @overload put_registry_catalog_data(params = {})
1230
+ # @param [Hash] params ({})
1231
+ def put_registry_catalog_data(params = {}, options = {})
1232
+ req = build_request(:put_registry_catalog_data, params)
1233
+ req.send_request(options)
1234
+ end
1235
+
1236
+ # Creates or updates the catalog data for a repository in a public
1237
+ # registry.
1238
+ #
1239
+ # @option params [String] :registry_id
1240
+ # The AWS account ID associated with the public registry the repository
1241
+ # is in. If you do not specify a registry, the default public registry
1242
+ # is assumed.
1243
+ #
1244
+ # @option params [required, String] :repository_name
1245
+ # The name of the repository to create or update the catalog data for.
1246
+ #
1247
+ # @option params [required, Types::RepositoryCatalogDataInput] :catalog_data
1248
+ # An object containing the catalog data for a repository. This data is
1249
+ # publicly visible in the Amazon ECR Public Gallery.
1250
+ #
1251
+ # @return [Types::PutRepositoryCatalogDataResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1252
+ #
1253
+ # * {Types::PutRepositoryCatalogDataResponse#catalog_data #catalog_data} => Types::RepositoryCatalogData
1254
+ #
1255
+ # @example Request syntax with placeholder values
1256
+ #
1257
+ # resp = client.put_repository_catalog_data({
1258
+ # registry_id: "RegistryId",
1259
+ # repository_name: "RepositoryName", # required
1260
+ # catalog_data: { # required
1261
+ # description: "RepositoryDescription",
1262
+ # architectures: ["Architecture"],
1263
+ # operating_systems: ["OperatingSystem"],
1264
+ # logo_image_blob: "data",
1265
+ # about_text: "AboutText",
1266
+ # usage_text: "UsageText",
1267
+ # },
1268
+ # })
1269
+ #
1270
+ # @example Response structure
1271
+ #
1272
+ # resp.catalog_data.description #=> String
1273
+ # resp.catalog_data.architectures #=> Array
1274
+ # resp.catalog_data.architectures[0] #=> String
1275
+ # resp.catalog_data.operating_systems #=> Array
1276
+ # resp.catalog_data.operating_systems[0] #=> String
1277
+ # resp.catalog_data.logo_url #=> String
1278
+ # resp.catalog_data.about_text #=> String
1279
+ # resp.catalog_data.usage_text #=> String
1280
+ # resp.catalog_data.marketplace_certified #=> Boolean
1281
+ #
1282
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/PutRepositoryCatalogData AWS API Documentation
1283
+ #
1284
+ # @overload put_repository_catalog_data(params = {})
1285
+ # @param [Hash] params ({})
1286
+ def put_repository_catalog_data(params = {}, options = {})
1287
+ req = build_request(:put_repository_catalog_data, params)
1288
+ req.send_request(options)
1289
+ end
1290
+
1291
+ # Applies a repository policy to the specified public repository to
1292
+ # control access permissions. For more information, see [Amazon ECR
1293
+ # Repository Policies][1] in the *Amazon Elastic Container Registry User
1294
+ # Guide*.
1295
+ #
1296
+ #
1297
+ #
1298
+ # [1]: https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policies.html
1299
+ #
1300
+ # @option params [String] :registry_id
1301
+ # The AWS account ID associated with the registry that contains the
1302
+ # repository. If you do not specify a registry, the default public
1303
+ # registry is assumed.
1304
+ #
1305
+ # @option params [required, String] :repository_name
1306
+ # The name of the repository to receive the policy.
1307
+ #
1308
+ # @option params [required, String] :policy_text
1309
+ # The JSON repository policy text to apply to the repository. For more
1310
+ # information, see [Amazon ECR Repository Policies][1] in the *Amazon
1311
+ # Elastic Container Registry User Guide*.
1312
+ #
1313
+ #
1314
+ #
1315
+ # [1]: https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policy-examples.html
1316
+ #
1317
+ # @option params [Boolean] :force
1318
+ # If the policy you are attempting to set on a repository policy would
1319
+ # prevent you from setting another policy in the future, you must force
1320
+ # the SetRepositoryPolicy operation. This is intended to prevent
1321
+ # accidental repository lock outs.
1322
+ #
1323
+ # @return [Types::SetRepositoryPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1324
+ #
1325
+ # * {Types::SetRepositoryPolicyResponse#registry_id #registry_id} => String
1326
+ # * {Types::SetRepositoryPolicyResponse#repository_name #repository_name} => String
1327
+ # * {Types::SetRepositoryPolicyResponse#policy_text #policy_text} => String
1328
+ #
1329
+ # @example Request syntax with placeholder values
1330
+ #
1331
+ # resp = client.set_repository_policy({
1332
+ # registry_id: "RegistryId",
1333
+ # repository_name: "RepositoryName", # required
1334
+ # policy_text: "RepositoryPolicyText", # required
1335
+ # force: false,
1336
+ # })
1337
+ #
1338
+ # @example Response structure
1339
+ #
1340
+ # resp.registry_id #=> String
1341
+ # resp.repository_name #=> String
1342
+ # resp.policy_text #=> String
1343
+ #
1344
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/SetRepositoryPolicy AWS API Documentation
1345
+ #
1346
+ # @overload set_repository_policy(params = {})
1347
+ # @param [Hash] params ({})
1348
+ def set_repository_policy(params = {}, options = {})
1349
+ req = build_request(:set_repository_policy, params)
1350
+ req.send_request(options)
1351
+ end
1352
+
1353
+ # Uploads an image layer part to Amazon ECR.
1354
+ #
1355
+ # When an image is pushed, each new image layer is uploaded in parts.
1356
+ # The maximum size of each image layer part can be 20971520 bytes (or
1357
+ # about 20MB). The UploadLayerPart API is called once per each new image
1358
+ # layer part.
1359
+ #
1360
+ # <note markdown="1"> This operation is used by the Amazon ECR proxy and is not generally
1361
+ # used by customers for pulling and pushing images. In most cases, you
1362
+ # should use the `docker` CLI to pull, tag, and push images.
1363
+ #
1364
+ # </note>
1365
+ #
1366
+ # @option params [String] :registry_id
1367
+ # The AWS account ID associated with the registry to which you are
1368
+ # uploading layer parts. If you do not specify a registry, the default
1369
+ # public registry is assumed.
1370
+ #
1371
+ # @option params [required, String] :repository_name
1372
+ # The name of the repository to which you are uploading layer parts.
1373
+ #
1374
+ # @option params [required, String] :upload_id
1375
+ # The upload ID from a previous InitiateLayerUpload operation to
1376
+ # associate with the layer part upload.
1377
+ #
1378
+ # @option params [required, Integer] :part_first_byte
1379
+ # The position of the first byte of the layer part witin the overall
1380
+ # image layer.
1381
+ #
1382
+ # @option params [required, Integer] :part_last_byte
1383
+ # The position of the last byte of the layer part within the overall
1384
+ # image layer.
1385
+ #
1386
+ # @option params [required, String, StringIO, File] :layer_part_blob
1387
+ # The base64-encoded layer part payload.
1388
+ #
1389
+ # @return [Types::UploadLayerPartResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1390
+ #
1391
+ # * {Types::UploadLayerPartResponse#registry_id #registry_id} => String
1392
+ # * {Types::UploadLayerPartResponse#repository_name #repository_name} => String
1393
+ # * {Types::UploadLayerPartResponse#upload_id #upload_id} => String
1394
+ # * {Types::UploadLayerPartResponse#last_byte_received #last_byte_received} => Integer
1395
+ #
1396
+ # @example Request syntax with placeholder values
1397
+ #
1398
+ # resp = client.upload_layer_part({
1399
+ # registry_id: "RegistryIdOrAlias",
1400
+ # repository_name: "RepositoryName", # required
1401
+ # upload_id: "UploadId", # required
1402
+ # part_first_byte: 1, # required
1403
+ # part_last_byte: 1, # required
1404
+ # layer_part_blob: "data", # required
1405
+ # })
1406
+ #
1407
+ # @example Response structure
1408
+ #
1409
+ # resp.registry_id #=> String
1410
+ # resp.repository_name #=> String
1411
+ # resp.upload_id #=> String
1412
+ # resp.last_byte_received #=> Integer
1413
+ #
1414
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/UploadLayerPart AWS API Documentation
1415
+ #
1416
+ # @overload upload_layer_part(params = {})
1417
+ # @param [Hash] params ({})
1418
+ def upload_layer_part(params = {}, options = {})
1419
+ req = build_request(:upload_layer_part, params)
1420
+ req.send_request(options)
1421
+ end
1422
+
1423
+ # @!endgroup
1424
+
1425
+ # @param params ({})
1426
+ # @api private
1427
+ def build_request(operation_name, params = {})
1428
+ handlers = @handlers.for(operation_name)
1429
+ context = Seahorse::Client::RequestContext.new(
1430
+ operation_name: operation_name,
1431
+ operation: config.api.operation(operation_name),
1432
+ client: self,
1433
+ params: params,
1434
+ config: config)
1435
+ context[:gem_name] = 'aws-sdk-ecrpublic'
1436
+ context[:gem_version] = '1.0.0'
1437
+ Seahorse::Client::Request.new(handlers, context)
1438
+ end
1439
+
1440
+ # @api private
1441
+ # @deprecated
1442
+ def waiter_names
1443
+ []
1444
+ end
1445
+
1446
+ class << self
1447
+
1448
+ # @api private
1449
+ attr_reader :identifier
1450
+
1451
+ # @api private
1452
+ def errors_module
1453
+ Errors
1454
+ end
1455
+
1456
+ end
1457
+ end
1458
+ end