aws-sdk-codeartifact 1.0.1

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