aws-sdk-codeartifact 1.16.0 → 1.35.0

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