aws-sdk-codeartifact 1.16.0 → 1.35.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -27,7 +27,11 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
- require 'aws-sdk-core/plugins/signature_v4.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
32
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
31
35
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
36
 
33
37
  Aws::Plugins::GlobalConfiguration.add_identifier(:codeartifact)
@@ -73,8 +77,13 @@ module Aws::CodeArtifact
73
77
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
78
  add_plugin(Aws::Plugins::TransferEncoding)
75
79
  add_plugin(Aws::Plugins::HttpChecksum)
76
- add_plugin(Aws::Plugins::SignatureV4)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
82
+ add_plugin(Aws::Plugins::DefaultsMode)
83
+ add_plugin(Aws::Plugins::RecursionDetection)
84
+ add_plugin(Aws::Plugins::Sign)
77
85
  add_plugin(Aws::Plugins::Protocols::RestJson)
86
+ add_plugin(Aws::CodeArtifact::Plugins::Endpoints)
78
87
 
79
88
  # @overload initialize(options)
80
89
  # @param [Hash] options
@@ -175,10 +184,18 @@ module Aws::CodeArtifact
175
184
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
176
185
  # a clock skew correction and retry requests with skewed client clocks.
177
186
  #
187
+ # @option options [String] :defaults_mode ("legacy")
188
+ # See {Aws::DefaultsModeConfiguration} for a list of the
189
+ # accepted modes and the configuration defaults that are included.
190
+ #
178
191
  # @option options [Boolean] :disable_host_prefix_injection (false)
179
192
  # Set to true to disable SDK automatically adding host prefix
180
193
  # to default service endpoint when available.
181
194
  #
195
+ # @option options [Boolean] :disable_request_compression (false)
196
+ # When set to 'true' the request body will not be compressed
197
+ # for supported operations.
198
+ #
182
199
  # @option options [String] :endpoint
183
200
  # The client endpoint is normally constructed from the `:region`
184
201
  # option. You should only configure an `:endpoint` when connecting
@@ -199,6 +216,10 @@ module Aws::CodeArtifact
199
216
  # @option options [Boolean] :endpoint_discovery (false)
200
217
  # When set to `true`, endpoint discovery will be enabled for operations when available.
201
218
  #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
202
223
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
203
224
  # The log formatter.
204
225
  #
@@ -219,6 +240,11 @@ module Aws::CodeArtifact
219
240
  # Used when loading credentials from the shared credentials file
220
241
  # at HOME/.aws/credentials. When not specified, 'default' is used.
221
242
  #
243
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
244
+ # The minimum size in bytes that triggers compression for request
245
+ # bodies. The value must be non-negative integer value between 0
246
+ # and 10485780 bytes inclusive.
247
+ #
222
248
  # @option options [Proc] :retry_backoff
223
249
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
224
250
  # This option is only used in the `legacy` retry mode.
@@ -264,6 +290,11 @@ module Aws::CodeArtifact
264
290
  # in the future.
265
291
  #
266
292
  #
293
+ # @option options [String] :sdk_ua_app_id
294
+ # A unique and opaque application ID that is appended to the
295
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
+ # maximum length of 50.
297
+ #
267
298
  # @option options [String] :secret_access_key
268
299
  #
269
300
  # @option options [String] :session_token
@@ -277,6 +308,19 @@ module Aws::CodeArtifact
277
308
  # ** Please note ** When response stubbing is enabled, no HTTP
278
309
  # requests are made, and retries are disabled.
279
310
  #
311
+ # @option options [Aws::TokenProvider] :token_provider
312
+ # A Bearer Token Provider. This can be an instance of any one of the
313
+ # following classes:
314
+ #
315
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
316
+ # tokens.
317
+ #
318
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
319
+ # access token generated from `aws login`.
320
+ #
321
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
322
+ # will be used to search for tokens configured for your profile in shared configuration files.
323
+ #
280
324
  # @option options [Boolean] :use_dualstack_endpoint
281
325
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
282
326
  # will be used if available.
@@ -290,6 +334,9 @@ module Aws::CodeArtifact
290
334
  # When `true`, request parameters are validated before
291
335
  # sending the request.
292
336
  #
337
+ # @option options [Aws::CodeArtifact::EndpointProvider] :endpoint_provider
338
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::CodeArtifact::EndpointParameters`
339
+ #
293
340
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
294
341
  # requests through. Formatted like 'http://proxy.com:123'.
295
342
  #
@@ -297,7 +344,7 @@ module Aws::CodeArtifact
297
344
  # seconds to wait when opening a HTTP session before raising a
298
345
  # `Timeout::Error`.
299
346
  #
300
- # @option options [Integer] :http_read_timeout (60) The default
347
+ # @option options [Float] :http_read_timeout (60) The default
301
348
  # number of seconds to wait for response data. This value can
302
349
  # safely be set per-request on the session.
303
350
  #
@@ -313,6 +360,9 @@ module Aws::CodeArtifact
313
360
  # disables this behaviour. This value can safely be set per
314
361
  # request on the session.
315
362
  #
363
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
+ # in seconds.
365
+ #
316
366
  # @option options [Boolean] :http_wire_trace (false) When `true`,
317
367
  # HTTP debug output will be sent to the `:logger`.
318
368
  #
@@ -350,8 +400,8 @@ module Aws::CodeArtifact
350
400
  # The name of the domain that contains the repository.
351
401
  #
352
402
  # @option params [String] :domain_owner
353
- # The 12-digit account number of the AWS account that owns the domain.
354
- # It does not include dashes or spaces.
403
+ # The 12-digit account number of the Amazon Web Services account that
404
+ # owns the domain. It does not include dashes or spaces.
355
405
  #
356
406
  # @option params [required, String] :repository
357
407
  # The name of the repository to which the external connection is added.
@@ -362,6 +412,8 @@ module Aws::CodeArtifact
362
412
  #
363
413
  # * `public:npmjs` - for the npm public repository.
364
414
  #
415
+ # * `public:nuget-org` - for the NuGet Gallery.
416
+ #
365
417
  # * `public:pypi` - for the Python Package Index.
366
418
  #
367
419
  # * `public:maven-central` - for Maven Central.
@@ -372,6 +424,8 @@ module Aws::CodeArtifact
372
424
  #
373
425
  # * `public:maven-commonsware` - for the CommonsWare Android repository.
374
426
  #
427
+ # * `public:maven-clojars` - for the Clojars repository.
428
+ #
375
429
  # @return [Types::AssociateExternalConnectionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
376
430
  #
377
431
  # * {Types::AssociateExternalConnectionResult#repository #repository} => Types::RepositoryDescription
@@ -397,8 +451,9 @@ module Aws::CodeArtifact
397
451
  # resp.repository.upstreams[0].repository_name #=> String
398
452
  # resp.repository.external_connections #=> Array
399
453
  # resp.repository.external_connections[0].external_connection_name #=> String
400
- # resp.repository.external_connections[0].package_format #=> String, one of "npm", "pypi", "maven", "nuget"
454
+ # resp.repository.external_connections[0].package_format #=> String, one of "npm", "pypi", "maven", "nuget", "generic", "swift"
401
455
  # resp.repository.external_connections[0].status #=> String, one of "Available"
456
+ # resp.repository.created_time #=> Time
402
457
  #
403
458
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/AssociateExternalConnection AWS API Documentation
404
459
  #
@@ -422,41 +477,40 @@ module Aws::CodeArtifact
422
477
  # repositories.
423
478
  #
424
479
  # @option params [String] :domain_owner
425
- # The 12-digit account number of the AWS account that owns the domain.
426
- # It does not include dashes or spaces.
480
+ # The 12-digit account number of the Amazon Web Services account that
481
+ # owns the domain. It does not include dashes or spaces.
427
482
  #
428
483
  # @option params [required, String] :source_repository
429
- # The name of the repository that contains the package versions to copy.
484
+ # The name of the repository that contains the package versions to be
485
+ # copied.
430
486
  #
431
487
  # @option params [required, String] :destination_repository
432
488
  # The name of the repository into which package versions are copied.
433
489
  #
434
490
  # @option params [required, String] :format
435
- # The format of the package that is copied. The valid package types are:
436
- #
437
- # * `npm`\: A Node Package Manager (npm) package.
438
- #
439
- # * `pypi`\: A Python Package Index (PyPI) package.
440
- #
441
- # * `maven`\: A Maven package that contains compiled code in a
442
- # distributable format, such as a JAR file.
491
+ # The format of the package versions to be copied.
443
492
  #
444
493
  # @option params [String] :namespace
445
- # The namespace of the package. The package component that specifies its
446
- # namespace depends on its type. For example:
494
+ # The namespace of the package versions to be copied. The package
495
+ # version component that specifies its namespace depends on its type.
496
+ # For example:
447
497
  #
448
- # * The namespace of a Maven package is its `groupId`.
498
+ # * The namespace of a Maven package version is its `groupId`. The
499
+ # namespace is required when copying Maven package versions.
449
500
  #
450
- # * The namespace of an npm package is its `scope`.
501
+ # * The namespace of an npm package version is its `scope`.
451
502
  #
452
- # * A Python package does not contain a corresponding component, so
453
- # Python packages do not have a namespace.
503
+ # * Python and NuGet package versions do not contain a corresponding
504
+ # component, package versions of those formats do not have a
505
+ # namespace.
506
+ #
507
+ # * The namespace of a generic package is its `namespace`.
454
508
  #
455
509
  # @option params [required, String] :package
456
- # The name of the package that is copied.
510
+ # The name of the package that contains the versions to be copied.
457
511
  #
458
512
  # @option params [Array<String>] :versions
459
- # The versions of the package to copy.
513
+ # The versions of the package to be copied.
460
514
  #
461
515
  # <note markdown="1"> You must specify `versions` or `versionRevisions`. You cannot specify
462
516
  # both.
@@ -503,7 +557,7 @@ module Aws::CodeArtifact
503
557
  # domain_owner: "AccountId",
504
558
  # source_repository: "RepositoryName", # required
505
559
  # destination_repository: "RepositoryName", # required
506
- # format: "npm", # required, accepts npm, pypi, maven, nuget
560
+ # format: "npm", # required, accepts npm, pypi, maven, nuget, generic, swift
507
561
  # namespace: "PackageNamespace",
508
562
  # package: "PackageName", # required
509
563
  # versions: ["PackageVersion"],
@@ -534,9 +588,9 @@ module Aws::CodeArtifact
534
588
 
535
589
  # Creates a domain. CodeArtifact *domains* make it easier to manage
536
590
  # multiple repositories across an organization. You can use a domain to
537
- # apply permissions across many repositories owned by different AWS
538
- # accounts. An asset is stored only once in a domain, even if it's in
539
- # multiple repositories.
591
+ # apply permissions across many repositories owned by different Amazon
592
+ # Web Services accounts. An asset is stored only once in a domain, even
593
+ # if it's in multiple repositories.
540
594
  #
541
595
  # Although you can have multiple domains, we recommend a single
542
596
  # production domain that contains all published artifacts so that your
@@ -545,10 +599,11 @@ module Aws::CodeArtifact
545
599
  # configuration.
546
600
  #
547
601
  # @option params [required, String] :domain
548
- # The name of the domain to create. All domain names in an AWS Region
549
- # that are in the same AWS account must be unique. The domain name is
550
- # used as the prefix in DNS hostnames. Do not use sensitive information
551
- # in a domain name because it is publicly discoverable.
602
+ # The name of the domain to create. All domain names in an Amazon Web
603
+ # Services Region that are in the same Amazon Web Services account must
604
+ # be unique. The domain name is used as the prefix in DNS hostnames. Do
605
+ # not use sensitive information in a domain name because it is publicly
606
+ # discoverable.
552
607
  #
553
608
  # @option params [String] :encryption_key
554
609
  # The encryption key for the domain. This is used to encrypt content
@@ -556,13 +611,13 @@ module Aws::CodeArtifact
556
611
  # Resource Name (ARN), a key alias, or a key alias ARN. To specify an
557
612
  # `encryptionKey`, your IAM role must have `kms:DescribeKey` and
558
613
  # `kms:CreateGrant` permissions on the encryption key that is used. For
559
- # more information, see [DescribeKey][1] in the *AWS Key Management
560
- # Service API Reference* and [AWS KMS API Permissions Reference][2] in
561
- # the *AWS Key Management Service Developer Guide*.
614
+ # more information, see [DescribeKey][1] in the *Key Management Service
615
+ # API Reference* and [Key Management Service API Permissions
616
+ # Reference][2] in the *Key Management Service Developer Guide*.
562
617
  #
563
618
  # CodeArtifact supports only symmetric CMKs. Do not associate an
564
619
  # asymmetric CMK with your domain. For more information, see [Using
565
- # symmetric and asymmetric keys][3] in the *AWS Key Management Service
620
+ # symmetric and asymmetric keys][3] in the *Key Management Service
566
621
  # Developer Guide*.
567
622
  #
568
623
  #
@@ -618,8 +673,8 @@ module Aws::CodeArtifact
618
673
  # The name of the domain that contains the created repository.
619
674
  #
620
675
  # @option params [String] :domain_owner
621
- # The 12-digit account number of the AWS account that owns the domain.
622
- # It does not include dashes or spaces.
676
+ # The 12-digit account number of the Amazon Web Services account that
677
+ # owns the domain. It does not include dashes or spaces.
623
678
  #
624
679
  # @option params [required, String] :repository
625
680
  # The name of the repository to create.
@@ -630,7 +685,7 @@ module Aws::CodeArtifact
630
685
  # @option params [Array<Types::UpstreamRepository>] :upstreams
631
686
  # A list of upstream repositories to associate with the repository. The
632
687
  # order of the upstream repositories in the list determines their
633
- # priority order when AWS CodeArtifact looks for a requested package
688
+ # priority order when CodeArtifact looks for a requested package
634
689
  # version. For more information, see [Working with upstream
635
690
  # repositories][1].
636
691
  #
@@ -677,8 +732,9 @@ module Aws::CodeArtifact
677
732
  # resp.repository.upstreams[0].repository_name #=> String
678
733
  # resp.repository.external_connections #=> Array
679
734
  # resp.repository.external_connections[0].external_connection_name #=> String
680
- # resp.repository.external_connections[0].package_format #=> String, one of "npm", "pypi", "maven", "nuget"
735
+ # resp.repository.external_connections[0].package_format #=> String, one of "npm", "pypi", "maven", "nuget", "generic", "swift"
681
736
  # resp.repository.external_connections[0].status #=> String, one of "Available"
737
+ # resp.repository.created_time #=> Time
682
738
  #
683
739
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/CreateRepository AWS API Documentation
684
740
  #
@@ -697,8 +753,8 @@ module Aws::CodeArtifact
697
753
  # The name of the domain to delete.
698
754
  #
699
755
  # @option params [String] :domain_owner
700
- # The 12-digit account number of the AWS account that owns the domain.
701
- # It does not include dashes or spaces.
756
+ # The 12-digit account number of the Amazon Web Services account that
757
+ # owns the domain. It does not include dashes or spaces.
702
758
  #
703
759
  # @return [Types::DeleteDomainResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
704
760
  #
@@ -739,8 +795,8 @@ module Aws::CodeArtifact
739
795
  # deleted.
740
796
  #
741
797
  # @option params [String] :domain_owner
742
- # The 12-digit account number of the AWS account that owns the domain.
743
- # It does not include dashes or spaces.
798
+ # The 12-digit account number of the Amazon Web Services account that
799
+ # owns the domain. It does not include dashes or spaces.
744
800
  #
745
801
  # @option params [String] :policy_revision
746
802
  # The current revision of the resource policy to be deleted. This
@@ -774,12 +830,82 @@ module Aws::CodeArtifact
774
830
  req.send_request(options)
775
831
  end
776
832
 
833
+ # Deletes a package and all associated package versions. A deleted
834
+ # package cannot be restored. To delete one or more package versions,
835
+ # use the [DeletePackageVersions][1] API.
836
+ #
837
+ #
838
+ #
839
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DeletePackageVersions.html
840
+ #
841
+ # @option params [required, String] :domain
842
+ # The name of the domain that contains the package to delete.
843
+ #
844
+ # @option params [String] :domain_owner
845
+ # The 12-digit account number of the Amazon Web Services account that
846
+ # owns the domain. It does not include dashes or spaces.
847
+ #
848
+ # @option params [required, String] :repository
849
+ # The name of the repository that contains the package to delete.
850
+ #
851
+ # @option params [required, String] :format
852
+ # The format of the requested package to delete.
853
+ #
854
+ # @option params [String] :namespace
855
+ # The namespace of the package to delete. The package component that
856
+ # specifies its namespace depends on its type. For example:
857
+ #
858
+ # * The namespace of a Maven package is its `groupId`. The namespace is
859
+ # required when deleting Maven package versions.
860
+ #
861
+ # * The namespace of an npm package is its `scope`.
862
+ #
863
+ # * Python and NuGet packages do not contain corresponding components,
864
+ # packages of those formats do not have a namespace.
865
+ #
866
+ # * The namespace of a generic package is its `namespace`.
867
+ #
868
+ # @option params [required, String] :package
869
+ # The name of the package to delete.
870
+ #
871
+ # @return [Types::DeletePackageResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
872
+ #
873
+ # * {Types::DeletePackageResult#deleted_package #deleted_package} => Types::PackageSummary
874
+ #
875
+ # @example Request syntax with placeholder values
876
+ #
877
+ # resp = client.delete_package({
878
+ # domain: "DomainName", # required
879
+ # domain_owner: "AccountId",
880
+ # repository: "RepositoryName", # required
881
+ # format: "npm", # required, accepts npm, pypi, maven, nuget, generic, swift
882
+ # namespace: "PackageNamespace",
883
+ # package: "PackageName", # required
884
+ # })
885
+ #
886
+ # @example Response structure
887
+ #
888
+ # resp.deleted_package.format #=> String, one of "npm", "pypi", "maven", "nuget", "generic", "swift"
889
+ # resp.deleted_package.namespace #=> String
890
+ # resp.deleted_package.package #=> String
891
+ # resp.deleted_package.origin_configuration.restrictions.publish #=> String, one of "ALLOW", "BLOCK"
892
+ # resp.deleted_package.origin_configuration.restrictions.upstream #=> String, one of "ALLOW", "BLOCK"
893
+ #
894
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DeletePackage AWS API Documentation
895
+ #
896
+ # @overload delete_package(params = {})
897
+ # @param [Hash] params ({})
898
+ def delete_package(params = {}, options = {})
899
+ req = build_request(:delete_package, params)
900
+ req.send_request(options)
901
+ end
902
+
777
903
  # Deletes one or more versions of a package. A deleted package version
778
904
  # cannot be restored in your repository. If you want to remove a package
779
905
  # version from your repository and be able to restore it later, set its
780
906
  # status to `Archived`. Archived packages cannot be downloaded from a
781
907
  # repository and don't show up with list package APIs (for example,
782
- # [ListackageVersions][1]), but you can restore them using
908
+ # [ListPackageVersions][1]), but you can restore them using
783
909
  # [UpdatePackageVersionsStatus][2].
784
910
  #
785
911
  #
@@ -791,32 +917,31 @@ module Aws::CodeArtifact
791
917
  # The name of the domain that contains the package to delete.
792
918
  #
793
919
  # @option params [String] :domain_owner
794
- # The 12-digit account number of the AWS account that owns the domain.
795
- # It does not include dashes or spaces.
920
+ # The 12-digit account number of the Amazon Web Services account that
921
+ # owns the domain. It does not include dashes or spaces.
796
922
  #
797
923
  # @option params [required, String] :repository
798
924
  # The name of the repository that contains the package versions to
799
925
  # delete.
800
926
  #
801
927
  # @option params [required, String] :format
802
- # The format of the package versions to delete. The valid values are:
803
- #
804
- # * `npm`
805
- #
806
- # * `pypi`
807
- #
808
- # * `maven`
928
+ # The format of the package versions to delete.
809
929
  #
810
930
  # @option params [String] :namespace
811
- # The namespace of the package. The package component that specifies its
812
- # namespace depends on its type. For example:
931
+ # The namespace of the package versions to be deleted. The package
932
+ # version component that specifies its namespace depends on its type.
933
+ # For example:
813
934
  #
814
- # * The namespace of a Maven package is its `groupId`.
935
+ # * The namespace of a Maven package version is its `groupId`. The
936
+ # namespace is required when deleting Maven package versions.
815
937
  #
816
- # * The namespace of an npm package is its `scope`.
938
+ # * The namespace of an npm package version is its `scope`.
817
939
  #
818
- # * A Python package does not contain a corresponding component, so
819
- # Python packages do not have a namespace.
940
+ # * Python and NuGet package versions do not contain a corresponding
941
+ # component, package versions of those formats do not have a
942
+ # namespace.
943
+ #
944
+ # * The namespace of a generic package is its `namespace`.
820
945
  #
821
946
  # @option params [required, String] :package
822
947
  # The name of the package with the versions to delete.
@@ -826,18 +951,7 @@ module Aws::CodeArtifact
826
951
  # delete.
827
952
  #
828
953
  # @option params [String] :expected_status
829
- # The expected status of the package version to delete. Valid values
830
- # are:
831
- #
832
- # * `Published`
833
- #
834
- # * `Unfinished`
835
- #
836
- # * `Unlisted`
837
- #
838
- # * `Archived`
839
- #
840
- # * `Disposed`
954
+ # The expected status of the package version to delete.
841
955
  #
842
956
  # @return [Types::DeletePackageVersionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
843
957
  #
@@ -850,7 +964,7 @@ module Aws::CodeArtifact
850
964
  # domain: "DomainName", # required
851
965
  # domain_owner: "AccountId",
852
966
  # repository: "RepositoryName", # required
853
- # format: "npm", # required, accepts npm, pypi, maven, nuget
967
+ # format: "npm", # required, accepts npm, pypi, maven, nuget, generic, swift
854
968
  # namespace: "PackageNamespace",
855
969
  # package: "PackageName", # required
856
970
  # versions: ["PackageVersion"], # required
@@ -881,8 +995,8 @@ module Aws::CodeArtifact
881
995
  # The name of the domain that contains the repository to delete.
882
996
  #
883
997
  # @option params [String] :domain_owner
884
- # The 12-digit account number of the AWS account that owns the domain.
885
- # It does not include dashes or spaces.
998
+ # The 12-digit account number of the Amazon Web Services account that
999
+ # owns the domain. It does not include dashes or spaces.
886
1000
  #
887
1001
  # @option params [required, String] :repository
888
1002
  # The name of the repository to delete.
@@ -911,8 +1025,9 @@ module Aws::CodeArtifact
911
1025
  # resp.repository.upstreams[0].repository_name #=> String
912
1026
  # resp.repository.external_connections #=> Array
913
1027
  # resp.repository.external_connections[0].external_connection_name #=> String
914
- # resp.repository.external_connections[0].package_format #=> String, one of "npm", "pypi", "maven", "nuget"
1028
+ # resp.repository.external_connections[0].package_format #=> String, one of "npm", "pypi", "maven", "nuget", "generic", "swift"
915
1029
  # resp.repository.external_connections[0].status #=> String, one of "Available"
1030
+ # resp.repository.created_time #=> Time
916
1031
  #
917
1032
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DeleteRepository AWS API Documentation
918
1033
  #
@@ -929,16 +1044,17 @@ module Aws::CodeArtifact
929
1044
  # might not be immediate.
930
1045
  #
931
1046
  # Use `DeleteRepositoryPermissionsPolicy` with caution. After a policy
932
- # is deleted, AWS users, roles, and accounts lose permissions to perform
933
- # the repository actions granted by the deleted policy.
1047
+ # is deleted, Amazon Web Services users, roles, and accounts lose
1048
+ # permissions to perform the repository actions granted by the deleted
1049
+ # policy.
934
1050
  #
935
1051
  # @option params [required, String] :domain
936
1052
  # The name of the domain that contains the repository associated with
937
1053
  # the resource policy to be deleted.
938
1054
  #
939
1055
  # @option params [String] :domain_owner
940
- # The 12-digit account number of the AWS account that owns the domain.
941
- # It does not include dashes or spaces.
1056
+ # The 12-digit account number of the Amazon Web Services account that
1057
+ # owns the domain. It does not include dashes or spaces.
942
1058
  #
943
1059
  # @option params [required, String] :repository
944
1060
  # The name of the repository that is associated with the resource policy
@@ -989,8 +1105,8 @@ module Aws::CodeArtifact
989
1105
  # A string that specifies the name of the requested domain.
990
1106
  #
991
1107
  # @option params [String] :domain_owner
992
- # The 12-digit account number of the AWS account that owns the domain.
993
- # It does not include dashes or spaces.
1108
+ # The 12-digit account number of the Amazon Web Services account that
1109
+ # owns the domain. It does not include dashes or spaces.
994
1110
  #
995
1111
  # @return [Types::DescribeDomainResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
996
1112
  #
@@ -1024,6 +1140,76 @@ module Aws::CodeArtifact
1024
1140
  req.send_request(options)
1025
1141
  end
1026
1142
 
1143
+ # Returns a [PackageDescription][1] object that contains information
1144
+ # about the requested package.
1145
+ #
1146
+ #
1147
+ #
1148
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageDescription.html
1149
+ #
1150
+ # @option params [required, String] :domain
1151
+ # The name of the domain that contains the repository that contains the
1152
+ # package.
1153
+ #
1154
+ # @option params [String] :domain_owner
1155
+ # The 12-digit account number of the Amazon Web Services account that
1156
+ # owns the domain. It does not include dashes or spaces.
1157
+ #
1158
+ # @option params [required, String] :repository
1159
+ # The name of the repository that contains the requested package.
1160
+ #
1161
+ # @option params [required, String] :format
1162
+ # A format that specifies the type of the requested package.
1163
+ #
1164
+ # @option params [String] :namespace
1165
+ # The namespace of the requested package. The package component that
1166
+ # specifies its namespace depends on its type. For example:
1167
+ #
1168
+ # * The namespace of a Maven package is its `groupId`. The namespace is
1169
+ # required when requesting Maven packages.
1170
+ #
1171
+ # * The namespace of an npm package is its `scope`.
1172
+ #
1173
+ # * Python and NuGet packages do not contain a corresponding component,
1174
+ # packages of those formats do not have a namespace.
1175
+ #
1176
+ # * The namespace of a generic package is its `namespace`.
1177
+ #
1178
+ # @option params [required, String] :package
1179
+ # The name of the requested package.
1180
+ #
1181
+ # @return [Types::DescribePackageResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1182
+ #
1183
+ # * {Types::DescribePackageResult#package #package} => Types::PackageDescription
1184
+ #
1185
+ # @example Request syntax with placeholder values
1186
+ #
1187
+ # resp = client.describe_package({
1188
+ # domain: "DomainName", # required
1189
+ # domain_owner: "AccountId",
1190
+ # repository: "RepositoryName", # required
1191
+ # format: "npm", # required, accepts npm, pypi, maven, nuget, generic, swift
1192
+ # namespace: "PackageNamespace",
1193
+ # package: "PackageName", # required
1194
+ # })
1195
+ #
1196
+ # @example Response structure
1197
+ #
1198
+ # resp.package.format #=> String, one of "npm", "pypi", "maven", "nuget", "generic", "swift"
1199
+ # resp.package.namespace #=> String
1200
+ # resp.package.name #=> String
1201
+ # resp.package.origin_configuration.restrictions.publish #=> String, one of "ALLOW", "BLOCK"
1202
+ # resp.package.origin_configuration.restrictions.upstream #=> String, one of "ALLOW", "BLOCK"
1203
+ #
1204
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DescribePackage AWS API Documentation
1205
+ #
1206
+ # @overload describe_package(params = {})
1207
+ # @param [Hash] params ({})
1208
+ def describe_package(params = {}, options = {})
1209
+ req = build_request(:describe_package, params)
1210
+ req.send_request(options)
1211
+ end
1212
+
1027
1213
  # Returns a [PackageVersionDescription][1] object that contains
1028
1214
  # information about the requested package version.
1029
1215
  #
@@ -1036,32 +1222,29 @@ module Aws::CodeArtifact
1036
1222
  # package version.
1037
1223
  #
1038
1224
  # @option params [String] :domain_owner
1039
- # The 12-digit account number of the AWS account that owns the domain.
1040
- # It does not include dashes or spaces.
1225
+ # The 12-digit account number of the Amazon Web Services account that
1226
+ # owns the domain. It does not include dashes or spaces.
1041
1227
  #
1042
1228
  # @option params [required, String] :repository
1043
1229
  # The name of the repository that contains the package version.
1044
1230
  #
1045
1231
  # @option params [required, String] :format
1046
- # A format that specifies the type of the requested package version. The
1047
- # valid values are:
1048
- #
1049
- # * `npm`
1050
- #
1051
- # * `pypi`
1052
- #
1053
- # * `maven`
1232
+ # A format that specifies the type of the requested package version.
1054
1233
  #
1055
1234
  # @option params [String] :namespace
1056
- # The namespace of the package. The package component that specifies its
1057
- # namespace depends on its type. For example:
1235
+ # The namespace of the requested package version. The package version
1236
+ # component that specifies its namespace depends on its type. For
1237
+ # example:
1058
1238
  #
1059
- # * The namespace of a Maven package is its `groupId`.
1239
+ # * The namespace of a Maven package version is its `groupId`.
1060
1240
  #
1061
- # * The namespace of an npm package is its `scope`.
1241
+ # * The namespace of an npm package version is its `scope`.
1062
1242
  #
1063
- # * A Python package does not contain a corresponding component, so
1064
- # Python packages do not have a namespace.
1243
+ # * Python and NuGet package versions do not contain a corresponding
1244
+ # component, package versions of those formats do not have a
1245
+ # namespace.
1246
+ #
1247
+ # * The namespace of a generic package is its `namespace`.
1065
1248
  #
1066
1249
  # @option params [required, String] :package
1067
1250
  # The name of the requested package version.
@@ -1079,7 +1262,7 @@ module Aws::CodeArtifact
1079
1262
  # domain: "DomainName", # required
1080
1263
  # domain_owner: "AccountId",
1081
1264
  # repository: "RepositoryName", # required
1082
- # format: "npm", # required, accepts npm, pypi, maven, nuget
1265
+ # format: "npm", # required, accepts npm, pypi, maven, nuget, generic, swift
1083
1266
  # namespace: "PackageNamespace",
1084
1267
  # package: "PackageName", # required
1085
1268
  # package_version: "PackageVersion", # required
@@ -1087,7 +1270,7 @@ module Aws::CodeArtifact
1087
1270
  #
1088
1271
  # @example Response structure
1089
1272
  #
1090
- # resp.package_version.format #=> String, one of "npm", "pypi", "maven", "nuget"
1273
+ # resp.package_version.format #=> String, one of "npm", "pypi", "maven", "nuget", "generic", "swift"
1091
1274
  # resp.package_version.namespace #=> String
1092
1275
  # resp.package_version.package_name #=> String
1093
1276
  # resp.package_version.display_name #=> String
@@ -1101,6 +1284,9 @@ module Aws::CodeArtifact
1101
1284
  # resp.package_version.licenses[0].url #=> String
1102
1285
  # resp.package_version.revision #=> String
1103
1286
  # resp.package_version.status #=> String, one of "Published", "Unfinished", "Unlisted", "Archived", "Disposed", "Deleted"
1287
+ # resp.package_version.origin.domain_entry_point.repository_name #=> String
1288
+ # resp.package_version.origin.domain_entry_point.external_connection_name #=> String
1289
+ # resp.package_version.origin.origin_type #=> String, one of "INTERNAL", "EXTERNAL", "UNKNOWN"
1104
1290
  #
1105
1291
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DescribePackageVersion AWS API Documentation
1106
1292
  #
@@ -1118,8 +1304,8 @@ module Aws::CodeArtifact
1118
1304
  # The name of the domain that contains the repository to describe.
1119
1305
  #
1120
1306
  # @option params [String] :domain_owner
1121
- # The 12-digit account number of the AWS account that owns the domain.
1122
- # It does not include dashes or spaces.
1307
+ # The 12-digit account number of the Amazon Web Services account that
1308
+ # owns the domain. It does not include dashes or spaces.
1123
1309
  #
1124
1310
  # @option params [required, String] :repository
1125
1311
  # A string that specifies the name of the requested repository.
@@ -1148,8 +1334,9 @@ module Aws::CodeArtifact
1148
1334
  # resp.repository.upstreams[0].repository_name #=> String
1149
1335
  # resp.repository.external_connections #=> Array
1150
1336
  # resp.repository.external_connections[0].external_connection_name #=> String
1151
- # resp.repository.external_connections[0].package_format #=> String, one of "npm", "pypi", "maven", "nuget"
1337
+ # resp.repository.external_connections[0].package_format #=> String, one of "npm", "pypi", "maven", "nuget", "generic", "swift"
1152
1338
  # resp.repository.external_connections[0].status #=> String, one of "Available"
1339
+ # resp.repository.created_time #=> Time
1153
1340
  #
1154
1341
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DescribeRepository AWS API Documentation
1155
1342
  #
@@ -1167,8 +1354,8 @@ module Aws::CodeArtifact
1167
1354
  # remove the external repository.
1168
1355
  #
1169
1356
  # @option params [String] :domain_owner
1170
- # The 12-digit account number of the AWS account that owns the domain.
1171
- # It does not include dashes or spaces.
1357
+ # The 12-digit account number of the Amazon Web Services account that
1358
+ # owns the domain. It does not include dashes or spaces.
1172
1359
  #
1173
1360
  # @option params [required, String] :repository
1174
1361
  # The name of the repository from which the external connection will be
@@ -1202,8 +1389,9 @@ module Aws::CodeArtifact
1202
1389
  # resp.repository.upstreams[0].repository_name #=> String
1203
1390
  # resp.repository.external_connections #=> Array
1204
1391
  # resp.repository.external_connections[0].external_connection_name #=> String
1205
- # resp.repository.external_connections[0].package_format #=> String, one of "npm", "pypi", "maven", "nuget"
1392
+ # resp.repository.external_connections[0].package_format #=> String, one of "npm", "pypi", "maven", "nuget", "generic", "swift"
1206
1393
  # resp.repository.external_connections[0].status #=> String, one of "Available"
1394
+ # resp.repository.created_time #=> Time
1207
1395
  #
1208
1396
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DisassociateExternalConnection AWS API Documentation
1209
1397
  #
@@ -1236,8 +1424,8 @@ module Aws::CodeArtifact
1236
1424
  # dispose.
1237
1425
  #
1238
1426
  # @option params [String] :domain_owner
1239
- # The 12-digit account number of the AWS account that owns the domain.
1240
- # It does not include dashes or spaces.
1427
+ # The 12-digit account number of the Amazon Web Services account that
1428
+ # owns the domain. It does not include dashes or spaces.
1241
1429
  #
1242
1430
  # @option params [required, String] :repository
1243
1431
  # The name of the repository that contains the package versions you want
@@ -1245,24 +1433,22 @@ module Aws::CodeArtifact
1245
1433
  #
1246
1434
  # @option params [required, String] :format
1247
1435
  # A format that specifies the type of package versions you want to
1248
- # dispose. The valid values are:
1249
- #
1250
- # * `npm`
1251
- #
1252
- # * `pypi`
1253
- #
1254
- # * `maven`
1436
+ # dispose.
1255
1437
  #
1256
1438
  # @option params [String] :namespace
1257
- # The namespace of the package. The package component that specifies its
1258
- # namespace depends on its type. For example:
1439
+ # The namespace of the package versions to be disposed. The package
1440
+ # version component that specifies its namespace depends on its type.
1441
+ # For example:
1259
1442
  #
1260
- # * The namespace of a Maven package is its `groupId`.
1443
+ # * The namespace of a Maven package version is its `groupId`.
1261
1444
  #
1262
- # * The namespace of an npm package is its `scope`.
1445
+ # * The namespace of an npm package version is its `scope`.
1446
+ #
1447
+ # * Python and NuGet package versions do not contain a corresponding
1448
+ # component, package versions of those formats do not have a
1449
+ # namespace.
1263
1450
  #
1264
- # * A Python package does not contain a corresponding component, so
1265
- # Python packages do not have a namespace.
1451
+ # * The namespace of a generic package is its `namespace`.
1266
1452
  #
1267
1453
  # @option params [required, String] :package
1268
1454
  # The name of the package with the versions you want to dispose.
@@ -1274,18 +1460,7 @@ module Aws::CodeArtifact
1274
1460
  # The revisions of the package versions you want to dispose.
1275
1461
  #
1276
1462
  # @option params [String] :expected_status
1277
- # The expected status of the package version to dispose. Valid values
1278
- # are:
1279
- #
1280
- # * `Published`
1281
- #
1282
- # * `Unfinished`
1283
- #
1284
- # * `Unlisted`
1285
- #
1286
- # * `Archived`
1287
- #
1288
- # * `Disposed`
1463
+ # The expected status of the package version to dispose.
1289
1464
  #
1290
1465
  # @return [Types::DisposePackageVersionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1291
1466
  #
@@ -1298,7 +1473,7 @@ module Aws::CodeArtifact
1298
1473
  # domain: "DomainName", # required
1299
1474
  # domain_owner: "AccountId",
1300
1475
  # repository: "RepositoryName", # required
1301
- # format: "npm", # required, accepts npm, pypi, maven, nuget
1476
+ # format: "npm", # required, accepts npm, pypi, maven, nuget, generic, swift
1302
1477
  # namespace: "PackageNamespace",
1303
1478
  # package: "PackageName", # required
1304
1479
  # versions: ["PackageVersion"], # required
@@ -1329,8 +1504,8 @@ module Aws::CodeArtifact
1329
1504
  # Generates a temporary authorization token for accessing repositories
1330
1505
  # in the domain. This API requires the
1331
1506
  # `codeartifact:GetAuthorizationToken` and `sts:GetServiceBearerToken`
1332
- # permissions. For more information about authorization tokens, see [AWS
1333
- # CodeArtifact authentication and tokens][1].
1507
+ # permissions. For more information about authorization tokens, see
1508
+ # [CodeArtifact authentication and tokens][1].
1334
1509
  #
1335
1510
  # <note markdown="1"> CodeArtifact authorization tokens are valid for a period of 12 hours
1336
1511
  # when created with the `login` command. You can call `login`
@@ -1363,8 +1538,8 @@ module Aws::CodeArtifact
1363
1538
  # authorization token.
1364
1539
  #
1365
1540
  # @option params [String] :domain_owner
1366
- # The 12-digit account number of the AWS account that owns the domain.
1367
- # It does not include dashes or spaces.
1541
+ # The 12-digit account number of the Amazon Web Services account that
1542
+ # owns the domain. It does not include dashes or spaces.
1368
1543
  #
1369
1544
  # @option params [Integer] :duration_seconds
1370
1545
  # The time, in seconds, that the generated authorization token is valid.
@@ -1404,7 +1579,7 @@ module Aws::CodeArtifact
1404
1579
  #
1405
1580
  # <note markdown="1"> The policy is a resource-based policy, not an identity-based policy.
1406
1581
  # For more information, see [Identity-based policies and resource-based
1407
- # policies ][1] in the *AWS Identity and Access Management User Guide*.
1582
+ # policies ][1] in the *IAM User Guide*.
1408
1583
  #
1409
1584
  # </note>
1410
1585
  #
@@ -1416,8 +1591,8 @@ module Aws::CodeArtifact
1416
1591
  # The name of the domain to which the resource policy is attached.
1417
1592
  #
1418
1593
  # @option params [String] :domain_owner
1419
- # The 12-digit account number of the AWS account that owns the domain.
1420
- # It does not include dashes or spaces.
1594
+ # The 12-digit account number of the Amazon Web Services account that
1595
+ # owns the domain. It does not include dashes or spaces.
1421
1596
  #
1422
1597
  # @return [Types::GetDomainPermissionsPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1423
1598
  #
@@ -1454,8 +1629,8 @@ module Aws::CodeArtifact
1454
1629
  # package version with the requested asset.
1455
1630
  #
1456
1631
  # @option params [String] :domain_owner
1457
- # The 12-digit account number of the AWS account that owns the domain.
1458
- # It does not include dashes or spaces.
1632
+ # The 12-digit account number of the Amazon Web Services account that
1633
+ # owns the domain. It does not include dashes or spaces.
1459
1634
  #
1460
1635
  # @option params [required, String] :repository
1461
1636
  # The repository that contains the package version with the requested
@@ -1463,24 +1638,22 @@ module Aws::CodeArtifact
1463
1638
  #
1464
1639
  # @option params [required, String] :format
1465
1640
  # A format that specifies the type of the package version with the
1466
- # requested asset file. The valid values are:
1467
- #
1468
- # * `npm`
1469
- #
1470
- # * `pypi`
1471
- #
1472
- # * `maven`
1641
+ # requested asset file.
1473
1642
  #
1474
1643
  # @option params [String] :namespace
1475
- # The namespace of the package. The package component that specifies its
1476
- # namespace depends on its type. For example:
1644
+ # The namespace of the package version with the requested asset file.
1645
+ # The package version component that specifies its namespace depends on
1646
+ # its type. For example:
1477
1647
  #
1478
- # * The namespace of a Maven package is its `groupId`.
1648
+ # * The namespace of a Maven package version is its `groupId`.
1479
1649
  #
1480
- # * The namespace of an npm package is its `scope`.
1650
+ # * The namespace of an npm package version is its `scope`.
1651
+ #
1652
+ # * Python and NuGet package versions do not contain a corresponding
1653
+ # component, package versions of those formats do not have a
1654
+ # namespace.
1481
1655
  #
1482
- # * A Python package does not contain a corresponding component, so
1483
- # Python packages do not have a namespace.
1656
+ # * The namespace of a generic package is its `namespace`.
1484
1657
  #
1485
1658
  # @option params [required, String] :package
1486
1659
  # The name of the package that contains the requested asset.
@@ -1508,7 +1681,7 @@ module Aws::CodeArtifact
1508
1681
  # domain: "DomainName", # required
1509
1682
  # domain_owner: "AccountId",
1510
1683
  # repository: "RepositoryName", # required
1511
- # format: "npm", # required, accepts npm, pypi, maven, nuget
1684
+ # format: "npm", # required, accepts npm, pypi, maven, nuget, generic, swift
1512
1685
  # namespace: "PackageNamespace",
1513
1686
  # package: "PackageName", # required
1514
1687
  # package_version: "PackageVersion", # required
@@ -1532,10 +1705,7 @@ module Aws::CodeArtifact
1532
1705
  req.send_request(options, &block)
1533
1706
  end
1534
1707
 
1535
- # Gets the readme file or descriptive text for a package version. For
1536
- # packages that do not contain a readme file, CodeArtifact extracts a
1537
- # description from a metadata file. For example, from the
1538
- # `<description>` element in the `pom.xml` file of a Maven package.
1708
+ # Gets the readme file or descriptive text for a package version.
1539
1709
  #
1540
1710
  # The returned text might contain formatting. For example, it might
1541
1711
  # contain formatting for Markdown or reStructuredText.
@@ -1545,8 +1715,8 @@ module Aws::CodeArtifact
1545
1715
  # package version with the requested readme file.
1546
1716
  #
1547
1717
  # @option params [String] :domain_owner
1548
- # The 12-digit account number of the AWS account that owns the domain.
1549
- # It does not include dashes or spaces.
1718
+ # The 12-digit account number of the Amazon Web Services account that
1719
+ # owns the domain. It does not include dashes or spaces.
1550
1720
  #
1551
1721
  # @option params [required, String] :repository
1552
1722
  # The repository that contains the package with the requested readme
@@ -1554,24 +1724,18 @@ module Aws::CodeArtifact
1554
1724
  #
1555
1725
  # @option params [required, String] :format
1556
1726
  # A format that specifies the type of the package version with the
1557
- # requested readme file. The valid values are:
1558
- #
1559
- # * `npm`
1560
- #
1561
- # * `pypi`
1562
- #
1563
- # * `maven`
1727
+ # requested readme file.
1564
1728
  #
1565
1729
  # @option params [String] :namespace
1566
- # The namespace of the package. The package component that specifies its
1567
- # namespace depends on its type. For example:
1568
- #
1569
- # * The namespace of a Maven package is its `groupId`.
1730
+ # The namespace of the package version with the requested readme file.
1731
+ # The package version component that specifies its namespace depends on
1732
+ # its type. For example:
1570
1733
  #
1571
- # * The namespace of an npm package is its `scope`.
1734
+ # * The namespace of an npm package version is its `scope`.
1572
1735
  #
1573
- # * A Python package does not contain a corresponding component, so
1574
- # Python packages do not have a namespace.
1736
+ # * Python and NuGet package versions do not contain a corresponding
1737
+ # component, package versions of those formats do not have a
1738
+ # namespace.
1575
1739
  #
1576
1740
  # @option params [required, String] :package
1577
1741
  # The name of the package version that contains the requested readme
@@ -1595,7 +1759,7 @@ module Aws::CodeArtifact
1595
1759
  # domain: "DomainName", # required
1596
1760
  # domain_owner: "AccountId",
1597
1761
  # repository: "RepositoryName", # required
1598
- # format: "npm", # required, accepts npm, pypi, maven, nuget
1762
+ # format: "npm", # required, accepts npm, pypi, maven, nuget, generic, swift
1599
1763
  # namespace: "PackageNamespace",
1600
1764
  # package: "PackageName", # required
1601
1765
  # package_version: "PackageVersion", # required
@@ -1603,7 +1767,7 @@ module Aws::CodeArtifact
1603
1767
  #
1604
1768
  # @example Response structure
1605
1769
  #
1606
- # resp.format #=> String, one of "npm", "pypi", "maven", "nuget"
1770
+ # resp.format #=> String, one of "npm", "pypi", "maven", "nuget", "generic", "swift"
1607
1771
  # resp.namespace #=> String
1608
1772
  # resp.package #=> String
1609
1773
  # resp.version #=> String
@@ -1622,31 +1786,28 @@ module Aws::CodeArtifact
1622
1786
  # Returns the endpoint of a repository for a specific package format. A
1623
1787
  # repository has one endpoint for each package format:
1624
1788
  #
1789
+ # * `maven`
1790
+ #
1625
1791
  # * `npm`
1626
1792
  #
1627
- # * `pypi`
1793
+ # * `nuget`
1628
1794
  #
1629
- # * `maven`
1795
+ # * `pypi`
1630
1796
  #
1631
1797
  # @option params [required, String] :domain
1632
1798
  # The name of the domain that contains the repository.
1633
1799
  #
1634
1800
  # @option params [String] :domain_owner
1635
- # The 12-digit account number of the AWS account that owns the domain
1636
- # that contains the repository. It does not include dashes or spaces.
1801
+ # The 12-digit account number of the Amazon Web Services account that
1802
+ # owns the domain that contains the repository. It does not include
1803
+ # dashes or spaces.
1637
1804
  #
1638
1805
  # @option params [required, String] :repository
1639
1806
  # The name of the repository.
1640
1807
  #
1641
1808
  # @option params [required, String] :format
1642
1809
  # Returns which endpoint of a repository to return. A repository has one
1643
- # endpoint for each package format:
1644
- #
1645
- # * `npm`
1646
- #
1647
- # * `pypi`
1648
- #
1649
- # * `maven`
1810
+ # endpoint for each package format.
1650
1811
  #
1651
1812
  # @return [Types::GetRepositoryEndpointResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1652
1813
  #
@@ -1658,7 +1819,7 @@ module Aws::CodeArtifact
1658
1819
  # domain: "DomainName", # required
1659
1820
  # domain_owner: "AccountId",
1660
1821
  # repository: "RepositoryName", # required
1661
- # format: "npm", # required, accepts npm, pypi, maven, nuget
1822
+ # format: "npm", # required, accepts npm, pypi, maven, nuget, generic, swift
1662
1823
  # })
1663
1824
  #
1664
1825
  # @example Response structure
@@ -1681,8 +1842,8 @@ module Aws::CodeArtifact
1681
1842
  # resource policy is to be retrieved.
1682
1843
  #
1683
1844
  # @option params [String] :domain_owner
1684
- # The 12-digit account number of the AWS account that owns the domain.
1685
- # It does not include dashes or spaces.
1845
+ # The 12-digit account number of the Amazon Web Services account that
1846
+ # owns the domain. It does not include dashes or spaces.
1686
1847
  #
1687
1848
  # @option params [required, String] :repository
1688
1849
  # The name of the repository whose associated resource policy is to be
@@ -1716,8 +1877,8 @@ module Aws::CodeArtifact
1716
1877
  end
1717
1878
 
1718
1879
  # Returns a list of [DomainSummary][1] objects for all domains owned by
1719
- # the AWS account that makes this call. Each returned `DomainSummary`
1720
- # object contains information about a domain.
1880
+ # the Amazon Web Services account that makes this call. Each returned
1881
+ # `DomainSummary` object contains information about a domain.
1721
1882
  #
1722
1883
  #
1723
1884
  #
@@ -1777,37 +1938,34 @@ module Aws::CodeArtifact
1777
1938
  # the package version assets.
1778
1939
  #
1779
1940
  # @option params [String] :domain_owner
1780
- # The 12-digit account number of the AWS account that owns the domain.
1781
- # It does not include dashes or spaces.
1941
+ # The 12-digit account number of the Amazon Web Services account that
1942
+ # owns the domain. It does not include dashes or spaces.
1782
1943
  #
1783
1944
  # @option params [required, String] :repository
1784
1945
  # The name of the repository that contains the package that contains the
1785
- # returned package version assets.
1946
+ # requested package version assets.
1786
1947
  #
1787
1948
  # @option params [required, String] :format
1788
- # The format of the package that contains the returned package version
1789
- # assets. The valid package types are:
1790
- #
1791
- # * `npm`\: A Node Package Manager (npm) package.
1792
- #
1793
- # * `pypi`\: A Python Package Index (PyPI) package.
1794
- #
1795
- # * `maven`\: A Maven package that contains compiled code in a
1796
- # distributable format, such as a JAR file.
1949
+ # The format of the package that contains the requested package version
1950
+ # assets.
1797
1951
  #
1798
1952
  # @option params [String] :namespace
1799
- # The namespace of the package. The package component that specifies its
1800
- # namespace depends on its type. For example:
1953
+ # The namespace of the package version that contains the requested
1954
+ # package version assets. The package version component that specifies
1955
+ # its namespace depends on its type. For example:
1801
1956
  #
1802
- # * The namespace of a Maven package is its `groupId`.
1957
+ # * The namespace of a Maven package version is its `groupId`.
1803
1958
  #
1804
- # * The namespace of an npm package is its `scope`.
1959
+ # * The namespace of an npm package version is its `scope`.
1960
+ #
1961
+ # * Python and NuGet package versions do not contain a corresponding
1962
+ # component, package versions of those formats do not have a
1963
+ # namespace.
1805
1964
  #
1806
- # * A Python package does not contain a corresponding component, so
1807
- # Python packages do not have a namespace.
1965
+ # * The namespace of a generic package is its `namespace`.
1808
1966
  #
1809
1967
  # @option params [required, String] :package
1810
- # The name of the package that contains the returned package version
1968
+ # The name of the package that contains the requested package version
1811
1969
  # assets.
1812
1970
  #
1813
1971
  # @option params [required, String] :package_version
@@ -1839,7 +1997,7 @@ module Aws::CodeArtifact
1839
1997
  # domain: "DomainName", # required
1840
1998
  # domain_owner: "AccountId",
1841
1999
  # repository: "RepositoryName", # required
1842
- # format: "npm", # required, accepts npm, pypi, maven, nuget
2000
+ # format: "npm", # required, accepts npm, pypi, maven, nuget, generic, swift
1843
2001
  # namespace: "PackageNamespace",
1844
2002
  # package: "PackageName", # required
1845
2003
  # package_version: "PackageVersion", # required
@@ -1849,7 +2007,7 @@ module Aws::CodeArtifact
1849
2007
  #
1850
2008
  # @example Response structure
1851
2009
  #
1852
- # resp.format #=> String, one of "npm", "pypi", "maven", "nuget"
2010
+ # resp.format #=> String, one of "npm", "pypi", "maven", "nuget", "generic", "swift"
1853
2011
  # resp.namespace #=> String
1854
2012
  # resp.package #=> String
1855
2013
  # resp.version #=> String
@@ -1887,34 +2045,30 @@ module Aws::CodeArtifact
1887
2045
  # requested package version dependencies.
1888
2046
  #
1889
2047
  # @option params [String] :domain_owner
1890
- # The 12-digit account number of the AWS account that owns the domain.
1891
- # It does not include dashes or spaces.
2048
+ # The 12-digit account number of the Amazon Web Services account that
2049
+ # owns the domain. It does not include dashes or spaces.
1892
2050
  #
1893
2051
  # @option params [required, String] :repository
1894
2052
  # The name of the repository that contains the requested package
1895
2053
  # version.
1896
2054
  #
1897
2055
  # @option params [required, String] :format
1898
- # The format of the package with the requested dependencies. The valid
1899
- # package types are:
1900
- #
1901
- # * `npm`\: A Node Package Manager (npm) package.
1902
- #
1903
- # * `pypi`\: A Python Package Index (PyPI) package.
1904
- #
1905
- # * `maven`\: A Maven package that contains compiled code in a
1906
- # distributable format, such as a JAR file.
2056
+ # The format of the package with the requested dependencies.
1907
2057
  #
1908
2058
  # @option params [String] :namespace
1909
- # The namespace of the package. The package component that specifies its
1910
- # namespace depends on its type. For example:
2059
+ # The namespace of the package version with the requested dependencies.
2060
+ # The package version component that specifies its namespace depends on
2061
+ # its type. For example:
1911
2062
  #
1912
- # * The namespace of a Maven package is its `groupId`.
2063
+ # * The namespace of a Maven package version is its `groupId`.
1913
2064
  #
1914
- # * The namespace of an npm package is its `scope`.
2065
+ # * The namespace of an npm package version is its `scope`.
2066
+ #
2067
+ # * Python and NuGet package versions do not contain a corresponding
2068
+ # component, package versions of those formats do not have a
2069
+ # namespace.
1915
2070
  #
1916
- # * A Python package does not contain a corresponding component, so
1917
- # Python packages do not have a namespace.
2071
+ # * The namespace of a generic package is its `namespace`.
1918
2072
  #
1919
2073
  # @option params [required, String] :package
1920
2074
  # The name of the package versions' package.
@@ -1943,7 +2097,7 @@ module Aws::CodeArtifact
1943
2097
  # domain: "DomainName", # required
1944
2098
  # domain_owner: "AccountId",
1945
2099
  # repository: "RepositoryName", # required
1946
- # format: "npm", # required, accepts npm, pypi, maven, nuget
2100
+ # format: "npm", # required, accepts npm, pypi, maven, nuget, generic, swift
1947
2101
  # namespace: "PackageNamespace",
1948
2102
  # package: "PackageName", # required
1949
2103
  # package_version: "PackageVersion", # required
@@ -1952,7 +2106,7 @@ module Aws::CodeArtifact
1952
2106
  #
1953
2107
  # @example Response structure
1954
2108
  #
1955
- # resp.format #=> String, one of "npm", "pypi", "maven", "nuget"
2109
+ # resp.format #=> String, one of "npm", "pypi", "maven", "nuget", "generic", "swift"
1956
2110
  # resp.namespace #=> String
1957
2111
  # resp.package #=> String
1958
2112
  # resp.version #=> String
@@ -1974,7 +2128,9 @@ module Aws::CodeArtifact
1974
2128
  end
1975
2129
 
1976
2130
  # Returns a list of [PackageVersionSummary][1] objects for package
1977
- # versions in a repository that match the request parameters.
2131
+ # versions in a repository that match the request parameters. Package
2132
+ # versions of all statuses will be returned by default when calling
2133
+ # `list-package-versions` with no `--status` parameter.
1978
2134
  #
1979
2135
  #
1980
2136
  #
@@ -1982,56 +2138,42 @@ module Aws::CodeArtifact
1982
2138
  #
1983
2139
  # @option params [required, String] :domain
1984
2140
  # The name of the domain that contains the repository that contains the
1985
- # returned package versions.
2141
+ # requested package versions.
1986
2142
  #
1987
2143
  # @option params [String] :domain_owner
1988
- # The 12-digit account number of the AWS account that owns the domain.
1989
- # It does not include dashes or spaces.
2144
+ # The 12-digit account number of the Amazon Web Services account that
2145
+ # owns the domain. It does not include dashes or spaces.
1990
2146
  #
1991
2147
  # @option params [required, String] :repository
1992
- # The name of the repository that contains the package.
2148
+ # The name of the repository that contains the requested package
2149
+ # versions.
1993
2150
  #
1994
2151
  # @option params [required, String] :format
1995
- # The format of the returned packages. The valid package types are:
1996
- #
1997
- # * `npm`\: A Node Package Manager (npm) package.
1998
- #
1999
- # * `pypi`\: A Python Package Index (PyPI) package.
2000
- #
2001
- # * `maven`\: A Maven package that contains compiled code in a
2002
- # distributable format, such as a JAR file.
2152
+ # The format of the package versions you want to list.
2003
2153
  #
2004
2154
  # @option params [String] :namespace
2005
- # The namespace of the package. The package component that specifies its
2006
- # namespace depends on its type. For example:
2155
+ # The namespace of the package that contains the requested package
2156
+ # versions. The package component that specifies its namespace depends
2157
+ # on its type. For example:
2007
2158
  #
2008
2159
  # * The namespace of a Maven package is its `groupId`.
2009
2160
  #
2010
2161
  # * The namespace of an npm package is its `scope`.
2011
2162
  #
2012
- # * A Python package does not contain a corresponding component, so
2013
- # Python packages do not have a namespace.
2163
+ # * Python and NuGet packages do not contain a corresponding component,
2164
+ # packages of those formats do not have a namespace.
2165
+ #
2166
+ # * The namespace of a generic package is its `namespace`.
2014
2167
  #
2015
2168
  # @option params [required, String] :package
2016
- # The name of the package for which you want to return a list of package
2169
+ # The name of the package for which you want to request package
2017
2170
  # versions.
2018
2171
  #
2019
2172
  # @option params [String] :status
2020
- # A string that specifies the status of the package versions to include
2021
- # in the returned list. It can be one of the following:
2022
- #
2023
- # * `Published`
2024
- #
2025
- # * `Unfinished`
2026
- #
2027
- # * `Unlisted`
2028
- #
2029
- # * `Archived`
2030
- #
2031
- # * `Disposed`
2173
+ # A string that filters the requested package versions by status.
2032
2174
  #
2033
2175
  # @option params [String] :sort_by
2034
- # How to sort the returned list of package versions.
2176
+ # How to sort the requested list of package versions.
2035
2177
  #
2036
2178
  # @option params [Integer] :max_results
2037
2179
  # The maximum number of results to return per page.
@@ -2041,6 +2183,10 @@ module Aws::CodeArtifact
2041
2183
  # previous response in the next request to retrieve the next set of
2042
2184
  # results.
2043
2185
  #
2186
+ # @option params [String] :origin_type
2187
+ # The `originType` used to filter package versions. Only package
2188
+ # versions with the provided `originType` will be returned.
2189
+ #
2044
2190
  # @return [Types::ListPackageVersionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2045
2191
  #
2046
2192
  # * {Types::ListPackageVersionsResult#default_display_version #default_display_version} => String
@@ -2058,25 +2204,29 @@ module Aws::CodeArtifact
2058
2204
  # domain: "DomainName", # required
2059
2205
  # domain_owner: "AccountId",
2060
2206
  # repository: "RepositoryName", # required
2061
- # format: "npm", # required, accepts npm, pypi, maven, nuget
2207
+ # format: "npm", # required, accepts npm, pypi, maven, nuget, generic, swift
2062
2208
  # namespace: "PackageNamespace",
2063
2209
  # package: "PackageName", # required
2064
2210
  # status: "Published", # accepts Published, Unfinished, Unlisted, Archived, Disposed, Deleted
2065
2211
  # sort_by: "PUBLISHED_TIME", # accepts PUBLISHED_TIME
2066
2212
  # max_results: 1,
2067
2213
  # next_token: "PaginationToken",
2214
+ # origin_type: "INTERNAL", # accepts INTERNAL, EXTERNAL, UNKNOWN
2068
2215
  # })
2069
2216
  #
2070
2217
  # @example Response structure
2071
2218
  #
2072
2219
  # resp.default_display_version #=> String
2073
- # resp.format #=> String, one of "npm", "pypi", "maven", "nuget"
2220
+ # resp.format #=> String, one of "npm", "pypi", "maven", "nuget", "generic", "swift"
2074
2221
  # resp.namespace #=> String
2075
2222
  # resp.package #=> String
2076
2223
  # resp.versions #=> Array
2077
2224
  # resp.versions[0].version #=> String
2078
2225
  # resp.versions[0].revision #=> String
2079
2226
  # resp.versions[0].status #=> String, one of "Published", "Unfinished", "Unlisted", "Archived", "Disposed", "Deleted"
2227
+ # resp.versions[0].origin.domain_entry_point.repository_name #=> String
2228
+ # resp.versions[0].origin.domain_entry_point.external_connection_name #=> String
2229
+ # resp.versions[0].origin.origin_type #=> String, one of "INTERNAL", "EXTERNAL", "UNKNOWN"
2080
2230
  # resp.next_token #=> String
2081
2231
  #
2082
2232
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListPackageVersions AWS API Documentation
@@ -2097,38 +2247,38 @@ module Aws::CodeArtifact
2097
2247
  #
2098
2248
  # @option params [required, String] :domain
2099
2249
  # The name of the domain that contains the repository that contains the
2100
- # requested list of packages.
2250
+ # requested packages.
2101
2251
  #
2102
2252
  # @option params [String] :domain_owner
2103
- # The 12-digit account number of the AWS account that owns the domain.
2104
- # It does not include dashes or spaces.
2253
+ # The 12-digit account number of the Amazon Web Services account that
2254
+ # owns the domain. It does not include dashes or spaces.
2105
2255
  #
2106
2256
  # @option params [required, String] :repository
2107
- # The name of the repository from which packages are to be listed.
2257
+ # The name of the repository that contains the requested packages.
2108
2258
  #
2109
2259
  # @option params [String] :format
2110
- # The format of the packages. The valid package types are:
2111
- #
2112
- # * `npm`\: A Node Package Manager (npm) package.
2113
- #
2114
- # * `pypi`\: A Python Package Index (PyPI) package.
2115
- #
2116
- # * `maven`\: A Maven package that contains compiled code in a
2117
- # distributable format, such as a JAR file.
2260
+ # The format used to filter requested packages. Only packages from the
2261
+ # provided format will be returned.
2118
2262
  #
2119
2263
  # @option params [String] :namespace
2120
- # The namespace of the package. The package component that specifies its
2121
- # namespace depends on its type. For example:
2264
+ # The namespace prefix used to filter requested packages. Only packages
2265
+ # with a namespace that starts with the provided string value are
2266
+ # returned. Note that although this option is called `--namespace` and
2267
+ # not `--namespace-prefix`, it has prefix-matching behavior.
2268
+ #
2269
+ # Each package format uses namespace as follows:
2122
2270
  #
2123
2271
  # * The namespace of a Maven package is its `groupId`.
2124
2272
  #
2125
2273
  # * The namespace of an npm package is its `scope`.
2126
2274
  #
2127
- # * A Python package does not contain a corresponding component, so
2128
- # Python packages do not have a namespace.
2275
+ # * Python and NuGet packages do not contain a corresponding component,
2276
+ # packages of those formats do not have a namespace.
2277
+ #
2278
+ # * The namespace of a generic package is its `namespace`.
2129
2279
  #
2130
2280
  # @option params [String] :package_prefix
2131
- # A prefix used to filter returned packages. Only packages with names
2281
+ # A prefix used to filter requested packages. Only packages with names
2132
2282
  # that start with `packagePrefix` are returned.
2133
2283
  #
2134
2284
  # @option params [Integer] :max_results
@@ -2139,6 +2289,26 @@ module Aws::CodeArtifact
2139
2289
  # previous response in the next request to retrieve the next set of
2140
2290
  # results.
2141
2291
  #
2292
+ # @option params [String] :publish
2293
+ # The value of the `Publish` package origin control restriction used to
2294
+ # filter requested packages. Only packages with the provided restriction
2295
+ # are returned. For more information, see
2296
+ # [PackageOriginRestrictions][1].
2297
+ #
2298
+ #
2299
+ #
2300
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html
2301
+ #
2302
+ # @option params [String] :upstream
2303
+ # The value of the `Upstream` package origin control restriction used to
2304
+ # filter requested packages. Only packages with the provided restriction
2305
+ # are returned. For more information, see
2306
+ # [PackageOriginRestrictions][1].
2307
+ #
2308
+ #
2309
+ #
2310
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html
2311
+ #
2142
2312
  # @return [Types::ListPackagesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2143
2313
  #
2144
2314
  # * {Types::ListPackagesResult#packages #packages} => Array&lt;Types::PackageSummary&gt;
@@ -2152,19 +2322,23 @@ module Aws::CodeArtifact
2152
2322
  # domain: "DomainName", # required
2153
2323
  # domain_owner: "AccountId",
2154
2324
  # repository: "RepositoryName", # required
2155
- # format: "npm", # accepts npm, pypi, maven, nuget
2325
+ # format: "npm", # accepts npm, pypi, maven, nuget, generic, swift
2156
2326
  # namespace: "PackageNamespace",
2157
2327
  # package_prefix: "PackageName",
2158
2328
  # max_results: 1,
2159
2329
  # next_token: "PaginationToken",
2330
+ # publish: "ALLOW", # accepts ALLOW, BLOCK
2331
+ # upstream: "ALLOW", # accepts ALLOW, BLOCK
2160
2332
  # })
2161
2333
  #
2162
2334
  # @example Response structure
2163
2335
  #
2164
2336
  # resp.packages #=> Array
2165
- # resp.packages[0].format #=> String, one of "npm", "pypi", "maven", "nuget"
2337
+ # resp.packages[0].format #=> String, one of "npm", "pypi", "maven", "nuget", "generic", "swift"
2166
2338
  # resp.packages[0].namespace #=> String
2167
2339
  # resp.packages[0].package #=> String
2340
+ # resp.packages[0].origin_configuration.restrictions.publish #=> String, one of "ALLOW", "BLOCK"
2341
+ # resp.packages[0].origin_configuration.restrictions.upstream #=> String, one of "ALLOW", "BLOCK"
2168
2342
  # resp.next_token #=> String
2169
2343
  #
2170
2344
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListPackages AWS API Documentation
@@ -2178,7 +2352,8 @@ module Aws::CodeArtifact
2178
2352
 
2179
2353
  # Returns a list of [RepositorySummary][1] objects. Each
2180
2354
  # `RepositorySummary` contains information about a repository in the
2181
- # specified AWS account and that matches the input parameters.
2355
+ # specified Amazon Web Services account and that matches the input
2356
+ # parameters.
2182
2357
  #
2183
2358
  #
2184
2359
  #
@@ -2220,6 +2395,7 @@ module Aws::CodeArtifact
2220
2395
  # resp.repositories[0].domain_owner #=> String
2221
2396
  # resp.repositories[0].arn #=> String
2222
2397
  # resp.repositories[0].description #=> String
2398
+ # resp.repositories[0].created_time #=> Time
2223
2399
  # resp.next_token #=> String
2224
2400
  #
2225
2401
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListRepositories AWS API Documentation
@@ -2244,12 +2420,12 @@ module Aws::CodeArtifact
2244
2420
  # repositories.
2245
2421
  #
2246
2422
  # @option params [String] :domain_owner
2247
- # The 12-digit account number of the AWS account that owns the domain.
2248
- # It does not include dashes or spaces.
2423
+ # The 12-digit account number of the Amazon Web Services account that
2424
+ # owns the domain. It does not include dashes or spaces.
2249
2425
  #
2250
2426
  # @option params [String] :administrator_account
2251
2427
  # Filter the list of repositories to only include those that are managed
2252
- # by the AWS account ID.
2428
+ # by the Amazon Web Services account ID.
2253
2429
  #
2254
2430
  # @option params [String] :repository_prefix
2255
2431
  # A prefix used to filter returned repositories. Only repositories with
@@ -2290,6 +2466,7 @@ module Aws::CodeArtifact
2290
2466
  # resp.repositories[0].domain_owner #=> String
2291
2467
  # resp.repositories[0].arn #=> String
2292
2468
  # resp.repositories[0].description #=> String
2469
+ # resp.repositories[0].created_time #=> Time
2293
2470
  # resp.next_token #=> String
2294
2471
  #
2295
2472
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListRepositoriesInDomain AWS API Documentation
@@ -2301,8 +2478,8 @@ module Aws::CodeArtifact
2301
2478
  req.send_request(options)
2302
2479
  end
2303
2480
 
2304
- # Gets information about AWS tags for a specified Amazon Resource Name
2305
- # (ARN) in AWS CodeArtifact.
2481
+ # Gets information about Amazon Web Services tags for a specified Amazon
2482
+ # Resource Name (ARN) in CodeArtifact.
2306
2483
  #
2307
2484
  # @option params [required, String] :resource_arn
2308
2485
  # The Amazon Resource Name (ARN) of the resource to get tags for.
@@ -2332,6 +2509,136 @@ module Aws::CodeArtifact
2332
2509
  req.send_request(options)
2333
2510
  end
2334
2511
 
2512
+ # Creates a new package version containing one or more assets (or
2513
+ # files).
2514
+ #
2515
+ # The `unfinished` flag can be used to keep the package version in the
2516
+ # `Unfinished` state until all of its assets have been uploaded (see
2517
+ # [Package version status][1] in the *CodeArtifact user guide*). To set
2518
+ # the package version’s status to `Published`, omit the `unfinished`
2519
+ # flag when uploading the final asset, or set the status using
2520
+ # [UpdatePackageVersionStatus][2]. Once a package version’s status is
2521
+ # set to `Published`, it cannot change back to `Unfinished`.
2522
+ #
2523
+ # <note markdown="1"> Only generic packages can be published using this API. For more
2524
+ # information, see [Using generic packages][3] in the *CodeArtifact User
2525
+ # Guide*.
2526
+ #
2527
+ # </note>
2528
+ #
2529
+ #
2530
+ #
2531
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/ug/packages-overview.html#package-version-status.html#package-version-status
2532
+ # [2]: https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_UpdatePackageVersionsStatus.html
2533
+ # [3]: https://docs.aws.amazon.com/codeartifact/latest/ug/using-generic.html
2534
+ #
2535
+ # @option params [required, String] :domain
2536
+ # The name of the domain that contains the repository that contains the
2537
+ # package version to publish.
2538
+ #
2539
+ # @option params [String] :domain_owner
2540
+ # The 12-digit account number of the AWS account that owns the domain.
2541
+ # It does not include dashes or spaces.
2542
+ #
2543
+ # @option params [required, String] :repository
2544
+ # The name of the repository that the package version will be published
2545
+ # to.
2546
+ #
2547
+ # @option params [required, String] :format
2548
+ # A format that specifies the type of the package version with the
2549
+ # requested asset file.
2550
+ #
2551
+ # The only supported value is `generic`.
2552
+ #
2553
+ # @option params [String] :namespace
2554
+ # The namespace of the package version to publish.
2555
+ #
2556
+ # @option params [required, String] :package
2557
+ # The name of the package version to publish.
2558
+ #
2559
+ # @option params [required, String] :package_version
2560
+ # The package version to publish (for example, `3.5.2`).
2561
+ #
2562
+ # @option params [required, String, StringIO, File] :asset_content
2563
+ # The content of the asset to publish.
2564
+ #
2565
+ # @option params [required, String] :asset_name
2566
+ # The name of the asset to publish. Asset names can include Unicode
2567
+ # letters and numbers, and the following special characters: `` ~ ! @ ^
2568
+ # & ( ) - ` _ + [ ] \{ \} ; , . ` ``
2569
+ #
2570
+ # @option params [required, String] :asset_sha256
2571
+ # The SHA256 hash of the `assetContent` to publish. This value must be
2572
+ # calculated by the caller and provided with the request (see
2573
+ # [Publishing a generic package][1] in the *CodeArtifact User Guide*).
2574
+ #
2575
+ # This value is used as an integrity check to verify that the
2576
+ # `assetContent` has not changed after it was originally sent.
2577
+ #
2578
+ #
2579
+ #
2580
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/ug/using-generic.html#publishing-generic-packages
2581
+ #
2582
+ # @option params [Boolean] :unfinished
2583
+ # Specifies whether the package version should remain in the
2584
+ # `unfinished` state. If omitted, the package version status will be set
2585
+ # to `Published` (see [Package version status][1] in the *CodeArtifact
2586
+ # User Guide*).
2587
+ #
2588
+ # Valid values: `unfinished`
2589
+ #
2590
+ #
2591
+ #
2592
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/ug/packages-overview.html#package-version-status
2593
+ #
2594
+ # @return [Types::PublishPackageVersionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2595
+ #
2596
+ # * {Types::PublishPackageVersionResult#format #format} => String
2597
+ # * {Types::PublishPackageVersionResult#namespace #namespace} => String
2598
+ # * {Types::PublishPackageVersionResult#package #package} => String
2599
+ # * {Types::PublishPackageVersionResult#version #version} => String
2600
+ # * {Types::PublishPackageVersionResult#version_revision #version_revision} => String
2601
+ # * {Types::PublishPackageVersionResult#status #status} => String
2602
+ # * {Types::PublishPackageVersionResult#asset #asset} => Types::AssetSummary
2603
+ #
2604
+ # @example Request syntax with placeholder values
2605
+ #
2606
+ # resp = client.publish_package_version({
2607
+ # domain: "DomainName", # required
2608
+ # domain_owner: "AccountId",
2609
+ # repository: "RepositoryName", # required
2610
+ # format: "npm", # required, accepts npm, pypi, maven, nuget, generic, swift
2611
+ # namespace: "PackageNamespace",
2612
+ # package: "PackageName", # required
2613
+ # package_version: "PackageVersion", # required
2614
+ # asset_content: "data", # required
2615
+ # asset_name: "AssetName", # required
2616
+ # asset_sha256: "SHA256", # required
2617
+ # unfinished: false,
2618
+ # })
2619
+ #
2620
+ # @example Response structure
2621
+ #
2622
+ # resp.format #=> String, one of "npm", "pypi", "maven", "nuget", "generic", "swift"
2623
+ # resp.namespace #=> String
2624
+ # resp.package #=> String
2625
+ # resp.version #=> String
2626
+ # resp.version_revision #=> String
2627
+ # resp.status #=> String, one of "Published", "Unfinished", "Unlisted", "Archived", "Disposed", "Deleted"
2628
+ # resp.asset.name #=> String
2629
+ # resp.asset.size #=> Integer
2630
+ # resp.asset.hashes #=> Hash
2631
+ # resp.asset.hashes["HashAlgorithm"] #=> String
2632
+ #
2633
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/PublishPackageVersion AWS API Documentation
2634
+ #
2635
+ # @overload publish_package_version(params = {})
2636
+ # @param [Hash] params ({})
2637
+ def publish_package_version(params = {}, options = {})
2638
+ req = build_request(:publish_package_version, params)
2639
+ req.send_request(options)
2640
+ end
2641
+
2335
2642
  # Sets a resource policy on a domain that specifies permissions to
2336
2643
  # access it.
2337
2644
  #
@@ -2344,8 +2651,8 @@ module Aws::CodeArtifact
2344
2651
  # The name of the domain on which to set the resource policy.
2345
2652
  #
2346
2653
  # @option params [String] :domain_owner
2347
- # The 12-digit account number of the AWS account that owns the domain.
2348
- # It does not include dashes or spaces.
2654
+ # The 12-digit account number of the Amazon Web Services account that
2655
+ # owns the domain. It does not include dashes or spaces.
2349
2656
  #
2350
2657
  # @option params [String] :policy_revision
2351
2658
  # The current revision of the resource policy to be set. This revision
@@ -2384,6 +2691,106 @@ module Aws::CodeArtifact
2384
2691
  req.send_request(options)
2385
2692
  end
2386
2693
 
2694
+ # Sets the package origin configuration for a package.
2695
+ #
2696
+ # The package origin configuration determines how new versions of a
2697
+ # package can be added to a repository. You can allow or block direct
2698
+ # publishing of new package versions, or ingestion and retaining of new
2699
+ # package versions from an external connection or upstream source. For
2700
+ # more information about package origin controls and configuration, see
2701
+ # [Editing package origin controls][1] in the *CodeArtifact User Guide*.
2702
+ #
2703
+ # `PutPackageOriginConfiguration` can be called on a package that
2704
+ # doesn't yet exist in the repository. When called on a package that
2705
+ # does not exist, a package is created in the repository with no
2706
+ # versions and the requested restrictions are set on the package. This
2707
+ # can be used to preemptively block ingesting or retaining any versions
2708
+ # from external connections or upstream repositories, or to block
2709
+ # publishing any versions of the package into the repository before
2710
+ # connecting any package managers or publishers to the repository.
2711
+ #
2712
+ #
2713
+ #
2714
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/ug/package-origin-controls.html
2715
+ #
2716
+ # @option params [required, String] :domain
2717
+ # The name of the domain that contains the repository that contains the
2718
+ # package.
2719
+ #
2720
+ # @option params [String] :domain_owner
2721
+ # The 12-digit account number of the Amazon Web Services account that
2722
+ # owns the domain. It does not include dashes or spaces.
2723
+ #
2724
+ # @option params [required, String] :repository
2725
+ # The name of the repository that contains the package.
2726
+ #
2727
+ # @option params [required, String] :format
2728
+ # A format that specifies the type of the package to be updated.
2729
+ #
2730
+ # @option params [String] :namespace
2731
+ # The namespace of the package to be updated. The package component that
2732
+ # specifies its namespace depends on its type. For example:
2733
+ #
2734
+ # * The namespace of a Maven package is its `groupId`.
2735
+ #
2736
+ # * The namespace of an npm package is its `scope`.
2737
+ #
2738
+ # * Python and NuGet packages do not contain a corresponding component,
2739
+ # packages of those formats do not have a namespace.
2740
+ #
2741
+ # * The namespace of a generic package is its `namespace`.
2742
+ #
2743
+ # @option params [required, String] :package
2744
+ # The name of the package to be updated.
2745
+ #
2746
+ # @option params [required, Types::PackageOriginRestrictions] :restrictions
2747
+ # A [PackageOriginRestrictions][1] object that contains information
2748
+ # about the `upstream` and `publish` package origin restrictions. The
2749
+ # `upstream` restriction determines if new package versions can be
2750
+ # ingested or retained from external connections or upstream
2751
+ # repositories. The `publish` restriction determines if new package
2752
+ # versions can be published directly to the repository.
2753
+ #
2754
+ # You must include both the desired `upstream` and `publish`
2755
+ # restrictions.
2756
+ #
2757
+ #
2758
+ #
2759
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginRestrictions.html
2760
+ #
2761
+ # @return [Types::PutPackageOriginConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2762
+ #
2763
+ # * {Types::PutPackageOriginConfigurationResult#origin_configuration #origin_configuration} => Types::PackageOriginConfiguration
2764
+ #
2765
+ # @example Request syntax with placeholder values
2766
+ #
2767
+ # resp = client.put_package_origin_configuration({
2768
+ # domain: "DomainName", # required
2769
+ # domain_owner: "AccountId",
2770
+ # repository: "RepositoryName", # required
2771
+ # format: "npm", # required, accepts npm, pypi, maven, nuget, generic, swift
2772
+ # namespace: "PackageNamespace",
2773
+ # package: "PackageName", # required
2774
+ # restrictions: { # required
2775
+ # publish: "ALLOW", # required, accepts ALLOW, BLOCK
2776
+ # upstream: "ALLOW", # required, accepts ALLOW, BLOCK
2777
+ # },
2778
+ # })
2779
+ #
2780
+ # @example Response structure
2781
+ #
2782
+ # resp.origin_configuration.restrictions.publish #=> String, one of "ALLOW", "BLOCK"
2783
+ # resp.origin_configuration.restrictions.upstream #=> String, one of "ALLOW", "BLOCK"
2784
+ #
2785
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/PutPackageOriginConfiguration AWS API Documentation
2786
+ #
2787
+ # @overload put_package_origin_configuration(params = {})
2788
+ # @param [Hash] params ({})
2789
+ def put_package_origin_configuration(params = {}, options = {})
2790
+ req = build_request(:put_package_origin_configuration, params)
2791
+ req.send_request(options)
2792
+ end
2793
+
2387
2794
  # Sets the resource policy on a repository that specifies permissions to
2388
2795
  # access it.
2389
2796
  #
@@ -2398,8 +2805,8 @@ module Aws::CodeArtifact
2398
2805
  # policy on.
2399
2806
  #
2400
2807
  # @option params [String] :domain_owner
2401
- # The 12-digit account number of the AWS account that owns the domain.
2402
- # It does not include dashes or spaces.
2808
+ # The 12-digit account number of the Amazon Web Services account that
2809
+ # owns the domain. It does not include dashes or spaces.
2403
2810
  #
2404
2811
  # @option params [required, String] :repository
2405
2812
  # The name of the repository to set the resource policy on.
@@ -2443,7 +2850,7 @@ module Aws::CodeArtifact
2443
2850
  req.send_request(options)
2444
2851
  end
2445
2852
 
2446
- # Adds or updates tags for a resource in AWS CodeArtifact.
2853
+ # Adds or updates tags for a resource in CodeArtifact.
2447
2854
  #
2448
2855
  # @option params [required, String] :resource_arn
2449
2856
  # The Amazon Resource Name (ARN) of the resource that you want to add or
@@ -2475,7 +2882,7 @@ module Aws::CodeArtifact
2475
2882
  req.send_request(options)
2476
2883
  end
2477
2884
 
2478
- # Removes tags from a resource in AWS CodeArtifact.
2885
+ # Removes tags from a resource in CodeArtifact.
2479
2886
  #
2480
2887
  # @option params [required, String] :resource_arn
2481
2888
  # The Amazon Resource Name (ARN) of the resource that you want to remove
@@ -2502,15 +2909,22 @@ module Aws::CodeArtifact
2502
2909
  req.send_request(options)
2503
2910
  end
2504
2911
 
2505
- # Updates the status of one or more versions of a package.
2912
+ # Updates the status of one or more versions of a package. Using
2913
+ # `UpdatePackageVersionsStatus`, you can update the status of package
2914
+ # versions to `Archived`, `Published`, or `Unlisted`. To set the status
2915
+ # of a package version to `Disposed`, use [DisposePackageVersions][1].
2916
+ #
2917
+ #
2918
+ #
2919
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DisposePackageVersions.html
2506
2920
  #
2507
2921
  # @option params [required, String] :domain
2508
2922
  # The name of the domain that contains the repository that contains the
2509
2923
  # package versions with a status to be updated.
2510
2924
  #
2511
2925
  # @option params [String] :domain_owner
2512
- # The 12-digit account number of the AWS account that owns the domain.
2513
- # It does not include dashes or spaces.
2926
+ # The 12-digit account number of the Amazon Web Services account that
2927
+ # owns the domain. It does not include dashes or spaces.
2514
2928
  #
2515
2929
  # @option params [required, String] :repository
2516
2930
  # The repository that contains the package versions with the status you
@@ -2518,24 +2932,22 @@ module Aws::CodeArtifact
2518
2932
  #
2519
2933
  # @option params [required, String] :format
2520
2934
  # A format that specifies the type of the package with the statuses to
2521
- # update. The valid values are:
2522
- #
2523
- # * `npm`
2524
- #
2525
- # * `pypi`
2526
- #
2527
- # * `maven`
2935
+ # update.
2528
2936
  #
2529
2937
  # @option params [String] :namespace
2530
- # The namespace of the package. The package component that specifies its
2531
- # namespace depends on its type. For example:
2938
+ # The namespace of the package version to be updated. The package
2939
+ # version component that specifies its namespace depends on its type.
2940
+ # For example:
2532
2941
  #
2533
- # * The namespace of a Maven package is its `groupId`.
2942
+ # * The namespace of a Maven package version is its `groupId`.
2534
2943
  #
2535
- # * The namespace of an npm package is its `scope`.
2944
+ # * The namespace of an npm package version is its `scope`.
2945
+ #
2946
+ # * Python and NuGet package versions do not contain a corresponding
2947
+ # component, package versions of those formats do not have a
2948
+ # namespace.
2536
2949
  #
2537
- # * A Python package does not contain a corresponding component, so
2538
- # Python packages do not have a namespace.
2950
+ # * The namespace of a generic package is its `namespace`.
2539
2951
  #
2540
2952
  # @option params [required, String] :package
2541
2953
  # The name of the package with the version statuses to update.
@@ -2569,7 +2981,7 @@ module Aws::CodeArtifact
2569
2981
  # domain: "DomainName", # required
2570
2982
  # domain_owner: "AccountId",
2571
2983
  # repository: "RepositoryName", # required
2572
- # format: "npm", # required, accepts npm, pypi, maven, nuget
2984
+ # format: "npm", # required, accepts npm, pypi, maven, nuget, generic, swift
2573
2985
  # namespace: "PackageNamespace",
2574
2986
  # package: "PackageName", # required
2575
2987
  # versions: ["PackageVersion"], # required
@@ -2604,8 +3016,8 @@ module Aws::CodeArtifact
2604
3016
  # The name of the domain associated with the repository to update.
2605
3017
  #
2606
3018
  # @option params [String] :domain_owner
2607
- # The 12-digit account number of the AWS account that owns the domain.
2608
- # It does not include dashes or spaces.
3019
+ # The 12-digit account number of the Amazon Web Services account that
3020
+ # owns the domain. It does not include dashes or spaces.
2609
3021
  #
2610
3022
  # @option params [required, String] :repository
2611
3023
  # The name of the repository to update.
@@ -2616,7 +3028,7 @@ module Aws::CodeArtifact
2616
3028
  # @option params [Array<Types::UpstreamRepository>] :upstreams
2617
3029
  # A list of upstream repositories to associate with the repository. The
2618
3030
  # order of the upstream repositories in the list determines their
2619
- # priority order when AWS CodeArtifact looks for a requested package
3031
+ # priority order when CodeArtifact looks for a requested package
2620
3032
  # version. For more information, see [Working with upstream
2621
3033
  # repositories][1].
2622
3034
  #
@@ -2654,8 +3066,9 @@ module Aws::CodeArtifact
2654
3066
  # resp.repository.upstreams[0].repository_name #=> String
2655
3067
  # resp.repository.external_connections #=> Array
2656
3068
  # resp.repository.external_connections[0].external_connection_name #=> String
2657
- # resp.repository.external_connections[0].package_format #=> String, one of "npm", "pypi", "maven", "nuget"
3069
+ # resp.repository.external_connections[0].package_format #=> String, one of "npm", "pypi", "maven", "nuget", "generic", "swift"
2658
3070
  # resp.repository.external_connections[0].status #=> String, one of "Available"
3071
+ # resp.repository.created_time #=> Time
2659
3072
  #
2660
3073
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/UpdateRepository AWS API Documentation
2661
3074
  #
@@ -2679,7 +3092,7 @@ module Aws::CodeArtifact
2679
3092
  params: params,
2680
3093
  config: config)
2681
3094
  context[:gem_name] = 'aws-sdk-codeartifact'
2682
- context[:gem_version] = '1.16.0'
3095
+ context[:gem_version] = '1.35.0'
2683
3096
  Seahorse::Client::Request.new(handlers, context)
2684
3097
  end
2685
3098