aws-sdk-codeartifact 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 1eb79834f72f19e4e181b7bf7cc9f24d93dbb374c5170f4f7e4b20469b43339a
4
+ data.tar.gz: 1eb4c6d869c6cd98e08ec612f59912c9a5b05ff4394521f01afad301ff4c0224
5
+ SHA512:
6
+ metadata.gz: f5d722a4a318a061688977ce8c5318b03d464e8459b7997c0435f7db69140599377ebdc771c298d060abc464fb9a3db9c4f4e8d692bf6da79cc6f93ecede5565
7
+ data.tar.gz: 290a72e6bd4cffd5e73d5fcc9eda41b2dd4539de799d460a76be2d7270a7a71b23b7817fb3535b3fa65da05a3f0139200989d19f8e915976ac34733e89d97d75
@@ -0,0 +1,50 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-codeartifact/types'
12
+ require_relative 'aws-sdk-codeartifact/client_api'
13
+ require_relative 'aws-sdk-codeartifact/client'
14
+ require_relative 'aws-sdk-codeartifact/errors'
15
+ require_relative 'aws-sdk-codeartifact/resource'
16
+ require_relative 'aws-sdk-codeartifact/customizations'
17
+
18
+ # This module provides support for CodeArtifact. This module is available in the
19
+ # `aws-sdk-codeartifact` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # code_artifact = Aws::CodeArtifact::Client.new
28
+ # resp = code_artifact.associate_external_connection(params)
29
+ #
30
+ # See {Client} for more information.
31
+ #
32
+ # # Errors
33
+ #
34
+ # Errors returned from CodeArtifact are defined in the
35
+ # {Errors} module and all extend {Errors::ServiceError}.
36
+ #
37
+ # begin
38
+ # # do stuff
39
+ # rescue Aws::CodeArtifact::Errors::ServiceError
40
+ # # rescues all CodeArtifact API errors
41
+ # end
42
+ #
43
+ # See {Errors} for more information.
44
+ #
45
+ # @service
46
+ module Aws::CodeArtifact
47
+
48
+ GEM_VERSION = '1.0.1'
49
+
50
+ end
@@ -0,0 +1,2532 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
19
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
20
+ require 'aws-sdk-core/plugins/response_paging.rb'
21
+ require 'aws-sdk-core/plugins/stub_responses.rb'
22
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
23
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
+ require 'aws-sdk-core/plugins/http_checksum.rb'
28
+ require 'aws-sdk-core/plugins/signature_v4.rb'
29
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
30
+
31
+ Aws::Plugins::GlobalConfiguration.add_identifier(:codeartifact)
32
+
33
+ module Aws::CodeArtifact
34
+ # An API client for CodeArtifact. To construct a client, you need to configure a `:region` and `:credentials`.
35
+ #
36
+ # client = Aws::CodeArtifact::Client.new(
37
+ # region: region_name,
38
+ # credentials: credentials,
39
+ # # ...
40
+ # )
41
+ #
42
+ # For details on configuring region and credentials see
43
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
44
+ #
45
+ # See {#initialize} for a full list of supported configuration options.
46
+ class Client < Seahorse::Client::Base
47
+
48
+ include Aws::ClientStubs
49
+
50
+ @identifier = :codeartifact
51
+
52
+ set_api(ClientApi::API)
53
+
54
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
55
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
56
+ add_plugin(Aws::Plugins::Logging)
57
+ add_plugin(Aws::Plugins::ParamConverter)
58
+ add_plugin(Aws::Plugins::ParamValidator)
59
+ add_plugin(Aws::Plugins::UserAgent)
60
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
61
+ add_plugin(Aws::Plugins::RetryErrors)
62
+ add_plugin(Aws::Plugins::GlobalConfiguration)
63
+ add_plugin(Aws::Plugins::RegionalEndpoint)
64
+ add_plugin(Aws::Plugins::EndpointDiscovery)
65
+ add_plugin(Aws::Plugins::EndpointPattern)
66
+ add_plugin(Aws::Plugins::ResponsePaging)
67
+ add_plugin(Aws::Plugins::StubResponses)
68
+ add_plugin(Aws::Plugins::IdempotencyToken)
69
+ add_plugin(Aws::Plugins::JsonvalueConverter)
70
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
71
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
72
+ add_plugin(Aws::Plugins::TransferEncoding)
73
+ add_plugin(Aws::Plugins::HttpChecksum)
74
+ add_plugin(Aws::Plugins::SignatureV4)
75
+ add_plugin(Aws::Plugins::Protocols::RestJson)
76
+
77
+ # @overload initialize(options)
78
+ # @param [Hash] options
79
+ # @option options [required, Aws::CredentialProvider] :credentials
80
+ # Your AWS credentials. This can be an instance of any one of the
81
+ # following classes:
82
+ #
83
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
84
+ # credentials.
85
+ #
86
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
87
+ # from an EC2 IMDS on an EC2 instance.
88
+ #
89
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
90
+ # shared file, such as `~/.aws/config`.
91
+ #
92
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
93
+ #
94
+ # When `:credentials` are not configured directly, the following
95
+ # locations will be searched for credentials:
96
+ #
97
+ # * `Aws.config[:credentials]`
98
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
99
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
100
+ # * `~/.aws/credentials`
101
+ # * `~/.aws/config`
102
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
103
+ # very aggressive. Construct and pass an instance of
104
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
105
+ # timeouts.
106
+ #
107
+ # @option options [required, String] :region
108
+ # The AWS region to connect to. The configured `:region` is
109
+ # used to determine the service `:endpoint`. When not passed,
110
+ # a default `:region` is searched for in the following locations:
111
+ #
112
+ # * `Aws.config[:region]`
113
+ # * `ENV['AWS_REGION']`
114
+ # * `ENV['AMAZON_REGION']`
115
+ # * `ENV['AWS_DEFAULT_REGION']`
116
+ # * `~/.aws/credentials`
117
+ # * `~/.aws/config`
118
+ #
119
+ # @option options [String] :access_key_id
120
+ #
121
+ # @option options [Boolean] :active_endpoint_cache (false)
122
+ # When set to `true`, a thread polling for endpoints will be running in
123
+ # the background every 60 secs (default). Defaults to `false`.
124
+ #
125
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
126
+ # Used only in `adaptive` retry mode. When true, the request will sleep
127
+ # until there is sufficent client side capacity to retry the request.
128
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
129
+ # not retry instead of sleeping.
130
+ #
131
+ # @option options [Boolean] :client_side_monitoring (false)
132
+ # When `true`, client-side metrics will be collected for all API requests from
133
+ # this client.
134
+ #
135
+ # @option options [String] :client_side_monitoring_client_id ("")
136
+ # Allows you to provide an identifier for this client which will be attached to
137
+ # all generated client side metrics. Defaults to an empty string.
138
+ #
139
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
140
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
141
+ # side monitoring agent is running on, where client metrics will be published via UDP.
142
+ #
143
+ # @option options [Integer] :client_side_monitoring_port (31000)
144
+ # Required for publishing client metrics. The port that the client side monitoring
145
+ # agent is running on, where client metrics will be published via UDP.
146
+ #
147
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
148
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
149
+ # will use the Client Side Monitoring Agent Publisher.
150
+ #
151
+ # @option options [Boolean] :convert_params (true)
152
+ # When `true`, an attempt is made to coerce request parameters into
153
+ # the required types.
154
+ #
155
+ # @option options [Boolean] :correct_clock_skew (true)
156
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
157
+ # a clock skew correction and retry requests with skewed client clocks.
158
+ #
159
+ # @option options [Boolean] :disable_host_prefix_injection (false)
160
+ # Set to true to disable SDK automatically adding host prefix
161
+ # to default service endpoint when available.
162
+ #
163
+ # @option options [String] :endpoint
164
+ # The client endpoint is normally constructed from the `:region`
165
+ # option. You should only configure an `:endpoint` when connecting
166
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
167
+ #
168
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
169
+ # Used for the maximum size limit of the LRU cache storing endpoints data
170
+ # for endpoint discovery enabled operations. Defaults to 1000.
171
+ #
172
+ # @option options [Integer] :endpoint_cache_max_threads (10)
173
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
174
+ #
175
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
176
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
177
+ # Use this option to config the time interval in seconds for making
178
+ # requests fetching endpoints information. Defaults to 60 sec.
179
+ #
180
+ # @option options [Boolean] :endpoint_discovery (false)
181
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
182
+ #
183
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
184
+ # The log formatter.
185
+ #
186
+ # @option options [Symbol] :log_level (:info)
187
+ # The log level to send messages to the `:logger` at.
188
+ #
189
+ # @option options [Logger] :logger
190
+ # The Logger instance to send log messages to. If this option
191
+ # is not set, logging will be disabled.
192
+ #
193
+ # @option options [Integer] :max_attempts (3)
194
+ # An integer representing the maximum number attempts that will be made for
195
+ # a single request, including the initial attempt. For example,
196
+ # setting this value to 5 will result in a request being retried up to
197
+ # 4 times. Used in `standard` and `adaptive` retry modes.
198
+ #
199
+ # @option options [String] :profile ("default")
200
+ # Used when loading credentials from the shared credentials file
201
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
202
+ #
203
+ # @option options [Proc] :retry_backoff
204
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
205
+ # This option is only used in the `legacy` retry mode.
206
+ #
207
+ # @option options [Float] :retry_base_delay (0.3)
208
+ # The base delay in seconds used by the default backoff function. This option
209
+ # is only used in the `legacy` retry mode.
210
+ #
211
+ # @option options [Symbol] :retry_jitter (:none)
212
+ # A delay randomiser function used by the default backoff function.
213
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
214
+ # otherwise a Proc that takes and returns a number. This option is only used
215
+ # in the `legacy` retry mode.
216
+ #
217
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
218
+ #
219
+ # @option options [Integer] :retry_limit (3)
220
+ # The maximum number of times to retry failed requests. Only
221
+ # ~ 500 level server errors and certain ~ 400 level client errors
222
+ # are retried. Generally, these are throttling errors, data
223
+ # checksum errors, networking errors, timeout errors, auth errors,
224
+ # endpoint discovery, and errors from expired credentials.
225
+ # This option is only used in the `legacy` retry mode.
226
+ #
227
+ # @option options [Integer] :retry_max_delay (0)
228
+ # The maximum number of seconds to delay between retries (0 for no limit)
229
+ # used by the default backoff function. This option is only used in the
230
+ # `legacy` retry mode.
231
+ #
232
+ # @option options [String] :retry_mode ("legacy")
233
+ # Specifies which retry algorithm to use. Values are:
234
+ #
235
+ # * `legacy` - The pre-existing retry behavior. This is default value if
236
+ # no retry mode is provided.
237
+ #
238
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
239
+ # This includes support for retry quotas, which limit the number of
240
+ # unsuccessful retries a client can make.
241
+ #
242
+ # * `adaptive` - An experimental retry mode that includes all the
243
+ # functionality of `standard` mode along with automatic client side
244
+ # throttling. This is a provisional mode that may change behavior
245
+ # in the future.
246
+ #
247
+ #
248
+ # @option options [String] :secret_access_key
249
+ #
250
+ # @option options [String] :session_token
251
+ #
252
+ # @option options [Boolean] :stub_responses (false)
253
+ # Causes the client to return stubbed responses. By default
254
+ # fake responses are generated and returned. You can specify
255
+ # the response data to return or errors to raise by calling
256
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
257
+ #
258
+ # ** Please note ** When response stubbing is enabled, no HTTP
259
+ # requests are made, and retries are disabled.
260
+ #
261
+ # @option options [Boolean] :validate_params (true)
262
+ # When `true`, request parameters are validated before
263
+ # sending the request.
264
+ #
265
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
266
+ # requests through. Formatted like 'http://proxy.com:123'.
267
+ #
268
+ # @option options [Float] :http_open_timeout (15) The number of
269
+ # seconds to wait when opening a HTTP session before raising a
270
+ # `Timeout::Error`.
271
+ #
272
+ # @option options [Integer] :http_read_timeout (60) The default
273
+ # number of seconds to wait for response data. This value can
274
+ # safely be set per-request on the session.
275
+ #
276
+ # @option options [Float] :http_idle_timeout (5) The number of
277
+ # seconds a connection is allowed to sit idle before it is
278
+ # considered stale. Stale connections are closed and removed
279
+ # from the pool before making a request.
280
+ #
281
+ # @option options [Float] :http_continue_timeout (1) The number of
282
+ # seconds to wait for a 100-continue response before sending the
283
+ # request body. This option has no effect unless the request has
284
+ # "Expect" header set to "100-continue". Defaults to `nil` which
285
+ # disables this behaviour. This value can safely be set per
286
+ # request on the session.
287
+ #
288
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
289
+ # HTTP debug output will be sent to the `:logger`.
290
+ #
291
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
292
+ # SSL peer certificates are verified when establishing a
293
+ # connection.
294
+ #
295
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
296
+ # certificate authority bundle file that should be used when
297
+ # verifying peer certificates. If you do not pass
298
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
299
+ # will be used if available.
300
+ #
301
+ # @option options [String] :ssl_ca_directory Full path of the
302
+ # directory that contains the unbundled SSL certificate
303
+ # authority files for verifying peer certificates. If you do
304
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
305
+ # system default will be used if available.
306
+ #
307
+ def initialize(*args)
308
+ super
309
+ end
310
+
311
+ # @!group API Operations
312
+
313
+ # Adds an existing external connection to a repository. One external
314
+ # connection is allowed per repository.
315
+ #
316
+ # <note markdown="1"> A repository can have one or more upstream repositories, or an
317
+ # external connection.
318
+ #
319
+ # </note>
320
+ #
321
+ # @option params [required, String] :domain
322
+ # The name of the domain that contains the repository.
323
+ #
324
+ # @option params [String] :domain_owner
325
+ # The 12-digit account number of the AWS account that owns the domain.
326
+ # It does not include dashes or spaces.
327
+ #
328
+ # @option params [required, String] :repository
329
+ # The name of the repository to which the external connection is added.
330
+ #
331
+ # @option params [required, String] :external_connection
332
+ # The name of the external connection to add to the repository. The
333
+ # following values are supported:
334
+ #
335
+ # * `public:npmjs` - for the npm public repository.
336
+ #
337
+ # * `public:pypi` - for the Python Package Index.
338
+ #
339
+ # * `public:maven-central` - for Maven Central.
340
+ #
341
+ # * `public:maven-googleandroid` - for the Google Android repository.
342
+ #
343
+ # * `public:maven-gradleplugins` - for the Gradle plugins repository.
344
+ #
345
+ # * `public:maven-commonsware` - for the CommonsWare Android repository.
346
+ #
347
+ # @return [Types::AssociateExternalConnectionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
348
+ #
349
+ # * {Types::AssociateExternalConnectionResult#repository #repository} => Types::RepositoryDescription
350
+ #
351
+ # @example Request syntax with placeholder values
352
+ #
353
+ # resp = client.associate_external_connection({
354
+ # domain: "DomainName", # required
355
+ # domain_owner: "AccountId",
356
+ # repository: "RepositoryName", # required
357
+ # external_connection: "ExternalConnectionName", # required
358
+ # })
359
+ #
360
+ # @example Response structure
361
+ #
362
+ # resp.repository.name #=> String
363
+ # resp.repository.administrator_account #=> String
364
+ # resp.repository.domain_name #=> String
365
+ # resp.repository.domain_owner #=> String
366
+ # resp.repository.arn #=> String
367
+ # resp.repository.description #=> String
368
+ # resp.repository.upstreams #=> Array
369
+ # resp.repository.upstreams[0].repository_name #=> String
370
+ # resp.repository.external_connections #=> Array
371
+ # resp.repository.external_connections[0].external_connection_name #=> String
372
+ # resp.repository.external_connections[0].package_format #=> String, one of "npm", "pypi", "maven"
373
+ # resp.repository.external_connections[0].status #=> String, one of "Available"
374
+ #
375
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/AssociateExternalConnection AWS API Documentation
376
+ #
377
+ # @overload associate_external_connection(params = {})
378
+ # @param [Hash] params ({})
379
+ def associate_external_connection(params = {}, options = {})
380
+ req = build_request(:associate_external_connection, params)
381
+ req.send_request(options)
382
+ end
383
+
384
+ # Copies package versions from one repository to another repository in
385
+ # the same domain.
386
+ #
387
+ # <note markdown="1"> You must specify `versions` or `versionRevisions`. You cannot specify
388
+ # both.
389
+ #
390
+ # </note>
391
+ #
392
+ # @option params [required, String] :domain
393
+ # The name of the domain that contains the source and destination
394
+ # repositories.
395
+ #
396
+ # @option params [String] :domain_owner
397
+ # The 12-digit account number of the AWS account that owns the domain.
398
+ # It does not include dashes or spaces.
399
+ #
400
+ # @option params [required, String] :source_repository
401
+ # The name of the repository that contains the package versions to copy.
402
+ #
403
+ # @option params [required, String] :destination_repository
404
+ # The name of the repository into which package versions are copied.
405
+ #
406
+ # @option params [required, String] :format
407
+ # The format of the package that is copied. The valid package types are:
408
+ #
409
+ # * `npm`\: A Node Package Manager (npm) package.
410
+ #
411
+ # * `pypi`\: A Python Package Index (PyPI) package.
412
+ #
413
+ # * `maven`\: A Maven package that contains compiled code in a
414
+ # distributable format, such as a JAR file.
415
+ #
416
+ # @option params [String] :namespace
417
+ # The namespace of the package. The package component that specifies its
418
+ # namespace depends on its type. For example:
419
+ #
420
+ # * The namespace of a Maven package is its `groupId`.
421
+ #
422
+ # * The namespace of an npm package is its `scope`.
423
+ #
424
+ # * A Python package does not contain a corresponding component, so
425
+ # Python packages do not have a namespace.
426
+ #
427
+ # @option params [required, String] :package
428
+ # The name of the package that is copied.
429
+ #
430
+ # @option params [Array<String>] :versions
431
+ # The versions of the package to copy.
432
+ #
433
+ # <note markdown="1"> You must specify `versions` or `versionRevisions`. You cannot specify
434
+ # both.
435
+ #
436
+ # </note>
437
+ #
438
+ # @option params [Hash<String,String>] :version_revisions
439
+ # A list of key-value pairs. The keys are package versions and the
440
+ # values are package version revisions. A `CopyPackageVersion` operation
441
+ # succeeds if the specified versions in the source repository match the
442
+ # specified package version revision.
443
+ #
444
+ # <note markdown="1"> You must specify `versions` or `versionRevisions`. You cannot specify
445
+ # both.
446
+ #
447
+ # </note>
448
+ #
449
+ # @option params [Boolean] :allow_overwrite
450
+ # Set to true to overwrite a package version that already exists in the
451
+ # destination repository. If set to false and the package version
452
+ # already exists in the destination repository, the package version is
453
+ # returned in the `failedVersions` field of the response with an
454
+ # `ALREADY_EXISTS` error code.
455
+ #
456
+ # @option params [Boolean] :include_from_upstream
457
+ # Set to true to copy packages from repositories that are upstream from
458
+ # the source repository to the destination repository. The default
459
+ # setting is false. For more information, see [Working with upstream
460
+ # repositories][1].
461
+ #
462
+ #
463
+ #
464
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html
465
+ #
466
+ # @return [Types::CopyPackageVersionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
467
+ #
468
+ # * {Types::CopyPackageVersionsResult#successful_versions #successful_versions} => Hash&lt;String,Types::SuccessfulPackageVersionInfo&gt;
469
+ # * {Types::CopyPackageVersionsResult#failed_versions #failed_versions} => Hash&lt;String,Types::PackageVersionError&gt;
470
+ #
471
+ # @example Request syntax with placeholder values
472
+ #
473
+ # resp = client.copy_package_versions({
474
+ # domain: "DomainName", # required
475
+ # domain_owner: "AccountId",
476
+ # source_repository: "RepositoryName", # required
477
+ # destination_repository: "RepositoryName", # required
478
+ # format: "npm", # required, accepts npm, pypi, maven
479
+ # namespace: "PackageNamespace",
480
+ # package: "PackageName", # required
481
+ # versions: ["PackageVersion"],
482
+ # version_revisions: {
483
+ # "PackageVersion" => "PackageVersionRevision",
484
+ # },
485
+ # allow_overwrite: false,
486
+ # include_from_upstream: false,
487
+ # })
488
+ #
489
+ # @example Response structure
490
+ #
491
+ # resp.successful_versions #=> Hash
492
+ # resp.successful_versions["PackageVersion"].revision #=> String
493
+ # resp.successful_versions["PackageVersion"].status #=> String, one of "Published", "Unfinished", "Unlisted", "Archived", "Disposed", "Deleted"
494
+ # resp.failed_versions #=> Hash
495
+ # resp.failed_versions["PackageVersion"].error_code #=> String, one of "ALREADY_EXISTS", "MISMATCHED_REVISION", "MISMATCHED_STATUS", "NOT_ALLOWED", "NOT_FOUND", "SKIPPED"
496
+ # resp.failed_versions["PackageVersion"].error_message #=> String
497
+ #
498
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/CopyPackageVersions AWS API Documentation
499
+ #
500
+ # @overload copy_package_versions(params = {})
501
+ # @param [Hash] params ({})
502
+ def copy_package_versions(params = {}, options = {})
503
+ req = build_request(:copy_package_versions, params)
504
+ req.send_request(options)
505
+ end
506
+
507
+ # Creates a domain. CodeArtifact *domains* make it easier to manage
508
+ # multiple repositories across an organization. You can use a domain to
509
+ # apply permissions across many repositories owned by different AWS
510
+ # accounts. An asset is stored only once in a domain, even if it's in
511
+ # multiple repositories.
512
+ #
513
+ # Although you can have multiple domains, we recommend a single
514
+ # production domain that contains all published artifacts so that your
515
+ # development teams can find and share packages. You can use a second
516
+ # pre-production domain to test changes to the production domain
517
+ # configuration.
518
+ #
519
+ # @option params [required, String] :domain
520
+ # The name of the domain to create. All domain names in an AWS Region
521
+ # that are in the same AWS account must be unique. The domain name is
522
+ # used as the prefix in DNS hostnames. Do not use sensitive information
523
+ # in a domain name because it is publicly discoverable.
524
+ #
525
+ # @option params [String] :encryption_key
526
+ # The encryption key for the domain. This is used to encrypt content
527
+ # stored in a domain. An encryption key can be a key ID, a key Amazon
528
+ # Resource Name (ARN), a key alias, or a key alias ARN. To specify an
529
+ # `encryptionKey`, your IAM role must have `kms:DescribeKey` and
530
+ # `kms:CreateGrant` permissions on the encryption key that is used. For
531
+ # more information, see [DescribeKey][1] in the *AWS Key Management
532
+ # Service API Reference* and [AWS KMS API Permissions Reference][2] in
533
+ # the *AWS Key Management Service Developer Guide*.
534
+ #
535
+ # CodeArtifact supports only symmetric CMKs. Do not associate an
536
+ # asymmetric CMK with your domain. For more information, see [Using
537
+ # symmetric and asymmetric keys][3] in the *AWS Key Management Service
538
+ # Developer Guide*.
539
+ #
540
+ #
541
+ #
542
+ # [1]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestSyntax
543
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
544
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
545
+ #
546
+ # @return [Types::CreateDomainResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
547
+ #
548
+ # * {Types::CreateDomainResult#domain #domain} => Types::DomainDescription
549
+ #
550
+ # @example Request syntax with placeholder values
551
+ #
552
+ # resp = client.create_domain({
553
+ # domain: "DomainName", # required
554
+ # encryption_key: "Arn",
555
+ # })
556
+ #
557
+ # @example Response structure
558
+ #
559
+ # resp.domain.name #=> String
560
+ # resp.domain.owner #=> String
561
+ # resp.domain.arn #=> String
562
+ # resp.domain.status #=> String, one of "Active", "Deleted"
563
+ # resp.domain.created_time #=> Time
564
+ # resp.domain.encryption_key #=> String
565
+ # resp.domain.repository_count #=> Integer
566
+ # resp.domain.asset_size_bytes #=> Integer
567
+ #
568
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/CreateDomain AWS API Documentation
569
+ #
570
+ # @overload create_domain(params = {})
571
+ # @param [Hash] params ({})
572
+ def create_domain(params = {}, options = {})
573
+ req = build_request(:create_domain, params)
574
+ req.send_request(options)
575
+ end
576
+
577
+ # Creates a repository.
578
+ #
579
+ # @option params [required, String] :domain
580
+ # The domain that contains the created repository.
581
+ #
582
+ # @option params [String] :domain_owner
583
+ # The 12-digit account number of the AWS account that owns the domain.
584
+ # It does not include dashes or spaces.
585
+ #
586
+ # @option params [required, String] :repository
587
+ # The name of the repository to create.
588
+ #
589
+ # @option params [String] :description
590
+ # A description of the created repository.
591
+ #
592
+ # @option params [Array<Types::UpstreamRepository>] :upstreams
593
+ # A list of upstream repositories to associate with the repository. The
594
+ # order of the upstream repositories in the list determines their
595
+ # priority order when AWS CodeArtifact looks for a requested package
596
+ # version. For more information, see [Working with upstream
597
+ # repositories][1].
598
+ #
599
+ #
600
+ #
601
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html
602
+ #
603
+ # @return [Types::CreateRepositoryResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
604
+ #
605
+ # * {Types::CreateRepositoryResult#repository #repository} => Types::RepositoryDescription
606
+ #
607
+ # @example Request syntax with placeholder values
608
+ #
609
+ # resp = client.create_repository({
610
+ # domain: "DomainName", # required
611
+ # domain_owner: "AccountId",
612
+ # repository: "RepositoryName", # required
613
+ # description: "Description",
614
+ # upstreams: [
615
+ # {
616
+ # repository_name: "RepositoryName", # required
617
+ # },
618
+ # ],
619
+ # })
620
+ #
621
+ # @example Response structure
622
+ #
623
+ # resp.repository.name #=> String
624
+ # resp.repository.administrator_account #=> String
625
+ # resp.repository.domain_name #=> String
626
+ # resp.repository.domain_owner #=> String
627
+ # resp.repository.arn #=> String
628
+ # resp.repository.description #=> String
629
+ # resp.repository.upstreams #=> Array
630
+ # resp.repository.upstreams[0].repository_name #=> String
631
+ # resp.repository.external_connections #=> Array
632
+ # resp.repository.external_connections[0].external_connection_name #=> String
633
+ # resp.repository.external_connections[0].package_format #=> String, one of "npm", "pypi", "maven"
634
+ # resp.repository.external_connections[0].status #=> String, one of "Available"
635
+ #
636
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/CreateRepository AWS API Documentation
637
+ #
638
+ # @overload create_repository(params = {})
639
+ # @param [Hash] params ({})
640
+ def create_repository(params = {}, options = {})
641
+ req = build_request(:create_repository, params)
642
+ req.send_request(options)
643
+ end
644
+
645
+ # Deletes a domain. You cannot delete a domain that contains
646
+ # repositories. If you want to delete a domain with repositories, first
647
+ # delete its repositories.
648
+ #
649
+ # @option params [required, String] :domain
650
+ # The name of the domain to delete.
651
+ #
652
+ # @option params [String] :domain_owner
653
+ # The 12-digit account number of the AWS account that owns the domain.
654
+ # It does not include dashes or spaces.
655
+ #
656
+ # @return [Types::DeleteDomainResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
657
+ #
658
+ # * {Types::DeleteDomainResult#domain #domain} => Types::DomainDescription
659
+ #
660
+ # @example Request syntax with placeholder values
661
+ #
662
+ # resp = client.delete_domain({
663
+ # domain: "DomainName", # required
664
+ # domain_owner: "AccountId",
665
+ # })
666
+ #
667
+ # @example Response structure
668
+ #
669
+ # resp.domain.name #=> String
670
+ # resp.domain.owner #=> String
671
+ # resp.domain.arn #=> String
672
+ # resp.domain.status #=> String, one of "Active", "Deleted"
673
+ # resp.domain.created_time #=> Time
674
+ # resp.domain.encryption_key #=> String
675
+ # resp.domain.repository_count #=> Integer
676
+ # resp.domain.asset_size_bytes #=> Integer
677
+ #
678
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DeleteDomain AWS API Documentation
679
+ #
680
+ # @overload delete_domain(params = {})
681
+ # @param [Hash] params ({})
682
+ def delete_domain(params = {}, options = {})
683
+ req = build_request(:delete_domain, params)
684
+ req.send_request(options)
685
+ end
686
+
687
+ # Deletes the resource policy set on a domain.
688
+ #
689
+ # @option params [required, String] :domain
690
+ # The name of the domain associated with the resource policy to be
691
+ # deleted.
692
+ #
693
+ # @option params [String] :domain_owner
694
+ # The 12-digit account number of the AWS account that owns the domain.
695
+ # It does not include dashes or spaces.
696
+ #
697
+ # @option params [String] :policy_revision
698
+ # The current revision of the resource policy to be deleted. This
699
+ # revision is used for optimistic locking, which prevents others from
700
+ # overwriting your changes to the domain's resource policy.
701
+ #
702
+ # @return [Types::DeleteDomainPermissionsPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
703
+ #
704
+ # * {Types::DeleteDomainPermissionsPolicyResult#policy #policy} => Types::ResourcePolicy
705
+ #
706
+ # @example Request syntax with placeholder values
707
+ #
708
+ # resp = client.delete_domain_permissions_policy({
709
+ # domain: "DomainName", # required
710
+ # domain_owner: "AccountId",
711
+ # policy_revision: "PolicyRevision",
712
+ # })
713
+ #
714
+ # @example Response structure
715
+ #
716
+ # resp.policy.resource_arn #=> String
717
+ # resp.policy.revision #=> String
718
+ # resp.policy.document #=> String
719
+ #
720
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DeleteDomainPermissionsPolicy AWS API Documentation
721
+ #
722
+ # @overload delete_domain_permissions_policy(params = {})
723
+ # @param [Hash] params ({})
724
+ def delete_domain_permissions_policy(params = {}, options = {})
725
+ req = build_request(:delete_domain_permissions_policy, params)
726
+ req.send_request(options)
727
+ end
728
+
729
+ # Deletes one or more versions of a package. A deleted package version
730
+ # cannot be restored in your repository. If you want to remove a package
731
+ # version from your repository and be able to restore it later, set its
732
+ # status to `Archived`. Archived packages cannot be downloaded from a
733
+ # repository and don't show up with list package APIs (for example, `
734
+ # ListackageVersions `), but you can restore them using `
735
+ # UpdatePackageVersionsStatus `.
736
+ #
737
+ # @option params [required, String] :domain
738
+ # The name of the domain that contains the package to delete.
739
+ #
740
+ # @option params [String] :domain_owner
741
+ # The 12-digit account number of the AWS account that owns the domain.
742
+ # It does not include dashes or spaces.
743
+ #
744
+ # @option params [required, String] :repository
745
+ # The name of the repository that contains the package versions to
746
+ # delete.
747
+ #
748
+ # @option params [required, String] :format
749
+ # The format of the package versions to delete. The valid values are:
750
+ #
751
+ # * `npm`
752
+ #
753
+ # * `pypi`
754
+ #
755
+ # * `maven`
756
+ #
757
+ # @option params [String] :namespace
758
+ # The namespace of the package. The package component that specifies its
759
+ # namespace depends on its type. For example:
760
+ #
761
+ # * The namespace of a Maven package is its `groupId`.
762
+ #
763
+ # * The namespace of an npm package is its `scope`.
764
+ #
765
+ # * A Python package does not contain a corresponding component, so
766
+ # Python packages do not have a namespace.
767
+ #
768
+ # @option params [required, String] :package
769
+ # The name of the package with the versions to delete.
770
+ #
771
+ # @option params [required, Array<String>] :versions
772
+ # An array of strings that specify the versions of the package to
773
+ # delete.
774
+ #
775
+ # @option params [String] :expected_status
776
+ # The expected status of the package version to delete. Valid values
777
+ # are:
778
+ #
779
+ # * `Published`
780
+ #
781
+ # * `Unfinished`
782
+ #
783
+ # * `Unlisted`
784
+ #
785
+ # * `Archived`
786
+ #
787
+ # * `Disposed`
788
+ #
789
+ # @return [Types::DeletePackageVersionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
790
+ #
791
+ # * {Types::DeletePackageVersionsResult#successful_versions #successful_versions} => Hash&lt;String,Types::SuccessfulPackageVersionInfo&gt;
792
+ # * {Types::DeletePackageVersionsResult#failed_versions #failed_versions} => Hash&lt;String,Types::PackageVersionError&gt;
793
+ #
794
+ # @example Request syntax with placeholder values
795
+ #
796
+ # resp = client.delete_package_versions({
797
+ # domain: "DomainName", # required
798
+ # domain_owner: "AccountId",
799
+ # repository: "RepositoryName", # required
800
+ # format: "npm", # required, accepts npm, pypi, maven
801
+ # namespace: "PackageNamespace",
802
+ # package: "PackageName", # required
803
+ # versions: ["PackageVersion"], # required
804
+ # expected_status: "Published", # accepts Published, Unfinished, Unlisted, Archived, Disposed, Deleted
805
+ # })
806
+ #
807
+ # @example Response structure
808
+ #
809
+ # resp.successful_versions #=> Hash
810
+ # resp.successful_versions["PackageVersion"].revision #=> String
811
+ # resp.successful_versions["PackageVersion"].status #=> String, one of "Published", "Unfinished", "Unlisted", "Archived", "Disposed", "Deleted"
812
+ # resp.failed_versions #=> Hash
813
+ # resp.failed_versions["PackageVersion"].error_code #=> String, one of "ALREADY_EXISTS", "MISMATCHED_REVISION", "MISMATCHED_STATUS", "NOT_ALLOWED", "NOT_FOUND", "SKIPPED"
814
+ # resp.failed_versions["PackageVersion"].error_message #=> String
815
+ #
816
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DeletePackageVersions AWS API Documentation
817
+ #
818
+ # @overload delete_package_versions(params = {})
819
+ # @param [Hash] params ({})
820
+ def delete_package_versions(params = {}, options = {})
821
+ req = build_request(:delete_package_versions, params)
822
+ req.send_request(options)
823
+ end
824
+
825
+ # Deletes a repository.
826
+ #
827
+ # @option params [required, String] :domain
828
+ # The name of the domain that contains the repository to delete.
829
+ #
830
+ # @option params [String] :domain_owner
831
+ # The 12-digit account number of the AWS account that owns the domain.
832
+ # It does not include dashes or spaces.
833
+ #
834
+ # @option params [required, String] :repository
835
+ # The name of the repository to delete.
836
+ #
837
+ # @return [Types::DeleteRepositoryResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
838
+ #
839
+ # * {Types::DeleteRepositoryResult#repository #repository} => Types::RepositoryDescription
840
+ #
841
+ # @example Request syntax with placeholder values
842
+ #
843
+ # resp = client.delete_repository({
844
+ # domain: "DomainName", # required
845
+ # domain_owner: "AccountId",
846
+ # repository: "RepositoryName", # required
847
+ # })
848
+ #
849
+ # @example Response structure
850
+ #
851
+ # resp.repository.name #=> String
852
+ # resp.repository.administrator_account #=> String
853
+ # resp.repository.domain_name #=> String
854
+ # resp.repository.domain_owner #=> String
855
+ # resp.repository.arn #=> String
856
+ # resp.repository.description #=> String
857
+ # resp.repository.upstreams #=> Array
858
+ # resp.repository.upstreams[0].repository_name #=> String
859
+ # resp.repository.external_connections #=> Array
860
+ # resp.repository.external_connections[0].external_connection_name #=> String
861
+ # resp.repository.external_connections[0].package_format #=> String, one of "npm", "pypi", "maven"
862
+ # resp.repository.external_connections[0].status #=> String, one of "Available"
863
+ #
864
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DeleteRepository AWS API Documentation
865
+ #
866
+ # @overload delete_repository(params = {})
867
+ # @param [Hash] params ({})
868
+ def delete_repository(params = {}, options = {})
869
+ req = build_request(:delete_repository, params)
870
+ req.send_request(options)
871
+ end
872
+
873
+ # Deletes the resource policy that is set on a repository. After a
874
+ # resource policy is deleted, the permissions allowed and denied by the
875
+ # deleted policy are removed. The effect of deleting a resource policy
876
+ # might not be immediate.
877
+ #
878
+ # Use `DeleteRepositoryPermissionsPolicy` with caution. After a policy
879
+ # is deleted, AWS users, roles, and accounts lose permissions to perform
880
+ # the repository actions granted by the deleted policy.
881
+ #
882
+ # @option params [required, String] :domain
883
+ # The name of the domain that contains the repository associated with
884
+ # the resource policy to be deleted.
885
+ #
886
+ # @option params [String] :domain_owner
887
+ # The 12-digit account number of the AWS account that owns the domain.
888
+ # It does not include dashes or spaces.
889
+ #
890
+ # @option params [required, String] :repository
891
+ # The name of the repository that is associated with the resource policy
892
+ # to be deleted
893
+ #
894
+ # @option params [String] :policy_revision
895
+ # The revision of the repository's resource policy to be deleted. This
896
+ # revision is used for optimistic locking, which prevents others from
897
+ # accidentally overwriting your changes to the repository's resource
898
+ # policy.
899
+ #
900
+ # @return [Types::DeleteRepositoryPermissionsPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
901
+ #
902
+ # * {Types::DeleteRepositoryPermissionsPolicyResult#policy #policy} => Types::ResourcePolicy
903
+ #
904
+ # @example Request syntax with placeholder values
905
+ #
906
+ # resp = client.delete_repository_permissions_policy({
907
+ # domain: "DomainName", # required
908
+ # domain_owner: "AccountId",
909
+ # repository: "RepositoryName", # required
910
+ # policy_revision: "PolicyRevision",
911
+ # })
912
+ #
913
+ # @example Response structure
914
+ #
915
+ # resp.policy.resource_arn #=> String
916
+ # resp.policy.revision #=> String
917
+ # resp.policy.document #=> String
918
+ #
919
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DeleteRepositoryPermissionsPolicy AWS API Documentation
920
+ #
921
+ # @overload delete_repository_permissions_policy(params = {})
922
+ # @param [Hash] params ({})
923
+ def delete_repository_permissions_policy(params = {}, options = {})
924
+ req = build_request(:delete_repository_permissions_policy, params)
925
+ req.send_request(options)
926
+ end
927
+
928
+ # Returns a [ `DomainDescription` ][1] object that contains information
929
+ # about the requested domain.
930
+ #
931
+ #
932
+ #
933
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DomainDescription.html
934
+ #
935
+ # @option params [required, String] :domain
936
+ # A string that specifies the name of the requested domain.
937
+ #
938
+ # @option params [String] :domain_owner
939
+ # The 12-digit account number of the AWS account that owns the domain.
940
+ # It does not include dashes or spaces.
941
+ #
942
+ # @return [Types::DescribeDomainResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
943
+ #
944
+ # * {Types::DescribeDomainResult#domain #domain} => Types::DomainDescription
945
+ #
946
+ # @example Request syntax with placeholder values
947
+ #
948
+ # resp = client.describe_domain({
949
+ # domain: "DomainName", # required
950
+ # domain_owner: "AccountId",
951
+ # })
952
+ #
953
+ # @example Response structure
954
+ #
955
+ # resp.domain.name #=> String
956
+ # resp.domain.owner #=> String
957
+ # resp.domain.arn #=> String
958
+ # resp.domain.status #=> String, one of "Active", "Deleted"
959
+ # resp.domain.created_time #=> Time
960
+ # resp.domain.encryption_key #=> String
961
+ # resp.domain.repository_count #=> Integer
962
+ # resp.domain.asset_size_bytes #=> Integer
963
+ #
964
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DescribeDomain AWS API Documentation
965
+ #
966
+ # @overload describe_domain(params = {})
967
+ # @param [Hash] params ({})
968
+ def describe_domain(params = {}, options = {})
969
+ req = build_request(:describe_domain, params)
970
+ req.send_request(options)
971
+ end
972
+
973
+ # Returns a [ `PackageVersionDescription` ][1] object that contains
974
+ # information about the requested package version.
975
+ #
976
+ #
977
+ #
978
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionDescription.html
979
+ #
980
+ # @option params [required, String] :domain
981
+ # The name of the domain that contains the repository that contains the
982
+ # package version.
983
+ #
984
+ # @option params [String] :domain_owner
985
+ # The 12-digit account number of the AWS account that owns the domain.
986
+ # It does not include dashes or spaces.
987
+ #
988
+ # @option params [required, String] :repository
989
+ # The name of the repository that contains the package version.
990
+ #
991
+ # @option params [required, String] :format
992
+ # A format that specifies the type of the requested package version. The
993
+ # valid values are:
994
+ #
995
+ # * `npm`
996
+ #
997
+ # * `pypi`
998
+ #
999
+ # * `maven`
1000
+ #
1001
+ # @option params [String] :namespace
1002
+ # The namespace of the package. The package component that specifies its
1003
+ # namespace depends on its type. For example:
1004
+ #
1005
+ # * The namespace of a Maven package is its `groupId`.
1006
+ #
1007
+ # * The namespace of an npm package is its `scope`.
1008
+ #
1009
+ # * A Python package does not contain a corresponding component, so
1010
+ # Python packages do not have a namespace.
1011
+ #
1012
+ # @option params [required, String] :package
1013
+ # The name of the requested package version.
1014
+ #
1015
+ # @option params [required, String] :package_version
1016
+ # A string that contains the package version (for example, `3.5.2`).
1017
+ #
1018
+ # @return [Types::DescribePackageVersionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1019
+ #
1020
+ # * {Types::DescribePackageVersionResult#package_version #package_version} => Types::PackageVersionDescription
1021
+ #
1022
+ # @example Request syntax with placeholder values
1023
+ #
1024
+ # resp = client.describe_package_version({
1025
+ # domain: "DomainName", # required
1026
+ # domain_owner: "AccountId",
1027
+ # repository: "RepositoryName", # required
1028
+ # format: "npm", # required, accepts npm, pypi, maven
1029
+ # namespace: "PackageNamespace",
1030
+ # package: "PackageName", # required
1031
+ # package_version: "PackageVersion", # required
1032
+ # })
1033
+ #
1034
+ # @example Response structure
1035
+ #
1036
+ # resp.package_version.format #=> String, one of "npm", "pypi", "maven"
1037
+ # resp.package_version.namespace #=> String
1038
+ # resp.package_version.package_name #=> String
1039
+ # resp.package_version.display_name #=> String
1040
+ # resp.package_version.version #=> String
1041
+ # resp.package_version.summary #=> String
1042
+ # resp.package_version.home_page #=> String
1043
+ # resp.package_version.source_code_repository #=> String
1044
+ # resp.package_version.published_time #=> Time
1045
+ # resp.package_version.licenses #=> Array
1046
+ # resp.package_version.licenses[0].name #=> String
1047
+ # resp.package_version.licenses[0].url #=> String
1048
+ # resp.package_version.revision #=> String
1049
+ # resp.package_version.status #=> String, one of "Published", "Unfinished", "Unlisted", "Archived", "Disposed", "Deleted"
1050
+ #
1051
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DescribePackageVersion AWS API Documentation
1052
+ #
1053
+ # @overload describe_package_version(params = {})
1054
+ # @param [Hash] params ({})
1055
+ def describe_package_version(params = {}, options = {})
1056
+ req = build_request(:describe_package_version, params)
1057
+ req.send_request(options)
1058
+ end
1059
+
1060
+ # Returns a `RepositoryDescription` object that contains detailed
1061
+ # information about the requested repository.
1062
+ #
1063
+ # @option params [required, String] :domain
1064
+ # The name of the domain that contains the repository to describe.
1065
+ #
1066
+ # @option params [String] :domain_owner
1067
+ # The 12-digit account number of the AWS account that owns the domain.
1068
+ # It does not include dashes or spaces.
1069
+ #
1070
+ # @option params [required, String] :repository
1071
+ # A string that specifies the name of the requested repository.
1072
+ #
1073
+ # @return [Types::DescribeRepositoryResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1074
+ #
1075
+ # * {Types::DescribeRepositoryResult#repository #repository} => Types::RepositoryDescription
1076
+ #
1077
+ # @example Request syntax with placeholder values
1078
+ #
1079
+ # resp = client.describe_repository({
1080
+ # domain: "DomainName", # required
1081
+ # domain_owner: "AccountId",
1082
+ # repository: "RepositoryName", # required
1083
+ # })
1084
+ #
1085
+ # @example Response structure
1086
+ #
1087
+ # resp.repository.name #=> String
1088
+ # resp.repository.administrator_account #=> String
1089
+ # resp.repository.domain_name #=> String
1090
+ # resp.repository.domain_owner #=> String
1091
+ # resp.repository.arn #=> String
1092
+ # resp.repository.description #=> String
1093
+ # resp.repository.upstreams #=> Array
1094
+ # resp.repository.upstreams[0].repository_name #=> String
1095
+ # resp.repository.external_connections #=> Array
1096
+ # resp.repository.external_connections[0].external_connection_name #=> String
1097
+ # resp.repository.external_connections[0].package_format #=> String, one of "npm", "pypi", "maven"
1098
+ # resp.repository.external_connections[0].status #=> String, one of "Available"
1099
+ #
1100
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DescribeRepository AWS API Documentation
1101
+ #
1102
+ # @overload describe_repository(params = {})
1103
+ # @param [Hash] params ({})
1104
+ def describe_repository(params = {}, options = {})
1105
+ req = build_request(:describe_repository, params)
1106
+ req.send_request(options)
1107
+ end
1108
+
1109
+ # Removes an existing external connection from a repository.
1110
+ #
1111
+ # @option params [required, String] :domain
1112
+ # The name of the domain that contains the repository from which to
1113
+ # remove the external repository.
1114
+ #
1115
+ # @option params [String] :domain_owner
1116
+ # The 12-digit account number of the AWS account that owns the domain.
1117
+ # It does not include dashes or spaces.
1118
+ #
1119
+ # @option params [required, String] :repository
1120
+ # The name of the repository from which the external connection will be
1121
+ # removed.
1122
+ #
1123
+ # @option params [required, String] :external_connection
1124
+ # The name of the external connection to be removed from the repository.
1125
+ #
1126
+ # @return [Types::DisassociateExternalConnectionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1127
+ #
1128
+ # * {Types::DisassociateExternalConnectionResult#repository #repository} => Types::RepositoryDescription
1129
+ #
1130
+ # @example Request syntax with placeholder values
1131
+ #
1132
+ # resp = client.disassociate_external_connection({
1133
+ # domain: "DomainName", # required
1134
+ # domain_owner: "AccountId",
1135
+ # repository: "RepositoryName", # required
1136
+ # external_connection: "ExternalConnectionName", # required
1137
+ # })
1138
+ #
1139
+ # @example Response structure
1140
+ #
1141
+ # resp.repository.name #=> String
1142
+ # resp.repository.administrator_account #=> String
1143
+ # resp.repository.domain_name #=> String
1144
+ # resp.repository.domain_owner #=> String
1145
+ # resp.repository.arn #=> String
1146
+ # resp.repository.description #=> String
1147
+ # resp.repository.upstreams #=> Array
1148
+ # resp.repository.upstreams[0].repository_name #=> String
1149
+ # resp.repository.external_connections #=> Array
1150
+ # resp.repository.external_connections[0].external_connection_name #=> String
1151
+ # resp.repository.external_connections[0].package_format #=> String, one of "npm", "pypi", "maven"
1152
+ # resp.repository.external_connections[0].status #=> String, one of "Available"
1153
+ #
1154
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DisassociateExternalConnection AWS API Documentation
1155
+ #
1156
+ # @overload disassociate_external_connection(params = {})
1157
+ # @param [Hash] params ({})
1158
+ def disassociate_external_connection(params = {}, options = {})
1159
+ req = build_request(:disassociate_external_connection, params)
1160
+ req.send_request(options)
1161
+ end
1162
+
1163
+ # Deletes the assets in package versions and sets the package versions'
1164
+ # status to `Disposed`. A disposed package version cannot be restored in
1165
+ # your repository because its assets are deleted.
1166
+ #
1167
+ # To view all disposed package versions in a repository, use `
1168
+ # ListackageVersions ` and set the ` status ` parameter to `Disposed`.
1169
+ #
1170
+ # To view information about a disposed package version, use `
1171
+ # ListPackageVersions ` and set the ` status ` parameter to `Disposed`.
1172
+ #
1173
+ # @option params [required, String] :domain
1174
+ # The name of the domain that contains the repository you want to
1175
+ # dispose.
1176
+ #
1177
+ # @option params [String] :domain_owner
1178
+ # The 12-digit account number of the AWS account that owns the domain.
1179
+ # It does not include dashes or spaces.
1180
+ #
1181
+ # @option params [required, String] :repository
1182
+ # The name of the repository that contains the package versions you want
1183
+ # to dispose.
1184
+ #
1185
+ # @option params [required, String] :format
1186
+ # A format that specifies the type of package versions you want to
1187
+ # dispose. The valid values are:
1188
+ #
1189
+ # * `npm`
1190
+ #
1191
+ # * `pypi`
1192
+ #
1193
+ # * `maven`
1194
+ #
1195
+ # @option params [String] :namespace
1196
+ # The namespace of the package. The package component that specifies its
1197
+ # namespace depends on its type. For example:
1198
+ #
1199
+ # * The namespace of a Maven package is its `groupId`.
1200
+ #
1201
+ # * The namespace of an npm package is its `scope`.
1202
+ #
1203
+ # * A Python package does not contain a corresponding component, so
1204
+ # Python packages do not have a namespace.
1205
+ #
1206
+ # @option params [required, String] :package
1207
+ # The name of the package with the versions you want to dispose.
1208
+ #
1209
+ # @option params [required, Array<String>] :versions
1210
+ # The versions of the package you want to dispose.
1211
+ #
1212
+ # @option params [Hash<String,String>] :version_revisions
1213
+ # The revisions of the package versions you want to dispose.
1214
+ #
1215
+ # @option params [String] :expected_status
1216
+ # The expected status of the package version to dispose. Valid values
1217
+ # are:
1218
+ #
1219
+ # * `Published`
1220
+ #
1221
+ # * `Unfinished`
1222
+ #
1223
+ # * `Unlisted`
1224
+ #
1225
+ # * `Archived`
1226
+ #
1227
+ # * `Disposed`
1228
+ #
1229
+ # @return [Types::DisposePackageVersionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1230
+ #
1231
+ # * {Types::DisposePackageVersionsResult#successful_versions #successful_versions} => Hash&lt;String,Types::SuccessfulPackageVersionInfo&gt;
1232
+ # * {Types::DisposePackageVersionsResult#failed_versions #failed_versions} => Hash&lt;String,Types::PackageVersionError&gt;
1233
+ #
1234
+ # @example Request syntax with placeholder values
1235
+ #
1236
+ # resp = client.dispose_package_versions({
1237
+ # domain: "DomainName", # required
1238
+ # domain_owner: "AccountId",
1239
+ # repository: "RepositoryName", # required
1240
+ # format: "npm", # required, accepts npm, pypi, maven
1241
+ # namespace: "PackageNamespace",
1242
+ # package: "PackageName", # required
1243
+ # versions: ["PackageVersion"], # required
1244
+ # version_revisions: {
1245
+ # "PackageVersion" => "PackageVersionRevision",
1246
+ # },
1247
+ # expected_status: "Published", # accepts Published, Unfinished, Unlisted, Archived, Disposed, Deleted
1248
+ # })
1249
+ #
1250
+ # @example Response structure
1251
+ #
1252
+ # resp.successful_versions #=> Hash
1253
+ # resp.successful_versions["PackageVersion"].revision #=> String
1254
+ # resp.successful_versions["PackageVersion"].status #=> String, one of "Published", "Unfinished", "Unlisted", "Archived", "Disposed", "Deleted"
1255
+ # resp.failed_versions #=> Hash
1256
+ # resp.failed_versions["PackageVersion"].error_code #=> String, one of "ALREADY_EXISTS", "MISMATCHED_REVISION", "MISMATCHED_STATUS", "NOT_ALLOWED", "NOT_FOUND", "SKIPPED"
1257
+ # resp.failed_versions["PackageVersion"].error_message #=> String
1258
+ #
1259
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DisposePackageVersions AWS API Documentation
1260
+ #
1261
+ # @overload dispose_package_versions(params = {})
1262
+ # @param [Hash] params ({})
1263
+ def dispose_package_versions(params = {}, options = {})
1264
+ req = build_request(:dispose_package_versions, params)
1265
+ req.send_request(options)
1266
+ end
1267
+
1268
+ # Generates a temporary authentication token for accessing repositories
1269
+ # in the domain. This API requires the
1270
+ # `codeartifact:GetAuthorizationToken` and `sts:GetServiceBearerToken`
1271
+ # permissions.
1272
+ #
1273
+ # <note markdown="1"> CodeArtifact authorization tokens are valid for a period of 12 hours
1274
+ # when created with the `login` command. You can call `login`
1275
+ # periodically to refresh the token. When you create an authorization
1276
+ # token with the `GetAuthorizationToken` API, you can set a custom
1277
+ # authorization period, up to a maximum of 12 hours, with the
1278
+ # `durationSeconds` parameter.
1279
+ #
1280
+ # The authorization period begins after `login` or
1281
+ # `GetAuthorizationToken` is called. If `login` or
1282
+ # `GetAuthorizationToken` is called while assuming a role, the token
1283
+ # lifetime is independent of the maximum session duration of the role.
1284
+ # For example, if you call `sts assume-role` and specify a session
1285
+ # duration of 15 minutes, then generate a CodeArtifact authorization
1286
+ # token, the token will be valid for the full authorization period even
1287
+ # though this is longer than the 15-minute session duration.
1288
+ #
1289
+ # See [Using IAM Roles][1] for more information on controlling session
1290
+ # duration.
1291
+ #
1292
+ # </note>
1293
+ #
1294
+ #
1295
+ #
1296
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html
1297
+ #
1298
+ # @option params [required, String] :domain
1299
+ # The name of the domain that is in scope for the generated
1300
+ # authorization token.
1301
+ #
1302
+ # @option params [String] :domain_owner
1303
+ # The 12-digit account number of the AWS account that owns the domain.
1304
+ # It does not include dashes or spaces.
1305
+ #
1306
+ # @option params [Integer] :duration_seconds
1307
+ # The time, in seconds, that the generated authorization token is valid.
1308
+ #
1309
+ # @return [Types::GetAuthorizationTokenResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1310
+ #
1311
+ # * {Types::GetAuthorizationTokenResult#authorization_token #authorization_token} => String
1312
+ # * {Types::GetAuthorizationTokenResult#expiration #expiration} => Time
1313
+ #
1314
+ # @example Request syntax with placeholder values
1315
+ #
1316
+ # resp = client.get_authorization_token({
1317
+ # domain: "DomainName", # required
1318
+ # domain_owner: "AccountId",
1319
+ # duration_seconds: 1,
1320
+ # })
1321
+ #
1322
+ # @example Response structure
1323
+ #
1324
+ # resp.authorization_token #=> String
1325
+ # resp.expiration #=> Time
1326
+ #
1327
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/GetAuthorizationToken AWS API Documentation
1328
+ #
1329
+ # @overload get_authorization_token(params = {})
1330
+ # @param [Hash] params ({})
1331
+ def get_authorization_token(params = {}, options = {})
1332
+ req = build_request(:get_authorization_token, params)
1333
+ req.send_request(options)
1334
+ end
1335
+
1336
+ # Returns the resource policy attached to the specified domain.
1337
+ #
1338
+ # <note markdown="1"> The policy is a resource-based policy, not an identity-based policy.
1339
+ # For more information, see [Identity-based policies and resource-based
1340
+ # policies ][1] in the *AWS Identity and Access Management User Guide*.
1341
+ #
1342
+ # </note>
1343
+ #
1344
+ #
1345
+ #
1346
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html
1347
+ #
1348
+ # @option params [required, String] :domain
1349
+ # The name of the domain to which the resource policy is attached.
1350
+ #
1351
+ # @option params [String] :domain_owner
1352
+ # The 12-digit account number of the AWS account that owns the domain.
1353
+ # It does not include dashes or spaces.
1354
+ #
1355
+ # @return [Types::GetDomainPermissionsPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1356
+ #
1357
+ # * {Types::GetDomainPermissionsPolicyResult#policy #policy} => Types::ResourcePolicy
1358
+ #
1359
+ # @example Request syntax with placeholder values
1360
+ #
1361
+ # resp = client.get_domain_permissions_policy({
1362
+ # domain: "DomainName", # required
1363
+ # domain_owner: "AccountId",
1364
+ # })
1365
+ #
1366
+ # @example Response structure
1367
+ #
1368
+ # resp.policy.resource_arn #=> String
1369
+ # resp.policy.revision #=> String
1370
+ # resp.policy.document #=> String
1371
+ #
1372
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/GetDomainPermissionsPolicy AWS API Documentation
1373
+ #
1374
+ # @overload get_domain_permissions_policy(params = {})
1375
+ # @param [Hash] params ({})
1376
+ def get_domain_permissions_policy(params = {}, options = {})
1377
+ req = build_request(:get_domain_permissions_policy, params)
1378
+ req.send_request(options)
1379
+ end
1380
+
1381
+ # Returns an asset (or file) that is in a package. For example, for a
1382
+ # Maven package version, use `GetPackageVersionAsset` to download a
1383
+ # `JAR` file, a `POM` file, or any other assets in the package version.
1384
+ #
1385
+ # @option params [required, String] :domain
1386
+ # The domain that contains the repository that contains the package
1387
+ # version with the requested asset.
1388
+ #
1389
+ # @option params [String] :domain_owner
1390
+ # The 12-digit account number of the AWS account that owns the domain.
1391
+ # It does not include dashes or spaces.
1392
+ #
1393
+ # @option params [required, String] :repository
1394
+ # The repository that contains the package version with the requested
1395
+ # asset.
1396
+ #
1397
+ # @option params [required, String] :format
1398
+ # A format that specifies the type of the package version with the
1399
+ # requested asset file. The valid values are:
1400
+ #
1401
+ # * `npm`
1402
+ #
1403
+ # * `pypi`
1404
+ #
1405
+ # * `maven`
1406
+ #
1407
+ # @option params [String] :namespace
1408
+ # The namespace of the package. The package component that specifies its
1409
+ # namespace depends on its type. For example:
1410
+ #
1411
+ # * The namespace of a Maven package is its `groupId`.
1412
+ #
1413
+ # * The namespace of an npm package is its `scope`.
1414
+ #
1415
+ # * A Python package does not contain a corresponding component, so
1416
+ # Python packages do not have a namespace.
1417
+ #
1418
+ # @option params [required, String] :package
1419
+ # The name of the package that contains the requested asset.
1420
+ #
1421
+ # @option params [required, String] :package_version
1422
+ # A string that contains the package version (for example, `3.5.2`).
1423
+ #
1424
+ # @option params [required, String] :asset
1425
+ # The name of the requested asset.
1426
+ #
1427
+ # @option params [String] :package_version_revision
1428
+ # The name of the package version revision that contains the requested
1429
+ # asset.
1430
+ #
1431
+ # @return [Types::GetPackageVersionAssetResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1432
+ #
1433
+ # * {Types::GetPackageVersionAssetResult#asset #asset} => IO
1434
+ # * {Types::GetPackageVersionAssetResult#asset_name #asset_name} => String
1435
+ # * {Types::GetPackageVersionAssetResult#package_version #package_version} => String
1436
+ # * {Types::GetPackageVersionAssetResult#package_version_revision #package_version_revision} => String
1437
+ #
1438
+ # @example Request syntax with placeholder values
1439
+ #
1440
+ # resp = client.get_package_version_asset({
1441
+ # domain: "DomainName", # required
1442
+ # domain_owner: "AccountId",
1443
+ # repository: "RepositoryName", # required
1444
+ # format: "npm", # required, accepts npm, pypi, maven
1445
+ # namespace: "PackageNamespace",
1446
+ # package: "PackageName", # required
1447
+ # package_version: "PackageVersion", # required
1448
+ # asset: "AssetName", # required
1449
+ # package_version_revision: "PackageVersionRevision",
1450
+ # })
1451
+ #
1452
+ # @example Response structure
1453
+ #
1454
+ # resp.asset #=> IO
1455
+ # resp.asset_name #=> String
1456
+ # resp.package_version #=> String
1457
+ # resp.package_version_revision #=> String
1458
+ #
1459
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/GetPackageVersionAsset AWS API Documentation
1460
+ #
1461
+ # @overload get_package_version_asset(params = {})
1462
+ # @param [Hash] params ({})
1463
+ def get_package_version_asset(params = {}, options = {}, &block)
1464
+ req = build_request(:get_package_version_asset, params)
1465
+ req.send_request(options, &block)
1466
+ end
1467
+
1468
+ # Gets the readme file or descriptive text for a package version. For
1469
+ # packages that do not contain a readme file, CodeArtifact extracts a
1470
+ # description from a metadata file. For example, from the
1471
+ # `<description>` element in the `pom.xml` file of a Maven package.
1472
+ #
1473
+ # The returned text might contain formatting. For example, it might
1474
+ # contain formatting for Markdown or reStructuredText.
1475
+ #
1476
+ # @option params [required, String] :domain
1477
+ # The name of the domain that contains the repository that contains the
1478
+ # package version with the requested readme file.
1479
+ #
1480
+ # @option params [String] :domain_owner
1481
+ # The 12-digit account number of the AWS account that owns the domain.
1482
+ # It does not include dashes or spaces.
1483
+ #
1484
+ # @option params [required, String] :repository
1485
+ # The repository that contains the package with the requested readme
1486
+ # file.
1487
+ #
1488
+ # @option params [required, String] :format
1489
+ # A format that specifies the type of the package version with the
1490
+ # requested readme file. The valid values are:
1491
+ #
1492
+ # * `npm`
1493
+ #
1494
+ # * `pypi`
1495
+ #
1496
+ # * `maven`
1497
+ #
1498
+ # @option params [String] :namespace
1499
+ # The namespace of the package. The package component that specifies its
1500
+ # namespace depends on its type. For example:
1501
+ #
1502
+ # * The namespace of a Maven package is its `groupId`.
1503
+ #
1504
+ # * The namespace of an npm package is its `scope`.
1505
+ #
1506
+ # * A Python package does not contain a corresponding component, so
1507
+ # Python packages do not have a namespace.
1508
+ #
1509
+ # @option params [required, String] :package
1510
+ # The name of the package version that contains the requested readme
1511
+ # file.
1512
+ #
1513
+ # @option params [required, String] :package_version
1514
+ # A string that contains the package version (for example, `3.5.2`).
1515
+ #
1516
+ # @return [Types::GetPackageVersionReadmeResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1517
+ #
1518
+ # * {Types::GetPackageVersionReadmeResult#format #format} => String
1519
+ # * {Types::GetPackageVersionReadmeResult#namespace #namespace} => String
1520
+ # * {Types::GetPackageVersionReadmeResult#package #package} => String
1521
+ # * {Types::GetPackageVersionReadmeResult#version #version} => String
1522
+ # * {Types::GetPackageVersionReadmeResult#version_revision #version_revision} => String
1523
+ # * {Types::GetPackageVersionReadmeResult#readme #readme} => String
1524
+ #
1525
+ # @example Request syntax with placeholder values
1526
+ #
1527
+ # resp = client.get_package_version_readme({
1528
+ # domain: "DomainName", # required
1529
+ # domain_owner: "AccountId",
1530
+ # repository: "RepositoryName", # required
1531
+ # format: "npm", # required, accepts npm, pypi, maven
1532
+ # namespace: "PackageNamespace",
1533
+ # package: "PackageName", # required
1534
+ # package_version: "PackageVersion", # required
1535
+ # })
1536
+ #
1537
+ # @example Response structure
1538
+ #
1539
+ # resp.format #=> String, one of "npm", "pypi", "maven"
1540
+ # resp.namespace #=> String
1541
+ # resp.package #=> String
1542
+ # resp.version #=> String
1543
+ # resp.version_revision #=> String
1544
+ # resp.readme #=> String
1545
+ #
1546
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/GetPackageVersionReadme AWS API Documentation
1547
+ #
1548
+ # @overload get_package_version_readme(params = {})
1549
+ # @param [Hash] params ({})
1550
+ def get_package_version_readme(params = {}, options = {})
1551
+ req = build_request(:get_package_version_readme, params)
1552
+ req.send_request(options)
1553
+ end
1554
+
1555
+ # Returns the endpoint of a repository for a specific package format. A
1556
+ # repository has one endpoint for each package format:
1557
+ #
1558
+ # * `npm`
1559
+ #
1560
+ # * `pypi`
1561
+ #
1562
+ # * `maven`
1563
+ #
1564
+ # @option params [required, String] :domain
1565
+ # The name of the domain that contains the repository.
1566
+ #
1567
+ # @option params [String] :domain_owner
1568
+ # The 12-digit account number of the AWS account that owns the domain
1569
+ # that contains the repository. It does not include dashes or spaces.
1570
+ #
1571
+ # @option params [required, String] :repository
1572
+ # The name of the repository.
1573
+ #
1574
+ # @option params [required, String] :format
1575
+ # Returns which endpoint of a repository to return. A repository has one
1576
+ # endpoint for each package format:
1577
+ #
1578
+ # * `npm`
1579
+ #
1580
+ # * `pypi`
1581
+ #
1582
+ # * `maven`
1583
+ #
1584
+ # @return [Types::GetRepositoryEndpointResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1585
+ #
1586
+ # * {Types::GetRepositoryEndpointResult#repository_endpoint #repository_endpoint} => String
1587
+ #
1588
+ # @example Request syntax with placeholder values
1589
+ #
1590
+ # resp = client.get_repository_endpoint({
1591
+ # domain: "DomainName", # required
1592
+ # domain_owner: "AccountId",
1593
+ # repository: "RepositoryName", # required
1594
+ # format: "npm", # required, accepts npm, pypi, maven
1595
+ # })
1596
+ #
1597
+ # @example Response structure
1598
+ #
1599
+ # resp.repository_endpoint #=> String
1600
+ #
1601
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/GetRepositoryEndpoint AWS API Documentation
1602
+ #
1603
+ # @overload get_repository_endpoint(params = {})
1604
+ # @param [Hash] params ({})
1605
+ def get_repository_endpoint(params = {}, options = {})
1606
+ req = build_request(:get_repository_endpoint, params)
1607
+ req.send_request(options)
1608
+ end
1609
+
1610
+ # Returns the resource policy that is set on a repository.
1611
+ #
1612
+ # @option params [required, String] :domain
1613
+ # The name of the domain containing the repository whose associated
1614
+ # resource policy is to be retrieved.
1615
+ #
1616
+ # @option params [String] :domain_owner
1617
+ # The 12-digit account number of the AWS account that owns the domain.
1618
+ # It does not include dashes or spaces.
1619
+ #
1620
+ # @option params [required, String] :repository
1621
+ # The name of the repository whose associated resource policy is to be
1622
+ # retrieved.
1623
+ #
1624
+ # @return [Types::GetRepositoryPermissionsPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1625
+ #
1626
+ # * {Types::GetRepositoryPermissionsPolicyResult#policy #policy} => Types::ResourcePolicy
1627
+ #
1628
+ # @example Request syntax with placeholder values
1629
+ #
1630
+ # resp = client.get_repository_permissions_policy({
1631
+ # domain: "DomainName", # required
1632
+ # domain_owner: "AccountId",
1633
+ # repository: "RepositoryName", # required
1634
+ # })
1635
+ #
1636
+ # @example Response structure
1637
+ #
1638
+ # resp.policy.resource_arn #=> String
1639
+ # resp.policy.revision #=> String
1640
+ # resp.policy.document #=> String
1641
+ #
1642
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/GetRepositoryPermissionsPolicy AWS API Documentation
1643
+ #
1644
+ # @overload get_repository_permissions_policy(params = {})
1645
+ # @param [Hash] params ({})
1646
+ def get_repository_permissions_policy(params = {}, options = {})
1647
+ req = build_request(:get_repository_permissions_policy, params)
1648
+ req.send_request(options)
1649
+ end
1650
+
1651
+ # Returns a list of ` DomainSummary ` objects for all domains owned by
1652
+ # the AWS account that makes this call. Each returned `DomainSummary`
1653
+ # object contains information about a domain.
1654
+ #
1655
+ # @option params [Integer] :max_results
1656
+ # The maximum number of results to return per page.
1657
+ #
1658
+ # @option params [String] :next_token
1659
+ # The token for the next set of results. Use the value returned in the
1660
+ # previous response in the next request to retrieve the next set of
1661
+ # results.
1662
+ #
1663
+ # @return [Types::ListDomainsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1664
+ #
1665
+ # * {Types::ListDomainsResult#domains #domains} => Array&lt;Types::DomainSummary&gt;
1666
+ # * {Types::ListDomainsResult#next_token #next_token} => String
1667
+ #
1668
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1669
+ #
1670
+ # @example Request syntax with placeholder values
1671
+ #
1672
+ # resp = client.list_domains({
1673
+ # max_results: 1,
1674
+ # next_token: "PaginationToken",
1675
+ # })
1676
+ #
1677
+ # @example Response structure
1678
+ #
1679
+ # resp.domains #=> Array
1680
+ # resp.domains[0].name #=> String
1681
+ # resp.domains[0].owner #=> String
1682
+ # resp.domains[0].arn #=> String
1683
+ # resp.domains[0].status #=> String, one of "Active", "Deleted"
1684
+ # resp.domains[0].created_time #=> Time
1685
+ # resp.domains[0].encryption_key #=> String
1686
+ # resp.next_token #=> String
1687
+ #
1688
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListDomains AWS API Documentation
1689
+ #
1690
+ # @overload list_domains(params = {})
1691
+ # @param [Hash] params ({})
1692
+ def list_domains(params = {}, options = {})
1693
+ req = build_request(:list_domains, params)
1694
+ req.send_request(options)
1695
+ end
1696
+
1697
+ # Returns a list of [ `AssetSummary` ][1] objects for assets in a
1698
+ # package version.
1699
+ #
1700
+ #
1701
+ #
1702
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_AssetSummary.html
1703
+ #
1704
+ # @option params [required, String] :domain
1705
+ # The name of the domain that contains the repository associated with
1706
+ # the package version assets.
1707
+ #
1708
+ # @option params [String] :domain_owner
1709
+ # The 12-digit account number of the AWS account that owns the domain.
1710
+ # It does not include dashes or spaces.
1711
+ #
1712
+ # @option params [required, String] :repository
1713
+ # The name of the repository that contains the package that contains the
1714
+ # returned package version assets.
1715
+ #
1716
+ # @option params [required, String] :format
1717
+ # The format of the package that contains the returned package version
1718
+ # assets. The valid package types are:
1719
+ #
1720
+ # * `npm`\: A Node Package Manager (npm) package.
1721
+ #
1722
+ # * `pypi`\: A Python Package Index (PyPI) package.
1723
+ #
1724
+ # * `maven`\: A Maven package that contains compiled code in a
1725
+ # distributable format, such as a JAR file.
1726
+ #
1727
+ # @option params [String] :namespace
1728
+ # The namespace of the package. The package component that specifies its
1729
+ # namespace depends on its type. For example:
1730
+ #
1731
+ # * The namespace of a Maven package is its `groupId`.
1732
+ #
1733
+ # * The namespace of an npm package is its `scope`.
1734
+ #
1735
+ # * A Python package does not contain a corresponding component, so
1736
+ # Python packages do not have a namespace.
1737
+ #
1738
+ # @option params [required, String] :package
1739
+ # The name of the package that contains the returned package version
1740
+ # assets.
1741
+ #
1742
+ # @option params [required, String] :package_version
1743
+ # A string that contains the package version (for example, `3.5.2`).
1744
+ #
1745
+ # @option params [Integer] :max_results
1746
+ # The maximum number of results to return per page.
1747
+ #
1748
+ # @option params [String] :next_token
1749
+ # The token for the next set of results. Use the value returned in the
1750
+ # previous response in the next request to retrieve the next set of
1751
+ # results.
1752
+ #
1753
+ # @return [Types::ListPackageVersionAssetsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1754
+ #
1755
+ # * {Types::ListPackageVersionAssetsResult#format #format} => String
1756
+ # * {Types::ListPackageVersionAssetsResult#namespace #namespace} => String
1757
+ # * {Types::ListPackageVersionAssetsResult#package #package} => String
1758
+ # * {Types::ListPackageVersionAssetsResult#version #version} => String
1759
+ # * {Types::ListPackageVersionAssetsResult#version_revision #version_revision} => String
1760
+ # * {Types::ListPackageVersionAssetsResult#next_token #next_token} => String
1761
+ # * {Types::ListPackageVersionAssetsResult#assets #assets} => Array&lt;Types::AssetSummary&gt;
1762
+ #
1763
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1764
+ #
1765
+ # @example Request syntax with placeholder values
1766
+ #
1767
+ # resp = client.list_package_version_assets({
1768
+ # domain: "DomainName", # required
1769
+ # domain_owner: "AccountId",
1770
+ # repository: "RepositoryName", # required
1771
+ # format: "npm", # required, accepts npm, pypi, maven
1772
+ # namespace: "PackageNamespace",
1773
+ # package: "PackageName", # required
1774
+ # package_version: "PackageVersion", # required
1775
+ # max_results: 1,
1776
+ # next_token: "PaginationToken",
1777
+ # })
1778
+ #
1779
+ # @example Response structure
1780
+ #
1781
+ # resp.format #=> String, one of "npm", "pypi", "maven"
1782
+ # resp.namespace #=> String
1783
+ # resp.package #=> String
1784
+ # resp.version #=> String
1785
+ # resp.version_revision #=> String
1786
+ # resp.next_token #=> String
1787
+ # resp.assets #=> Array
1788
+ # resp.assets[0].name #=> String
1789
+ # resp.assets[0].size #=> Integer
1790
+ # resp.assets[0].hashes #=> Hash
1791
+ # resp.assets[0].hashes["HashAlgorithm"] #=> String
1792
+ #
1793
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListPackageVersionAssets AWS API Documentation
1794
+ #
1795
+ # @overload list_package_version_assets(params = {})
1796
+ # @param [Hash] params ({})
1797
+ def list_package_version_assets(params = {}, options = {})
1798
+ req = build_request(:list_package_version_assets, params)
1799
+ req.send_request(options)
1800
+ end
1801
+
1802
+ # Returns the direct dependencies for a package version. The
1803
+ # dependencies are returned as [ `PackageDependency` ][1] objects.
1804
+ # CodeArtifact extracts the dependencies for a package version from the
1805
+ # metadata file for the package format (for example, the `package.json`
1806
+ # file for npm packages and the `pom.xml` file for Maven). Any package
1807
+ # version dependencies that are not listed in the configuration file are
1808
+ # not returned.
1809
+ #
1810
+ #
1811
+ #
1812
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageDependency.html
1813
+ #
1814
+ # @option params [required, String] :domain
1815
+ # The domain that contains the repository that contains the requested
1816
+ # package version dependencies.
1817
+ #
1818
+ # @option params [String] :domain_owner
1819
+ # The 12-digit account number of the AWS account that owns the domain.
1820
+ # It does not include dashes or spaces.
1821
+ #
1822
+ # @option params [required, String] :repository
1823
+ # The name of the repository that contains the requested package
1824
+ # version.
1825
+ #
1826
+ # @option params [required, String] :format
1827
+ # The format of the package with the requested dependencies. The valid
1828
+ # package types are:
1829
+ #
1830
+ # * `npm`\: A Node Package Manager (npm) package.
1831
+ #
1832
+ # * `pypi`\: A Python Package Index (PyPI) package.
1833
+ #
1834
+ # * `maven`\: A Maven package that contains compiled code in a
1835
+ # distributable format, such as a JAR file.
1836
+ #
1837
+ # @option params [String] :namespace
1838
+ # The namespace of the package. The package component that specifies its
1839
+ # namespace depends on its type. For example:
1840
+ #
1841
+ # * The namespace of a Maven package is its `groupId`.
1842
+ #
1843
+ # * The namespace of an npm package is its `scope`.
1844
+ #
1845
+ # * A Python package does not contain a corresponding component, so
1846
+ # Python packages do not have a namespace.
1847
+ #
1848
+ # @option params [required, String] :package
1849
+ # The name of the package versions' package.
1850
+ #
1851
+ # @option params [required, String] :package_version
1852
+ # A string that contains the package version (for example, `3.5.2`).
1853
+ #
1854
+ # @option params [String] :next_token
1855
+ # The token for the next set of results. Use the value returned in the
1856
+ # previous response in the next request to retrieve the next set of
1857
+ # results.
1858
+ #
1859
+ # @return [Types::ListPackageVersionDependenciesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1860
+ #
1861
+ # * {Types::ListPackageVersionDependenciesResult#format #format} => String
1862
+ # * {Types::ListPackageVersionDependenciesResult#namespace #namespace} => String
1863
+ # * {Types::ListPackageVersionDependenciesResult#package #package} => String
1864
+ # * {Types::ListPackageVersionDependenciesResult#version #version} => String
1865
+ # * {Types::ListPackageVersionDependenciesResult#version_revision #version_revision} => String
1866
+ # * {Types::ListPackageVersionDependenciesResult#next_token #next_token} => String
1867
+ # * {Types::ListPackageVersionDependenciesResult#dependencies #dependencies} => Array&lt;Types::PackageDependency&gt;
1868
+ #
1869
+ # @example Request syntax with placeholder values
1870
+ #
1871
+ # resp = client.list_package_version_dependencies({
1872
+ # domain: "DomainName", # required
1873
+ # domain_owner: "AccountId",
1874
+ # repository: "RepositoryName", # required
1875
+ # format: "npm", # required, accepts npm, pypi, maven
1876
+ # namespace: "PackageNamespace",
1877
+ # package: "PackageName", # required
1878
+ # package_version: "PackageVersion", # required
1879
+ # next_token: "PaginationToken",
1880
+ # })
1881
+ #
1882
+ # @example Response structure
1883
+ #
1884
+ # resp.format #=> String, one of "npm", "pypi", "maven"
1885
+ # resp.namespace #=> String
1886
+ # resp.package #=> String
1887
+ # resp.version #=> String
1888
+ # resp.version_revision #=> String
1889
+ # resp.next_token #=> String
1890
+ # resp.dependencies #=> Array
1891
+ # resp.dependencies[0].namespace #=> String
1892
+ # resp.dependencies[0].package #=> String
1893
+ # resp.dependencies[0].dependency_type #=> String
1894
+ # resp.dependencies[0].version_requirement #=> String
1895
+ #
1896
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListPackageVersionDependencies AWS API Documentation
1897
+ #
1898
+ # @overload list_package_version_dependencies(params = {})
1899
+ # @param [Hash] params ({})
1900
+ def list_package_version_dependencies(params = {}, options = {})
1901
+ req = build_request(:list_package_version_dependencies, params)
1902
+ req.send_request(options)
1903
+ end
1904
+
1905
+ # Returns a list of [ `PackageVersionSummary` ][1] objects for package
1906
+ # versions in a repository that match the request parameters.
1907
+ #
1908
+ #
1909
+ #
1910
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionSummary.html
1911
+ #
1912
+ # @option params [required, String] :domain
1913
+ # The name of the domain that contains the repository that contains the
1914
+ # returned package versions.
1915
+ #
1916
+ # @option params [String] :domain_owner
1917
+ # The 12-digit account number of the AWS account that owns the domain.
1918
+ # It does not include dashes or spaces.
1919
+ #
1920
+ # @option params [required, String] :repository
1921
+ # The name of the repository that contains the package.
1922
+ #
1923
+ # @option params [required, String] :format
1924
+ # The format of the returned packages. The valid package types are:
1925
+ #
1926
+ # * `npm`\: A Node Package Manager (npm) package.
1927
+ #
1928
+ # * `pypi`\: A Python Package Index (PyPI) package.
1929
+ #
1930
+ # * `maven`\: A Maven package that contains compiled code in a
1931
+ # distributable format, such as a JAR file.
1932
+ #
1933
+ # @option params [String] :namespace
1934
+ # The namespace of the package. The package component that specifies its
1935
+ # namespace depends on its type. For example:
1936
+ #
1937
+ # * The namespace of a Maven package is its `groupId`.
1938
+ #
1939
+ # * The namespace of an npm package is its `scope`.
1940
+ #
1941
+ # * A Python package does not contain a corresponding component, so
1942
+ # Python packages do not have a namespace.
1943
+ #
1944
+ # @option params [required, String] :package
1945
+ # The name of the package for which you want to return a list of package
1946
+ # versions.
1947
+ #
1948
+ # @option params [String] :status
1949
+ # A string that specifies the status of the package versions to include
1950
+ # in the returned list. It can be one of the following:
1951
+ #
1952
+ # * `Published`
1953
+ #
1954
+ # * `Unfinished`
1955
+ #
1956
+ # * `Unlisted`
1957
+ #
1958
+ # * `Archived`
1959
+ #
1960
+ # * `Disposed`
1961
+ #
1962
+ # @option params [String] :sort_by
1963
+ # How to sort the returned list of package versions.
1964
+ #
1965
+ # @option params [Integer] :max_results
1966
+ # The maximum number of results to return per page.
1967
+ #
1968
+ # @option params [String] :next_token
1969
+ # The token for the next set of results. Use the value returned in the
1970
+ # previous response in the next request to retrieve the next set of
1971
+ # results.
1972
+ #
1973
+ # @return [Types::ListPackageVersionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1974
+ #
1975
+ # * {Types::ListPackageVersionsResult#default_display_version #default_display_version} => String
1976
+ # * {Types::ListPackageVersionsResult#format #format} => String
1977
+ # * {Types::ListPackageVersionsResult#namespace #namespace} => String
1978
+ # * {Types::ListPackageVersionsResult#package #package} => String
1979
+ # * {Types::ListPackageVersionsResult#versions #versions} => Array&lt;Types::PackageVersionSummary&gt;
1980
+ # * {Types::ListPackageVersionsResult#next_token #next_token} => String
1981
+ #
1982
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1983
+ #
1984
+ # @example Request syntax with placeholder values
1985
+ #
1986
+ # resp = client.list_package_versions({
1987
+ # domain: "DomainName", # required
1988
+ # domain_owner: "AccountId",
1989
+ # repository: "RepositoryName", # required
1990
+ # format: "npm", # required, accepts npm, pypi, maven
1991
+ # namespace: "PackageNamespace",
1992
+ # package: "PackageName", # required
1993
+ # status: "Published", # accepts Published, Unfinished, Unlisted, Archived, Disposed, Deleted
1994
+ # sort_by: "PUBLISHED_TIME", # accepts PUBLISHED_TIME
1995
+ # max_results: 1,
1996
+ # next_token: "PaginationToken",
1997
+ # })
1998
+ #
1999
+ # @example Response structure
2000
+ #
2001
+ # resp.default_display_version #=> String
2002
+ # resp.format #=> String, one of "npm", "pypi", "maven"
2003
+ # resp.namespace #=> String
2004
+ # resp.package #=> String
2005
+ # resp.versions #=> Array
2006
+ # resp.versions[0].version #=> String
2007
+ # resp.versions[0].revision #=> String
2008
+ # resp.versions[0].status #=> String, one of "Published", "Unfinished", "Unlisted", "Archived", "Disposed", "Deleted"
2009
+ # resp.next_token #=> String
2010
+ #
2011
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListPackageVersions AWS API Documentation
2012
+ #
2013
+ # @overload list_package_versions(params = {})
2014
+ # @param [Hash] params ({})
2015
+ def list_package_versions(params = {}, options = {})
2016
+ req = build_request(:list_package_versions, params)
2017
+ req.send_request(options)
2018
+ end
2019
+
2020
+ # Returns a list of [ `PackageSummary` ][1] objects for packages in a
2021
+ # repository that match the request parameters.
2022
+ #
2023
+ #
2024
+ #
2025
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageSummary.html
2026
+ #
2027
+ # @option params [required, String] :domain
2028
+ # The domain that contains the repository that contains the requested
2029
+ # list of packages.
2030
+ #
2031
+ # @option params [String] :domain_owner
2032
+ # The 12-digit account number of the AWS account that owns the domain.
2033
+ # It does not include dashes or spaces.
2034
+ #
2035
+ # @option params [required, String] :repository
2036
+ # The name of the repository from which packages are to be listed.
2037
+ #
2038
+ # @option params [String] :format
2039
+ # The format of the packages. The valid package types are:
2040
+ #
2041
+ # * `npm`\: A Node Package Manager (npm) package.
2042
+ #
2043
+ # * `pypi`\: A Python Package Index (PyPI) package.
2044
+ #
2045
+ # * `maven`\: A Maven package that contains compiled code in a
2046
+ # distributable format, such as a JAR file.
2047
+ #
2048
+ # @option params [String] :namespace
2049
+ # The namespace of the package. The package component that specifies its
2050
+ # namespace depends on its type. For example:
2051
+ #
2052
+ # * The namespace of a Maven package is its `groupId`.
2053
+ #
2054
+ # * The namespace of an npm package is its `scope`.
2055
+ #
2056
+ # * A Python package does not contain a corresponding component, so
2057
+ # Python packages do not have a namespace.
2058
+ #
2059
+ # @option params [String] :package_prefix
2060
+ # A prefix used to filter returned repositories. Only repositories with
2061
+ # names that start with `repositoryPrefix` are returned.
2062
+ #
2063
+ # @option params [Integer] :max_results
2064
+ # The maximum number of results to return per page.
2065
+ #
2066
+ # @option params [String] :next_token
2067
+ # The token for the next set of results. Use the value returned in the
2068
+ # previous response in the next request to retrieve the next set of
2069
+ # results.
2070
+ #
2071
+ # @return [Types::ListPackagesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2072
+ #
2073
+ # * {Types::ListPackagesResult#packages #packages} => Array&lt;Types::PackageSummary&gt;
2074
+ # * {Types::ListPackagesResult#next_token #next_token} => String
2075
+ #
2076
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2077
+ #
2078
+ # @example Request syntax with placeholder values
2079
+ #
2080
+ # resp = client.list_packages({
2081
+ # domain: "DomainName", # required
2082
+ # domain_owner: "AccountId",
2083
+ # repository: "RepositoryName", # required
2084
+ # format: "npm", # accepts npm, pypi, maven
2085
+ # namespace: "PackageNamespace",
2086
+ # package_prefix: "PackageName",
2087
+ # max_results: 1,
2088
+ # next_token: "PaginationToken",
2089
+ # })
2090
+ #
2091
+ # @example Response structure
2092
+ #
2093
+ # resp.packages #=> Array
2094
+ # resp.packages[0].format #=> String, one of "npm", "pypi", "maven"
2095
+ # resp.packages[0].namespace #=> String
2096
+ # resp.packages[0].package #=> String
2097
+ # resp.next_token #=> String
2098
+ #
2099
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListPackages AWS API Documentation
2100
+ #
2101
+ # @overload list_packages(params = {})
2102
+ # @param [Hash] params ({})
2103
+ def list_packages(params = {}, options = {})
2104
+ req = build_request(:list_packages, params)
2105
+ req.send_request(options)
2106
+ end
2107
+
2108
+ # Returns a list of [ `RepositorySummary` ][1] objects. Each
2109
+ # `RepositorySummary` contains information about a repository in the
2110
+ # specified AWS account and that matches the input parameters.
2111
+ #
2112
+ #
2113
+ #
2114
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_RepositorySummary.html
2115
+ #
2116
+ # @option params [String] :repository_prefix
2117
+ # A prefix used to filter returned repositories. Only repositories with
2118
+ # names that start with `repositoryPrefix` are returned.
2119
+ #
2120
+ # @option params [Integer] :max_results
2121
+ # The maximum number of results to return per page.
2122
+ #
2123
+ # @option params [String] :next_token
2124
+ # The token for the next set of results. Use the value returned in the
2125
+ # previous response in the next request to retrieve the next set of
2126
+ # results.
2127
+ #
2128
+ # @return [Types::ListRepositoriesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2129
+ #
2130
+ # * {Types::ListRepositoriesResult#repositories #repositories} => Array&lt;Types::RepositorySummary&gt;
2131
+ # * {Types::ListRepositoriesResult#next_token #next_token} => String
2132
+ #
2133
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2134
+ #
2135
+ # @example Request syntax with placeholder values
2136
+ #
2137
+ # resp = client.list_repositories({
2138
+ # repository_prefix: "RepositoryName",
2139
+ # max_results: 1,
2140
+ # next_token: "PaginationToken",
2141
+ # })
2142
+ #
2143
+ # @example Response structure
2144
+ #
2145
+ # resp.repositories #=> Array
2146
+ # resp.repositories[0].name #=> String
2147
+ # resp.repositories[0].administrator_account #=> String
2148
+ # resp.repositories[0].domain_name #=> String
2149
+ # resp.repositories[0].domain_owner #=> String
2150
+ # resp.repositories[0].arn #=> String
2151
+ # resp.repositories[0].description #=> String
2152
+ # resp.next_token #=> String
2153
+ #
2154
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListRepositories AWS API Documentation
2155
+ #
2156
+ # @overload list_repositories(params = {})
2157
+ # @param [Hash] params ({})
2158
+ def list_repositories(params = {}, options = {})
2159
+ req = build_request(:list_repositories, params)
2160
+ req.send_request(options)
2161
+ end
2162
+
2163
+ # Returns a list of [ `RepositorySummary` ][1] objects. Each
2164
+ # `RepositorySummary` contains information about a repository in the
2165
+ # specified domain and that matches the input parameters.
2166
+ #
2167
+ #
2168
+ #
2169
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_RepositorySummary.html
2170
+ #
2171
+ # @option params [required, String] :domain
2172
+ # The name of the domain that contains the returned list of
2173
+ # repositories.
2174
+ #
2175
+ # @option params [String] :domain_owner
2176
+ # The 12-digit account number of the AWS account that owns the domain.
2177
+ # It does not include dashes or spaces.
2178
+ #
2179
+ # @option params [String] :administrator_account
2180
+ # Filter the list of repositories to only include those that are managed
2181
+ # by the AWS account ID.
2182
+ #
2183
+ # @option params [String] :repository_prefix
2184
+ # A prefix used to filter returned repositories. Only repositories with
2185
+ # names that start with `repositoryPrefix` are returned.
2186
+ #
2187
+ # @option params [Integer] :max_results
2188
+ # The maximum number of results to return per page.
2189
+ #
2190
+ # @option params [String] :next_token
2191
+ # The token for the next set of results. Use the value returned in the
2192
+ # previous response in the next request to retrieve the next set of
2193
+ # results.
2194
+ #
2195
+ # @return [Types::ListRepositoriesInDomainResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2196
+ #
2197
+ # * {Types::ListRepositoriesInDomainResult#repositories #repositories} => Array&lt;Types::RepositorySummary&gt;
2198
+ # * {Types::ListRepositoriesInDomainResult#next_token #next_token} => String
2199
+ #
2200
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2201
+ #
2202
+ # @example Request syntax with placeholder values
2203
+ #
2204
+ # resp = client.list_repositories_in_domain({
2205
+ # domain: "DomainName", # required
2206
+ # domain_owner: "AccountId",
2207
+ # administrator_account: "AccountId",
2208
+ # repository_prefix: "RepositoryName",
2209
+ # max_results: 1,
2210
+ # next_token: "PaginationToken",
2211
+ # })
2212
+ #
2213
+ # @example Response structure
2214
+ #
2215
+ # resp.repositories #=> Array
2216
+ # resp.repositories[0].name #=> String
2217
+ # resp.repositories[0].administrator_account #=> String
2218
+ # resp.repositories[0].domain_name #=> String
2219
+ # resp.repositories[0].domain_owner #=> String
2220
+ # resp.repositories[0].arn #=> String
2221
+ # resp.repositories[0].description #=> String
2222
+ # resp.next_token #=> String
2223
+ #
2224
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListRepositoriesInDomain AWS API Documentation
2225
+ #
2226
+ # @overload list_repositories_in_domain(params = {})
2227
+ # @param [Hash] params ({})
2228
+ def list_repositories_in_domain(params = {}, options = {})
2229
+ req = build_request(:list_repositories_in_domain, params)
2230
+ req.send_request(options)
2231
+ end
2232
+
2233
+ # Sets a resource policy on a domain that specifies permissions to
2234
+ # access it.
2235
+ #
2236
+ # @option params [required, String] :domain
2237
+ # The name of the domain on which to set the resource policy.
2238
+ #
2239
+ # @option params [String] :domain_owner
2240
+ # The 12-digit account number of the AWS account that owns the domain.
2241
+ # It does not include dashes or spaces.
2242
+ #
2243
+ # @option params [String] :policy_revision
2244
+ # The current revision of the resource policy to be set. This revision
2245
+ # is used for optimistic locking, which prevents others from overwriting
2246
+ # your changes to the domain's resource policy.
2247
+ #
2248
+ # @option params [required, String] :policy_document
2249
+ # A valid displayable JSON Aspen policy string to be set as the access
2250
+ # control resource policy on the provided domain.
2251
+ #
2252
+ # @return [Types::PutDomainPermissionsPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2253
+ #
2254
+ # * {Types::PutDomainPermissionsPolicyResult#policy #policy} => Types::ResourcePolicy
2255
+ #
2256
+ # @example Request syntax with placeholder values
2257
+ #
2258
+ # resp = client.put_domain_permissions_policy({
2259
+ # domain: "DomainName", # required
2260
+ # domain_owner: "AccountId",
2261
+ # policy_revision: "PolicyRevision",
2262
+ # policy_document: "PolicyDocument", # required
2263
+ # })
2264
+ #
2265
+ # @example Response structure
2266
+ #
2267
+ # resp.policy.resource_arn #=> String
2268
+ # resp.policy.revision #=> String
2269
+ # resp.policy.document #=> String
2270
+ #
2271
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/PutDomainPermissionsPolicy AWS API Documentation
2272
+ #
2273
+ # @overload put_domain_permissions_policy(params = {})
2274
+ # @param [Hash] params ({})
2275
+ def put_domain_permissions_policy(params = {}, options = {})
2276
+ req = build_request(:put_domain_permissions_policy, params)
2277
+ req.send_request(options)
2278
+ end
2279
+
2280
+ # Sets the resource policy on a repository that specifies permissions to
2281
+ # access it.
2282
+ #
2283
+ # @option params [required, String] :domain
2284
+ # The name of the domain containing the repository to set the resource
2285
+ # policy on.
2286
+ #
2287
+ # @option params [String] :domain_owner
2288
+ # The 12-digit account number of the AWS account that owns the domain.
2289
+ # It does not include dashes or spaces.
2290
+ #
2291
+ # @option params [required, String] :repository
2292
+ # The name of the repository to set the resource policy on.
2293
+ #
2294
+ # @option params [String] :policy_revision
2295
+ # Sets the revision of the resource policy that specifies permissions to
2296
+ # access the repository. This revision is used for optimistic locking,
2297
+ # which prevents others from overwriting your changes to the
2298
+ # repository's resource policy.
2299
+ #
2300
+ # @option params [required, String] :policy_document
2301
+ # A valid displayable JSON Aspen policy string to be set as the access
2302
+ # control resource policy on the provided repository.
2303
+ #
2304
+ # @return [Types::PutRepositoryPermissionsPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2305
+ #
2306
+ # * {Types::PutRepositoryPermissionsPolicyResult#policy #policy} => Types::ResourcePolicy
2307
+ #
2308
+ # @example Request syntax with placeholder values
2309
+ #
2310
+ # resp = client.put_repository_permissions_policy({
2311
+ # domain: "DomainName", # required
2312
+ # domain_owner: "AccountId",
2313
+ # repository: "RepositoryName", # required
2314
+ # policy_revision: "PolicyRevision",
2315
+ # policy_document: "PolicyDocument", # required
2316
+ # })
2317
+ #
2318
+ # @example Response structure
2319
+ #
2320
+ # resp.policy.resource_arn #=> String
2321
+ # resp.policy.revision #=> String
2322
+ # resp.policy.document #=> String
2323
+ #
2324
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/PutRepositoryPermissionsPolicy AWS API Documentation
2325
+ #
2326
+ # @overload put_repository_permissions_policy(params = {})
2327
+ # @param [Hash] params ({})
2328
+ def put_repository_permissions_policy(params = {}, options = {})
2329
+ req = build_request(:put_repository_permissions_policy, params)
2330
+ req.send_request(options)
2331
+ end
2332
+
2333
+ # Updates the status of one or more versions of a package.
2334
+ #
2335
+ # @option params [required, String] :domain
2336
+ # The domain that contains the repository that contains the package
2337
+ # versions with a status to be updated.
2338
+ #
2339
+ # @option params [String] :domain_owner
2340
+ # The 12-digit account number of the AWS account that owns the domain.
2341
+ # It does not include dashes or spaces.
2342
+ #
2343
+ # @option params [required, String] :repository
2344
+ # The repository that contains the package versions with the status you
2345
+ # want to update.
2346
+ #
2347
+ # @option params [required, String] :format
2348
+ # A format that specifies the type of the package with the statuses to
2349
+ # update. The valid values are:
2350
+ #
2351
+ # * `npm`
2352
+ #
2353
+ # * `pypi`
2354
+ #
2355
+ # * `maven`
2356
+ #
2357
+ # @option params [String] :namespace
2358
+ # The namespace of the package. The package component that specifies its
2359
+ # namespace depends on its type. For example:
2360
+ #
2361
+ # * The namespace of a Maven package is its `groupId`.
2362
+ #
2363
+ # * The namespace of an npm package is its `scope`.
2364
+ #
2365
+ # * A Python package does not contain a corresponding component, so
2366
+ # Python packages do not have a namespace.
2367
+ #
2368
+ # @option params [required, String] :package
2369
+ # The name of the package with the version statuses to update.
2370
+ #
2371
+ # @option params [required, Array<String>] :versions
2372
+ # An array of strings that specify the versions of the package with the
2373
+ # statuses to update.
2374
+ #
2375
+ # @option params [Hash<String,String>] :version_revisions
2376
+ # A map of package versions and package version revisions. The map `key`
2377
+ # is the package version (for example, `3.5.2`), and the map `value` is
2378
+ # the package version revision.
2379
+ #
2380
+ # @option params [String] :expected_status
2381
+ # The package version’s expected status before it is updated. If
2382
+ # `expectedStatus` is provided, the package version's status is updated
2383
+ # only if its status at the time `UpdatePackageVersionsStatus` is called
2384
+ # matches `expectedStatus`.
2385
+ #
2386
+ # @option params [required, String] :target_status
2387
+ # The status you want to change the package version status to.
2388
+ #
2389
+ # @return [Types::UpdatePackageVersionsStatusResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2390
+ #
2391
+ # * {Types::UpdatePackageVersionsStatusResult#successful_versions #successful_versions} => Hash&lt;String,Types::SuccessfulPackageVersionInfo&gt;
2392
+ # * {Types::UpdatePackageVersionsStatusResult#failed_versions #failed_versions} => Hash&lt;String,Types::PackageVersionError&gt;
2393
+ #
2394
+ # @example Request syntax with placeholder values
2395
+ #
2396
+ # resp = client.update_package_versions_status({
2397
+ # domain: "DomainName", # required
2398
+ # domain_owner: "AccountId",
2399
+ # repository: "RepositoryName", # required
2400
+ # format: "npm", # required, accepts npm, pypi, maven
2401
+ # namespace: "PackageNamespace",
2402
+ # package: "PackageName", # required
2403
+ # versions: ["PackageVersion"], # required
2404
+ # version_revisions: {
2405
+ # "PackageVersion" => "PackageVersionRevision",
2406
+ # },
2407
+ # expected_status: "Published", # accepts Published, Unfinished, Unlisted, Archived, Disposed, Deleted
2408
+ # target_status: "Published", # required, accepts Published, Unfinished, Unlisted, Archived, Disposed, Deleted
2409
+ # })
2410
+ #
2411
+ # @example Response structure
2412
+ #
2413
+ # resp.successful_versions #=> Hash
2414
+ # resp.successful_versions["PackageVersion"].revision #=> String
2415
+ # resp.successful_versions["PackageVersion"].status #=> String, one of "Published", "Unfinished", "Unlisted", "Archived", "Disposed", "Deleted"
2416
+ # resp.failed_versions #=> Hash
2417
+ # resp.failed_versions["PackageVersion"].error_code #=> String, one of "ALREADY_EXISTS", "MISMATCHED_REVISION", "MISMATCHED_STATUS", "NOT_ALLOWED", "NOT_FOUND", "SKIPPED"
2418
+ # resp.failed_versions["PackageVersion"].error_message #=> String
2419
+ #
2420
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/UpdatePackageVersionsStatus AWS API Documentation
2421
+ #
2422
+ # @overload update_package_versions_status(params = {})
2423
+ # @param [Hash] params ({})
2424
+ def update_package_versions_status(params = {}, options = {})
2425
+ req = build_request(:update_package_versions_status, params)
2426
+ req.send_request(options)
2427
+ end
2428
+
2429
+ # Update the properties of a repository.
2430
+ #
2431
+ # @option params [required, String] :domain
2432
+ # The name of the domain associated with the repository to update.
2433
+ #
2434
+ # @option params [String] :domain_owner
2435
+ # The 12-digit account number of the AWS account that owns the domain.
2436
+ # It does not include dashes or spaces.
2437
+ #
2438
+ # @option params [required, String] :repository
2439
+ # The name of the repository to update.
2440
+ #
2441
+ # @option params [String] :description
2442
+ # An updated repository description.
2443
+ #
2444
+ # @option params [Array<Types::UpstreamRepository>] :upstreams
2445
+ # A list of upstream repositories to associate with the repository. The
2446
+ # order of the upstream repositories in the list determines their
2447
+ # priority order when AWS CodeArtifact looks for a requested package
2448
+ # version. For more information, see [Working with upstream
2449
+ # repositories][1].
2450
+ #
2451
+ #
2452
+ #
2453
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html
2454
+ #
2455
+ # @return [Types::UpdateRepositoryResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2456
+ #
2457
+ # * {Types::UpdateRepositoryResult#repository #repository} => Types::RepositoryDescription
2458
+ #
2459
+ # @example Request syntax with placeholder values
2460
+ #
2461
+ # resp = client.update_repository({
2462
+ # domain: "DomainName", # required
2463
+ # domain_owner: "AccountId",
2464
+ # repository: "RepositoryName", # required
2465
+ # description: "Description",
2466
+ # upstreams: [
2467
+ # {
2468
+ # repository_name: "RepositoryName", # required
2469
+ # },
2470
+ # ],
2471
+ # })
2472
+ #
2473
+ # @example Response structure
2474
+ #
2475
+ # resp.repository.name #=> String
2476
+ # resp.repository.administrator_account #=> String
2477
+ # resp.repository.domain_name #=> String
2478
+ # resp.repository.domain_owner #=> String
2479
+ # resp.repository.arn #=> String
2480
+ # resp.repository.description #=> String
2481
+ # resp.repository.upstreams #=> Array
2482
+ # resp.repository.upstreams[0].repository_name #=> String
2483
+ # resp.repository.external_connections #=> Array
2484
+ # resp.repository.external_connections[0].external_connection_name #=> String
2485
+ # resp.repository.external_connections[0].package_format #=> String, one of "npm", "pypi", "maven"
2486
+ # resp.repository.external_connections[0].status #=> String, one of "Available"
2487
+ #
2488
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/UpdateRepository AWS API Documentation
2489
+ #
2490
+ # @overload update_repository(params = {})
2491
+ # @param [Hash] params ({})
2492
+ def update_repository(params = {}, options = {})
2493
+ req = build_request(:update_repository, params)
2494
+ req.send_request(options)
2495
+ end
2496
+
2497
+ # @!endgroup
2498
+
2499
+ # @param params ({})
2500
+ # @api private
2501
+ def build_request(operation_name, params = {})
2502
+ handlers = @handlers.for(operation_name)
2503
+ context = Seahorse::Client::RequestContext.new(
2504
+ operation_name: operation_name,
2505
+ operation: config.api.operation(operation_name),
2506
+ client: self,
2507
+ params: params,
2508
+ config: config)
2509
+ context[:gem_name] = 'aws-sdk-codeartifact'
2510
+ context[:gem_version] = '1.0.1'
2511
+ Seahorse::Client::Request.new(handlers, context)
2512
+ end
2513
+
2514
+ # @api private
2515
+ # @deprecated
2516
+ def waiter_names
2517
+ []
2518
+ end
2519
+
2520
+ class << self
2521
+
2522
+ # @api private
2523
+ attr_reader :identifier
2524
+
2525
+ # @api private
2526
+ def errors_module
2527
+ Errors
2528
+ end
2529
+
2530
+ end
2531
+ end
2532
+ end