aws-sdk-codeartifact 1.38.0 → 1.40.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,6 +22,7 @@ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
22
  require 'aws-sdk-core/plugins/response_paging.rb'
23
23
  require 'aws-sdk-core/plugins/stub_responses.rb'
24
24
  require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/invocation_id.rb'
25
26
  require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
27
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
28
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
@@ -72,6 +73,7 @@ module Aws::CodeArtifact
72
73
  add_plugin(Aws::Plugins::ResponsePaging)
73
74
  add_plugin(Aws::Plugins::StubResponses)
74
75
  add_plugin(Aws::Plugins::IdempotencyToken)
76
+ add_plugin(Aws::Plugins::InvocationId)
75
77
  add_plugin(Aws::Plugins::JsonvalueConverter)
76
78
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
79
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
@@ -196,10 +198,17 @@ module Aws::CodeArtifact
196
198
  # When set to 'true' the request body will not be compressed
197
199
  # for supported operations.
198
200
  #
199
- # @option options [String] :endpoint
200
- # The client endpoint is normally constructed from the `:region`
201
- # option. You should only configure an `:endpoint` when connecting
202
- # to test or custom endpoints. This should be a valid HTTP(S) URI.
201
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
202
+ # Normally you should not configure the `:endpoint` option
203
+ # directly. This is normally constructed from the `:region`
204
+ # option. Configuring `:endpoint` is normally reserved for
205
+ # connecting to test or custom endpoints. The endpoint should
206
+ # be a URI formatted like:
207
+ #
208
+ # 'http://example.com'
209
+ # 'https://example.com'
210
+ # 'http://example.com:123'
211
+ #
203
212
  #
204
213
  # @option options [Integer] :endpoint_cache_max_entries (1000)
205
214
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -337,50 +346,65 @@ module Aws::CodeArtifact
337
346
  # @option options [Aws::CodeArtifact::EndpointProvider] :endpoint_provider
338
347
  # 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
348
  #
340
- # @option options [URI::HTTP,String] :http_proxy A proxy to send
341
- # requests through. Formatted like 'http://proxy.com:123'.
342
- #
343
- # @option options [Float] :http_open_timeout (15) The number of
344
- # seconds to wait when opening a HTTP session before raising a
345
- # `Timeout::Error`.
346
- #
347
- # @option options [Float] :http_read_timeout (60) The default
348
- # number of seconds to wait for response data. This value can
349
- # safely be set per-request on the session.
350
- #
351
- # @option options [Float] :http_idle_timeout (5) The number of
352
- # seconds a connection is allowed to sit idle before it is
353
- # considered stale. Stale connections are closed and removed
354
- # from the pool before making a request.
355
- #
356
- # @option options [Float] :http_continue_timeout (1) The number of
357
- # seconds to wait for a 100-continue response before sending the
358
- # request body. This option has no effect unless the request has
359
- # "Expect" header set to "100-continue". Defaults to `nil` which
360
- # disables this behaviour. This value can safely be set per
361
- # request on the session.
362
- #
363
- # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
- # in seconds.
365
- #
366
- # @option options [Boolean] :http_wire_trace (false) When `true`,
367
- # HTTP debug output will be sent to the `:logger`.
349
+ # @option options [Float] :http_continue_timeout (1)
350
+ # The number of seconds to wait for a 100-continue response before sending the
351
+ # request body. This option has no effect unless the request has "Expect"
352
+ # header set to "100-continue". Defaults to `nil` which disables this
353
+ # behaviour. This value can safely be set per request on the session.
354
+ #
355
+ # @option options [Float] :http_idle_timeout (5)
356
+ # The number of seconds a connection is allowed to sit idle before it
357
+ # is considered stale. Stale connections are closed and removed from the
358
+ # pool before making a request.
359
+ #
360
+ # @option options [Float] :http_open_timeout (15)
361
+ # The default number of seconds to wait for response data.
362
+ # This value can safely be set per-request on the session.
363
+ #
364
+ # @option options [URI::HTTP,String] :http_proxy
365
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
366
+ #
367
+ # @option options [Float] :http_read_timeout (60)
368
+ # The default number of seconds to wait for response data.
369
+ # This value can safely be set per-request on the session.
370
+ #
371
+ # @option options [Boolean] :http_wire_trace (false)
372
+ # When `true`, HTTP debug output will be sent to the `:logger`.
373
+ #
374
+ # @option options [Proc] :on_chunk_received
375
+ # When a Proc object is provided, it will be used as callback when each chunk
376
+ # of the response body is received. It provides three arguments: the chunk,
377
+ # the number of bytes received, and the total number of
378
+ # bytes in the response (or nil if the server did not send a `content-length`).
379
+ #
380
+ # @option options [Proc] :on_chunk_sent
381
+ # When a Proc object is provided, it will be used as callback when each chunk
382
+ # of the request body is sent. It provides three arguments: the chunk,
383
+ # the number of bytes read from the body, and the total number of
384
+ # bytes in the body.
385
+ #
386
+ # @option options [Boolean] :raise_response_errors (true)
387
+ # When `true`, response errors are raised.
388
+ #
389
+ # @option options [String] :ssl_ca_bundle
390
+ # Full path to the SSL certificate authority bundle file that should be used when
391
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
392
+ # `:ssl_ca_directory` the the system default will be used if available.
393
+ #
394
+ # @option options [String] :ssl_ca_directory
395
+ # Full path of the directory that contains the unbundled SSL certificate
396
+ # authority files for verifying peer certificates. If you do
397
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
398
+ # default will be used if available.
368
399
  #
369
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
370
- # SSL peer certificates are verified when establishing a
371
- # connection.
400
+ # @option options [String] :ssl_ca_store
401
+ # Sets the X509::Store to verify peer certificate.
372
402
  #
373
- # @option options [String] :ssl_ca_bundle Full path to the SSL
374
- # certificate authority bundle file that should be used when
375
- # verifying peer certificates. If you do not pass
376
- # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
377
- # will be used if available.
403
+ # @option options [Float] :ssl_timeout
404
+ # Sets the SSL timeout in seconds
378
405
  #
379
- # @option options [String] :ssl_ca_directory Full path of the
380
- # directory that contains the unbundled SSL certificate
381
- # authority files for verifying peer certificates. If you do
382
- # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
383
- # system default will be used if available.
406
+ # @option options [Boolean] :ssl_verify_peer (true)
407
+ # When `true`, SSL peer certificates are verified when establishing a connection.
384
408
  #
385
409
  def initialize(*args)
386
410
  super
@@ -492,20 +516,30 @@ module Aws::CodeArtifact
492
516
  #
493
517
  # @option params [String] :namespace
494
518
  # 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:
519
+ # component that specifies its namespace depends on its type. For
520
+ # example:
521
+ #
522
+ # <note markdown="1"> The namespace is required when copying package versions of the
523
+ # following formats:
524
+ #
525
+ # * Maven
526
+ #
527
+ # * Swift
497
528
  #
498
- # * The namespace of a Maven package version is its `groupId`. The
499
- # namespace is required when copying Maven package versions.
529
+ # * generic
500
530
  #
501
- # * The namespace of an npm package version is its `scope`.
531
+ # </note>
532
+ #
533
+ # * The namespace of a Maven package version is its `groupId`.
534
+ #
535
+ # * The namespace of an npm or Swift package version is its `scope`.
536
+ #
537
+ # * The namespace of a generic package is its `namespace`.
502
538
  #
503
539
  # * Python and NuGet package versions do not contain a corresponding
504
540
  # component, package versions of those formats do not have a
505
541
  # namespace.
506
542
  #
507
- # * The namespace of a generic package is its `namespace`.
508
- #
509
543
  # @option params [required, String] :package
510
544
  # The name of the package that contains the versions to be copied.
511
545
  #
@@ -667,6 +701,81 @@ module Aws::CodeArtifact
667
701
  req.send_request(options)
668
702
  end
669
703
 
704
+ # Creates a package group. For more information about creating package
705
+ # groups, including example CLI commands, see [Create a package
706
+ # group][1] in the *CodeArtifact User Guide*.
707
+ #
708
+ #
709
+ #
710
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/ug/create-package-group.html
711
+ #
712
+ # @option params [required, String] :domain
713
+ # The name of the domain in which you want to create a package group.
714
+ #
715
+ # @option params [String] :domain_owner
716
+ # The 12-digit account number of the Amazon Web Services account that
717
+ # owns the domain. It does not include dashes or spaces.
718
+ #
719
+ # @option params [required, String] :package_group
720
+ # The pattern of the package group to create. The pattern is also the
721
+ # identifier of the package group.
722
+ #
723
+ # @option params [String] :contact_info
724
+ # The contact information for the created package group.
725
+ #
726
+ # @option params [String] :description
727
+ # A description of the package group.
728
+ #
729
+ # @option params [Array<Types::Tag>] :tags
730
+ # One or more tag key-value pairs for the package group.
731
+ #
732
+ # @return [Types::CreatePackageGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
733
+ #
734
+ # * {Types::CreatePackageGroupResult#package_group #package_group} => Types::PackageGroupDescription
735
+ #
736
+ # @example Request syntax with placeholder values
737
+ #
738
+ # resp = client.create_package_group({
739
+ # domain: "DomainName", # required
740
+ # domain_owner: "AccountId",
741
+ # package_group: "PackageGroupPattern", # required
742
+ # contact_info: "PackageGroupContactInfo",
743
+ # description: "Description",
744
+ # tags: [
745
+ # {
746
+ # key: "TagKey", # required
747
+ # value: "TagValue", # required
748
+ # },
749
+ # ],
750
+ # })
751
+ #
752
+ # @example Response structure
753
+ #
754
+ # resp.package_group.arn #=> String
755
+ # resp.package_group.pattern #=> String
756
+ # resp.package_group.domain_name #=> String
757
+ # resp.package_group.domain_owner #=> String
758
+ # resp.package_group.created_time #=> Time
759
+ # resp.package_group.contact_info #=> String
760
+ # resp.package_group.description #=> String
761
+ # resp.package_group.origin_configuration.restrictions #=> Hash
762
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
763
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].effective_mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
764
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.arn #=> String
765
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.pattern #=> String
766
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].repositories_count #=> Integer
767
+ # resp.package_group.parent.arn #=> String
768
+ # resp.package_group.parent.pattern #=> String
769
+ #
770
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/CreatePackageGroup AWS API Documentation
771
+ #
772
+ # @overload create_package_group(params = {})
773
+ # @param [Hash] params ({})
774
+ def create_package_group(params = {}, options = {})
775
+ req = build_request(:create_package_group, params)
776
+ req.send_request(options)
777
+ end
778
+
670
779
  # Creates a repository.
671
780
  #
672
781
  # @option params [required, String] :domain
@@ -855,16 +964,27 @@ module Aws::CodeArtifact
855
964
  # The namespace of the package to delete. The package component that
856
965
  # specifies its namespace depends on its type. For example:
857
966
  #
858
- # * The namespace of a Maven package is its `groupId`. The namespace is
859
- # required when deleting Maven package versions.
967
+ # <note markdown="1"> The namespace is required when deleting packages of the following
968
+ # formats:
969
+ #
970
+ # * Maven
971
+ #
972
+ # * Swift
973
+ #
974
+ # * generic
860
975
  #
861
- # * The namespace of an npm package is its `scope`.
976
+ # </note>
977
+ #
978
+ # * The namespace of a Maven package version is its `groupId`.
862
979
  #
863
- # * Python and NuGet packages do not contain corresponding components,
864
- # packages of those formats do not have a namespace.
980
+ # * The namespace of an npm or Swift package version is its `scope`.
865
981
  #
866
982
  # * The namespace of a generic package is its `namespace`.
867
983
  #
984
+ # * Python and NuGet package versions do not contain a corresponding
985
+ # component, package versions of those formats do not have a
986
+ # namespace.
987
+ #
868
988
  # @option params [required, String] :package
869
989
  # The name of the package to delete.
870
990
  #
@@ -900,6 +1020,62 @@ module Aws::CodeArtifact
900
1020
  req.send_request(options)
901
1021
  end
902
1022
 
1023
+ # Deletes a package group. Deleting a package group does not delete
1024
+ # packages or package versions associated with the package group. When a
1025
+ # package group is deleted, the direct child package groups will become
1026
+ # children of the package group's direct parent package group.
1027
+ # Therefore, if any of the child groups are inheriting any settings from
1028
+ # the parent, those settings could change.
1029
+ #
1030
+ # @option params [required, String] :domain
1031
+ # The domain that contains the package group to be deleted.
1032
+ #
1033
+ # @option params [String] :domain_owner
1034
+ # The 12-digit account number of the Amazon Web Services account that
1035
+ # owns the domain. It does not include dashes or spaces.
1036
+ #
1037
+ # @option params [required, String] :package_group
1038
+ # The pattern of the package group to be deleted.
1039
+ #
1040
+ # @return [Types::DeletePackageGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1041
+ #
1042
+ # * {Types::DeletePackageGroupResult#package_group #package_group} => Types::PackageGroupDescription
1043
+ #
1044
+ # @example Request syntax with placeholder values
1045
+ #
1046
+ # resp = client.delete_package_group({
1047
+ # domain: "DomainName", # required
1048
+ # domain_owner: "AccountId",
1049
+ # package_group: "String", # required
1050
+ # })
1051
+ #
1052
+ # @example Response structure
1053
+ #
1054
+ # resp.package_group.arn #=> String
1055
+ # resp.package_group.pattern #=> String
1056
+ # resp.package_group.domain_name #=> String
1057
+ # resp.package_group.domain_owner #=> String
1058
+ # resp.package_group.created_time #=> Time
1059
+ # resp.package_group.contact_info #=> String
1060
+ # resp.package_group.description #=> String
1061
+ # resp.package_group.origin_configuration.restrictions #=> Hash
1062
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
1063
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].effective_mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
1064
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.arn #=> String
1065
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.pattern #=> String
1066
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].repositories_count #=> Integer
1067
+ # resp.package_group.parent.arn #=> String
1068
+ # resp.package_group.parent.pattern #=> String
1069
+ #
1070
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DeletePackageGroup AWS API Documentation
1071
+ #
1072
+ # @overload delete_package_group(params = {})
1073
+ # @param [Hash] params ({})
1074
+ def delete_package_group(params = {}, options = {})
1075
+ req = build_request(:delete_package_group, params)
1076
+ req.send_request(options)
1077
+ end
1078
+
903
1079
  # Deletes one or more versions of a package. A deleted package version
904
1080
  # cannot be restored in your repository. If you want to remove a package
905
1081
  # version from your repository and be able to restore it later, set its
@@ -929,20 +1105,30 @@ module Aws::CodeArtifact
929
1105
  #
930
1106
  # @option params [String] :namespace
931
1107
  # 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:
1108
+ # component that specifies its namespace depends on its type. For
1109
+ # example:
1110
+ #
1111
+ # <note markdown="1"> The namespace is required when deleting package versions of the
1112
+ # following formats:
934
1113
  #
935
- # * The namespace of a Maven package version is its `groupId`. The
936
- # namespace is required when deleting Maven package versions.
1114
+ # * Maven
937
1115
  #
938
- # * The namespace of an npm package version is its `scope`.
1116
+ # * Swift
1117
+ #
1118
+ # * generic
1119
+ #
1120
+ # </note>
1121
+ #
1122
+ # * The namespace of a Maven package version is its `groupId`.
1123
+ #
1124
+ # * The namespace of an npm or Swift package version is its `scope`.
1125
+ #
1126
+ # * The namespace of a generic package is its `namespace`.
939
1127
  #
940
1128
  # * Python and NuGet package versions do not contain a corresponding
941
1129
  # component, package versions of those formats do not have a
942
1130
  # namespace.
943
1131
  #
944
- # * The namespace of a generic package is its `namespace`.
945
- #
946
1132
  # @option params [required, String] :package
947
1133
  # The name of the package with the versions to delete.
948
1134
  #
@@ -1165,16 +1351,27 @@ module Aws::CodeArtifact
1165
1351
  # The namespace of the requested package. The package component that
1166
1352
  # specifies its namespace depends on its type. For example:
1167
1353
  #
1168
- # * The namespace of a Maven package is its `groupId`. The namespace is
1169
- # required when requesting Maven packages.
1354
+ # <note markdown="1"> The namespace is required when requesting packages of the following
1355
+ # formats:
1356
+ #
1357
+ # * Maven
1358
+ #
1359
+ # * Swift
1170
1360
  #
1171
- # * The namespace of an npm package is its `scope`.
1361
+ # * generic
1362
+ #
1363
+ # </note>
1364
+ #
1365
+ # * The namespace of a Maven package version is its `groupId`.
1172
1366
  #
1173
- # * Python and NuGet packages do not contain a corresponding component,
1174
- # packages of those formats do not have a namespace.
1367
+ # * The namespace of an npm or Swift package version is its `scope`.
1175
1368
  #
1176
1369
  # * The namespace of a generic package is its `namespace`.
1177
1370
  #
1371
+ # * Python and NuGet package versions do not contain a corresponding
1372
+ # component, package versions of those formats do not have a
1373
+ # namespace.
1374
+ #
1178
1375
  # @option params [required, String] :package
1179
1376
  # The name of the requested package.
1180
1377
  #
@@ -1210,6 +1407,62 @@ module Aws::CodeArtifact
1210
1407
  req.send_request(options)
1211
1408
  end
1212
1409
 
1410
+ # Returns a [PackageGroupDescription][1] object that contains
1411
+ # information about the requested package group.
1412
+ #
1413
+ #
1414
+ #
1415
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageGroupDescription.html
1416
+ #
1417
+ # @option params [required, String] :domain
1418
+ # The name of the domain that contains the package group.
1419
+ #
1420
+ # @option params [String] :domain_owner
1421
+ # The 12-digit account number of the Amazon Web Services account that
1422
+ # owns the domain. It does not include dashes or spaces.
1423
+ #
1424
+ # @option params [required, String] :package_group
1425
+ # The pattern of the requested package group.
1426
+ #
1427
+ # @return [Types::DescribePackageGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1428
+ #
1429
+ # * {Types::DescribePackageGroupResult#package_group #package_group} => Types::PackageGroupDescription
1430
+ #
1431
+ # @example Request syntax with placeholder values
1432
+ #
1433
+ # resp = client.describe_package_group({
1434
+ # domain: "DomainName", # required
1435
+ # domain_owner: "AccountId",
1436
+ # package_group: "PackageGroupPattern", # required
1437
+ # })
1438
+ #
1439
+ # @example Response structure
1440
+ #
1441
+ # resp.package_group.arn #=> String
1442
+ # resp.package_group.pattern #=> String
1443
+ # resp.package_group.domain_name #=> String
1444
+ # resp.package_group.domain_owner #=> String
1445
+ # resp.package_group.created_time #=> Time
1446
+ # resp.package_group.contact_info #=> String
1447
+ # resp.package_group.description #=> String
1448
+ # resp.package_group.origin_configuration.restrictions #=> Hash
1449
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
1450
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].effective_mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
1451
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.arn #=> String
1452
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.pattern #=> String
1453
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].repositories_count #=> Integer
1454
+ # resp.package_group.parent.arn #=> String
1455
+ # resp.package_group.parent.pattern #=> String
1456
+ #
1457
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DescribePackageGroup AWS API Documentation
1458
+ #
1459
+ # @overload describe_package_group(params = {})
1460
+ # @param [Hash] params ({})
1461
+ def describe_package_group(params = {}, options = {})
1462
+ req = build_request(:describe_package_group, params)
1463
+ req.send_request(options)
1464
+ end
1465
+
1213
1466
  # Returns a [PackageVersionDescription][1] object that contains
1214
1467
  # information about the requested package version.
1215
1468
  #
@@ -1232,20 +1485,30 @@ module Aws::CodeArtifact
1232
1485
  # A format that specifies the type of the requested package version.
1233
1486
  #
1234
1487
  # @option params [String] :namespace
1235
- # The namespace of the requested package version. The package version
1236
- # component that specifies its namespace depends on its type. For
1237
- # example:
1488
+ # The namespace of the requested package version. The package component
1489
+ # that specifies its namespace depends on its type. For example:
1490
+ #
1491
+ # <note markdown="1"> The namespace is required when requesting package versions of the
1492
+ # following formats:
1493
+ #
1494
+ # * Maven
1495
+ #
1496
+ # * Swift
1497
+ #
1498
+ # * generic
1499
+ #
1500
+ # </note>
1238
1501
  #
1239
1502
  # * The namespace of a Maven package version is its `groupId`.
1240
1503
  #
1241
- # * The namespace of an npm package version is its `scope`.
1504
+ # * The namespace of an npm or Swift package version is its `scope`.
1505
+ #
1506
+ # * The namespace of a generic package is its `namespace`.
1242
1507
  #
1243
1508
  # * Python and NuGet package versions do not contain a corresponding
1244
1509
  # component, package versions of those formats do not have a
1245
1510
  # namespace.
1246
1511
  #
1247
- # * The namespace of a generic package is its `namespace`.
1248
- #
1249
1512
  # @option params [required, String] :package
1250
1513
  # The name of the requested package version.
1251
1514
  #
@@ -1437,19 +1700,30 @@ module Aws::CodeArtifact
1437
1700
  #
1438
1701
  # @option params [String] :namespace
1439
1702
  # 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:
1703
+ # component that specifies its namespace depends on its type. For
1704
+ # example:
1705
+ #
1706
+ # <note markdown="1"> The namespace is required when disposing package versions of the
1707
+ # following formats:
1708
+ #
1709
+ # * Maven
1710
+ #
1711
+ # * Swift
1712
+ #
1713
+ # * generic
1714
+ #
1715
+ # </note>
1442
1716
  #
1443
1717
  # * The namespace of a Maven package version is its `groupId`.
1444
1718
  #
1445
- # * The namespace of an npm package version is its `scope`.
1719
+ # * The namespace of an npm or Swift package version is its `scope`.
1720
+ #
1721
+ # * The namespace of a generic package is its `namespace`.
1446
1722
  #
1447
1723
  # * Python and NuGet package versions do not contain a corresponding
1448
1724
  # component, package versions of those formats do not have a
1449
1725
  # namespace.
1450
1726
  #
1451
- # * The namespace of a generic package is its `namespace`.
1452
- #
1453
1727
  # @option params [required, String] :package
1454
1728
  # The name of the package with the versions you want to dispose.
1455
1729
  #
@@ -1501,6 +1775,105 @@ module Aws::CodeArtifact
1501
1775
  req.send_request(options)
1502
1776
  end
1503
1777
 
1778
+ # Returns the most closely associated package group to the specified
1779
+ # package. This API does not require that the package exist in any
1780
+ # repository in the domain. As such, `GetAssociatedPackageGroup` can be
1781
+ # used to see which package group's origin configuration applies to a
1782
+ # package before that package is in a repository. This can be helpful to
1783
+ # check if public packages are blocked without ingesting them.
1784
+ #
1785
+ # For information package group association and matching, see [Package
1786
+ # group definition syntax and matching behavior][1] in the *CodeArtifact
1787
+ # User Guide*.
1788
+ #
1789
+ #
1790
+ #
1791
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/ug/package-group-definition-syntax-matching-behavior.html
1792
+ #
1793
+ # @option params [required, String] :domain
1794
+ # The name of the domain that contains the package from which to get the
1795
+ # associated package group.
1796
+ #
1797
+ # @option params [String] :domain_owner
1798
+ # The 12-digit account number of the Amazon Web Services account that
1799
+ # owns the domain. It does not include dashes or spaces.
1800
+ #
1801
+ # @option params [required, String] :format
1802
+ # The format of the package from which to get the associated package
1803
+ # group.
1804
+ #
1805
+ # @option params [String] :namespace
1806
+ # The namespace of the package from which to get the associated package
1807
+ # group. The package component that specifies its namespace depends on
1808
+ # its type. For example:
1809
+ #
1810
+ # <note markdown="1"> The namespace is required when getting associated package groups from
1811
+ # packages of the following formats:
1812
+ #
1813
+ # * Maven
1814
+ #
1815
+ # * Swift
1816
+ #
1817
+ # * generic
1818
+ #
1819
+ # </note>
1820
+ #
1821
+ # * The namespace of a Maven package version is its `groupId`.
1822
+ #
1823
+ # * The namespace of an npm or Swift package version is its `scope`.
1824
+ #
1825
+ # * The namespace of a generic package is its `namespace`.
1826
+ #
1827
+ # * Python and NuGet package versions do not contain a corresponding
1828
+ # component, package versions of those formats do not have a
1829
+ # namespace.
1830
+ #
1831
+ # @option params [required, String] :package
1832
+ # The package from which to get the associated package group.
1833
+ #
1834
+ # @return [Types::GetAssociatedPackageGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1835
+ #
1836
+ # * {Types::GetAssociatedPackageGroupResult#package_group #package_group} => Types::PackageGroupDescription
1837
+ # * {Types::GetAssociatedPackageGroupResult#association_type #association_type} => String
1838
+ #
1839
+ # @example Request syntax with placeholder values
1840
+ #
1841
+ # resp = client.get_associated_package_group({
1842
+ # domain: "DomainName", # required
1843
+ # domain_owner: "AccountId",
1844
+ # format: "npm", # required, accepts npm, pypi, maven, nuget, generic, swift
1845
+ # namespace: "PackageNamespace",
1846
+ # package: "PackageName", # required
1847
+ # })
1848
+ #
1849
+ # @example Response structure
1850
+ #
1851
+ # resp.package_group.arn #=> String
1852
+ # resp.package_group.pattern #=> String
1853
+ # resp.package_group.domain_name #=> String
1854
+ # resp.package_group.domain_owner #=> String
1855
+ # resp.package_group.created_time #=> Time
1856
+ # resp.package_group.contact_info #=> String
1857
+ # resp.package_group.description #=> String
1858
+ # resp.package_group.origin_configuration.restrictions #=> Hash
1859
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
1860
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].effective_mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
1861
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.arn #=> String
1862
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.pattern #=> String
1863
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].repositories_count #=> Integer
1864
+ # resp.package_group.parent.arn #=> String
1865
+ # resp.package_group.parent.pattern #=> String
1866
+ # resp.association_type #=> String, one of "STRONG", "WEAK"
1867
+ #
1868
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/GetAssociatedPackageGroup AWS API Documentation
1869
+ #
1870
+ # @overload get_associated_package_group(params = {})
1871
+ # @param [Hash] params ({})
1872
+ def get_associated_package_group(params = {}, options = {})
1873
+ req = build_request(:get_associated_package_group, params)
1874
+ req.send_request(options)
1875
+ end
1876
+
1504
1877
  # Generates a temporary authorization token for accessing repositories
1505
1878
  # in the domain. This API requires the
1506
1879
  # `codeartifact:GetAuthorizationToken` and `sts:GetServiceBearerToken`
@@ -1642,19 +2015,30 @@ module Aws::CodeArtifact
1642
2015
  #
1643
2016
  # @option params [String] :namespace
1644
2017
  # 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:
2018
+ # The package component that specifies its namespace depends on its
2019
+ # type. For example:
2020
+ #
2021
+ # <note markdown="1"> The namespace is required when requesting assets from package versions
2022
+ # of the following formats:
2023
+ #
2024
+ # * Maven
2025
+ #
2026
+ # * Swift
2027
+ #
2028
+ # * generic
2029
+ #
2030
+ # </note>
1647
2031
  #
1648
2032
  # * The namespace of a Maven package version is its `groupId`.
1649
2033
  #
1650
- # * The namespace of an npm package version is its `scope`.
2034
+ # * The namespace of an npm or Swift package version is its `scope`.
2035
+ #
2036
+ # * The namespace of a generic package is its `namespace`.
1651
2037
  #
1652
2038
  # * Python and NuGet package versions do not contain a corresponding
1653
2039
  # component, package versions of those formats do not have a
1654
2040
  # namespace.
1655
2041
  #
1656
- # * The namespace of a generic package is its `namespace`.
1657
- #
1658
2042
  # @option params [required, String] :package
1659
2043
  # The name of the package that contains the requested asset.
1660
2044
  #
@@ -1728,10 +2112,25 @@ module Aws::CodeArtifact
1728
2112
  #
1729
2113
  # @option params [String] :namespace
1730
2114
  # 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:
2115
+ # The package component that specifies its namespace depends on its
2116
+ # type. For example:
2117
+ #
2118
+ # <note markdown="1"> The namespace is required when requesting the readme from package
2119
+ # versions of the following formats:
2120
+ #
2121
+ # * Maven
2122
+ #
2123
+ # * Swift
2124
+ #
2125
+ # * generic
2126
+ #
2127
+ # </note>
2128
+ #
2129
+ # * The namespace of a Maven package version is its `groupId`.
2130
+ #
2131
+ # * The namespace of an npm or Swift package version is its `scope`.
1733
2132
  #
1734
- # * The namespace of an npm package version is its `scope`.
2133
+ # * The namespace of a generic package is its `namespace`.
1735
2134
  #
1736
2135
  # * Python and NuGet package versions do not contain a corresponding
1737
2136
  # component, package versions of those formats do not have a
@@ -1786,6 +2185,8 @@ module Aws::CodeArtifact
1786
2185
  # Returns the endpoint of a repository for a specific package format. A
1787
2186
  # repository has one endpoint for each package format:
1788
2187
  #
2188
+ # * `generic`
2189
+ #
1789
2190
  # * `maven`
1790
2191
  #
1791
2192
  # * `npm`
@@ -1794,6 +2195,8 @@ module Aws::CodeArtifact
1794
2195
  #
1795
2196
  # * `pypi`
1796
2197
  #
2198
+ # * `swift`
2199
+ #
1797
2200
  # @option params [required, String] :domain
1798
2201
  # The name of the domain that contains the repository.
1799
2202
  #
@@ -1876,13 +2279,30 @@ module Aws::CodeArtifact
1876
2279
  req.send_request(options)
1877
2280
  end
1878
2281
 
1879
- # Returns a list of [DomainSummary][1] objects for all domains owned by
1880
- # the Amazon Web Services account that makes this call. Each returned
1881
- # `DomainSummary` object contains information about a domain.
2282
+ # Lists the repositories in the added repositories list of the specified
2283
+ # restriction type for a package group. For more information about
2284
+ # restriction types and added repository lists, see [Package group
2285
+ # origin controls][1] in the *CodeArtifact User Guide*.
1882
2286
  #
1883
2287
  #
1884
2288
  #
1885
- # [1]: https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionDescription.html
2289
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/ug/package-group-origin-controls.html
2290
+ #
2291
+ # @option params [required, String] :domain
2292
+ # The name of the domain that contains the package group from which to
2293
+ # list allowed repositories.
2294
+ #
2295
+ # @option params [String] :domain_owner
2296
+ # The 12-digit account number of the Amazon Web Services account that
2297
+ # owns the domain. It does not include dashes or spaces.
2298
+ #
2299
+ # @option params [required, String] :package_group
2300
+ # The pattern of the package group from which to list allowed
2301
+ # repositories.
2302
+ #
2303
+ # @option params [required, String] :origin_restriction_type
2304
+ # The origin configuration restriction type of which to list allowed
2305
+ # repositories.
1886
2306
  #
1887
2307
  # @option params [Integer] :max_results
1888
2308
  # The maximum number of results to return per page.
@@ -1892,10 +2312,129 @@ module Aws::CodeArtifact
1892
2312
  # previous response in the next request to retrieve the next set of
1893
2313
  # results.
1894
2314
  #
1895
- # @return [Types::ListDomainsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2315
+ # @return [Types::ListAllowedRepositoriesForGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1896
2316
  #
1897
- # * {Types::ListDomainsResult#domains #domains} => Array&lt;Types::DomainSummary&gt;
1898
- # * {Types::ListDomainsResult#next_token #next_token} => String
2317
+ # * {Types::ListAllowedRepositoriesForGroupResult#allowed_repositories #allowed_repositories} => Array&lt;String&gt;
2318
+ # * {Types::ListAllowedRepositoriesForGroupResult#next_token #next_token} => String
2319
+ #
2320
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2321
+ #
2322
+ # @example Request syntax with placeholder values
2323
+ #
2324
+ # resp = client.list_allowed_repositories_for_group({
2325
+ # domain: "DomainName", # required
2326
+ # domain_owner: "AccountId",
2327
+ # package_group: "PackageGroupPattern", # required
2328
+ # origin_restriction_type: "EXTERNAL_UPSTREAM", # required, accepts EXTERNAL_UPSTREAM, INTERNAL_UPSTREAM, PUBLISH
2329
+ # max_results: 1,
2330
+ # next_token: "PaginationToken",
2331
+ # })
2332
+ #
2333
+ # @example Response structure
2334
+ #
2335
+ # resp.allowed_repositories #=> Array
2336
+ # resp.allowed_repositories[0] #=> String
2337
+ # resp.next_token #=> String
2338
+ #
2339
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListAllowedRepositoriesForGroup AWS API Documentation
2340
+ #
2341
+ # @overload list_allowed_repositories_for_group(params = {})
2342
+ # @param [Hash] params ({})
2343
+ def list_allowed_repositories_for_group(params = {}, options = {})
2344
+ req = build_request(:list_allowed_repositories_for_group, params)
2345
+ req.send_request(options)
2346
+ end
2347
+
2348
+ # Returns a list of packages associated with the requested package
2349
+ # group. For information package group association and matching, see
2350
+ # [Package group definition syntax and matching behavior][1] in the
2351
+ # *CodeArtifact User Guide*.
2352
+ #
2353
+ #
2354
+ #
2355
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/ug/package-group-definition-syntax-matching-behavior.html
2356
+ #
2357
+ # @option params [required, String] :domain
2358
+ # The name of the domain that contains the package group from which to
2359
+ # list associated packages.
2360
+ #
2361
+ # @option params [String] :domain_owner
2362
+ # The 12-digit account number of the Amazon Web Services account that
2363
+ # owns the domain. It does not include dashes or spaces.
2364
+ #
2365
+ # @option params [required, String] :package_group
2366
+ # The pattern of the package group from which to list associated
2367
+ # packages.
2368
+ #
2369
+ # @option params [Integer] :max_results
2370
+ # The maximum number of results to return per page.
2371
+ #
2372
+ # @option params [String] :next_token
2373
+ # The token for the next set of results. Use the value returned in the
2374
+ # previous response in the next request to retrieve the next set of
2375
+ # results.
2376
+ #
2377
+ # @option params [Boolean] :preview
2378
+ # When this flag is included, `ListAssociatedPackages` will return a
2379
+ # list of packages that would be associated with a package group, even
2380
+ # if it does not exist.
2381
+ #
2382
+ # @return [Types::ListAssociatedPackagesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2383
+ #
2384
+ # * {Types::ListAssociatedPackagesResult#packages #packages} => Array&lt;Types::AssociatedPackage&gt;
2385
+ # * {Types::ListAssociatedPackagesResult#next_token #next_token} => String
2386
+ #
2387
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2388
+ #
2389
+ # @example Request syntax with placeholder values
2390
+ #
2391
+ # resp = client.list_associated_packages({
2392
+ # domain: "DomainName", # required
2393
+ # domain_owner: "AccountId",
2394
+ # package_group: "PackageGroupPattern", # required
2395
+ # max_results: 1,
2396
+ # next_token: "PaginationToken",
2397
+ # preview: false,
2398
+ # })
2399
+ #
2400
+ # @example Response structure
2401
+ #
2402
+ # resp.packages #=> Array
2403
+ # resp.packages[0].format #=> String, one of "npm", "pypi", "maven", "nuget", "generic", "swift"
2404
+ # resp.packages[0].namespace #=> String
2405
+ # resp.packages[0].package #=> String
2406
+ # resp.packages[0].association_type #=> String, one of "STRONG", "WEAK"
2407
+ # resp.next_token #=> String
2408
+ #
2409
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListAssociatedPackages AWS API Documentation
2410
+ #
2411
+ # @overload list_associated_packages(params = {})
2412
+ # @param [Hash] params ({})
2413
+ def list_associated_packages(params = {}, options = {})
2414
+ req = build_request(:list_associated_packages, params)
2415
+ req.send_request(options)
2416
+ end
2417
+
2418
+ # Returns a list of [DomainSummary][1] objects for all domains owned by
2419
+ # the Amazon Web Services account that makes this call. Each returned
2420
+ # `DomainSummary` object contains information about a domain.
2421
+ #
2422
+ #
2423
+ #
2424
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionDescription.html
2425
+ #
2426
+ # @option params [Integer] :max_results
2427
+ # The maximum number of results to return per page.
2428
+ #
2429
+ # @option params [String] :next_token
2430
+ # The token for the next set of results. Use the value returned in the
2431
+ # previous response in the next request to retrieve the next set of
2432
+ # results.
2433
+ #
2434
+ # @return [Types::ListDomainsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2435
+ #
2436
+ # * {Types::ListDomainsResult#domains #domains} => Array&lt;Types::DomainSummary&gt;
2437
+ # * {Types::ListDomainsResult#next_token #next_token} => String
1899
2438
  #
1900
2439
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1901
2440
  #
@@ -1926,6 +2465,74 @@ module Aws::CodeArtifact
1926
2465
  req.send_request(options)
1927
2466
  end
1928
2467
 
2468
+ # Returns a list of package groups in the requested domain.
2469
+ #
2470
+ # @option params [required, String] :domain
2471
+ # The domain for which you want to list package groups.
2472
+ #
2473
+ # @option params [String] :domain_owner
2474
+ # The 12-digit account number of the Amazon Web Services account that
2475
+ # owns the domain. It does not include dashes or spaces.
2476
+ #
2477
+ # @option params [Integer] :max_results
2478
+ # The maximum number of results to return per page.
2479
+ #
2480
+ # @option params [String] :next_token
2481
+ # The token for the next set of results. Use the value returned in the
2482
+ # previous response in the next request to retrieve the next set of
2483
+ # results.
2484
+ #
2485
+ # @option params [String] :prefix
2486
+ # A prefix for which to search package groups. When included,
2487
+ # `ListPackageGroups` will return only package groups with patterns that
2488
+ # match the prefix.
2489
+ #
2490
+ # @return [Types::ListPackageGroupsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2491
+ #
2492
+ # * {Types::ListPackageGroupsResult#package_groups #package_groups} => Array&lt;Types::PackageGroupSummary&gt;
2493
+ # * {Types::ListPackageGroupsResult#next_token #next_token} => String
2494
+ #
2495
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2496
+ #
2497
+ # @example Request syntax with placeholder values
2498
+ #
2499
+ # resp = client.list_package_groups({
2500
+ # domain: "DomainName", # required
2501
+ # domain_owner: "AccountId",
2502
+ # max_results: 1,
2503
+ # next_token: "PaginationToken",
2504
+ # prefix: "PackageGroupPatternPrefix",
2505
+ # })
2506
+ #
2507
+ # @example Response structure
2508
+ #
2509
+ # resp.package_groups #=> Array
2510
+ # resp.package_groups[0].arn #=> String
2511
+ # resp.package_groups[0].pattern #=> String
2512
+ # resp.package_groups[0].domain_name #=> String
2513
+ # resp.package_groups[0].domain_owner #=> String
2514
+ # resp.package_groups[0].created_time #=> Time
2515
+ # resp.package_groups[0].contact_info #=> String
2516
+ # resp.package_groups[0].description #=> String
2517
+ # resp.package_groups[0].origin_configuration.restrictions #=> Hash
2518
+ # resp.package_groups[0].origin_configuration.restrictions["PackageGroupOriginRestrictionType"].mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
2519
+ # resp.package_groups[0].origin_configuration.restrictions["PackageGroupOriginRestrictionType"].effective_mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
2520
+ # resp.package_groups[0].origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.arn #=> String
2521
+ # resp.package_groups[0].origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.pattern #=> String
2522
+ # resp.package_groups[0].origin_configuration.restrictions["PackageGroupOriginRestrictionType"].repositories_count #=> Integer
2523
+ # resp.package_groups[0].parent.arn #=> String
2524
+ # resp.package_groups[0].parent.pattern #=> String
2525
+ # resp.next_token #=> String
2526
+ #
2527
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListPackageGroups AWS API Documentation
2528
+ #
2529
+ # @overload list_package_groups(params = {})
2530
+ # @param [Hash] params ({})
2531
+ def list_package_groups(params = {}, options = {})
2532
+ req = build_request(:list_package_groups, params)
2533
+ req.send_request(options)
2534
+ end
2535
+
1929
2536
  # Returns a list of [AssetSummary][1] objects for assets in a package
1930
2537
  # version.
1931
2538
  #
@@ -1951,19 +2558,30 @@ module Aws::CodeArtifact
1951
2558
  #
1952
2559
  # @option params [String] :namespace
1953
2560
  # 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:
2561
+ # package version assets. The package component that specifies its
2562
+ # namespace depends on its type. For example:
2563
+ #
2564
+ # <note markdown="1"> The namespace is required requesting assets from package versions of
2565
+ # the following formats:
2566
+ #
2567
+ # * Maven
2568
+ #
2569
+ # * Swift
2570
+ #
2571
+ # * generic
2572
+ #
2573
+ # </note>
1956
2574
  #
1957
2575
  # * The namespace of a Maven package version is its `groupId`.
1958
2576
  #
1959
- # * The namespace of an npm package version is its `scope`.
2577
+ # * The namespace of an npm or Swift package version is its `scope`.
2578
+ #
2579
+ # * The namespace of a generic package is its `namespace`.
1960
2580
  #
1961
2581
  # * Python and NuGet package versions do not contain a corresponding
1962
2582
  # component, package versions of those formats do not have a
1963
2583
  # namespace.
1964
2584
  #
1965
- # * The namespace of a generic package is its `namespace`.
1966
- #
1967
2585
  # @option params [required, String] :package
1968
2586
  # The name of the package that contains the requested package version
1969
2587
  # assets.
@@ -2057,19 +2675,30 @@ module Aws::CodeArtifact
2057
2675
  #
2058
2676
  # @option params [String] :namespace
2059
2677
  # 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:
2678
+ # The package component that specifies its namespace depends on its
2679
+ # type. For example:
2680
+ #
2681
+ # <note markdown="1"> The namespace is required when listing dependencies from package
2682
+ # versions of the following formats:
2683
+ #
2684
+ # * Maven
2685
+ #
2686
+ # * Swift
2687
+ #
2688
+ # * generic
2689
+ #
2690
+ # </note>
2062
2691
  #
2063
2692
  # * The namespace of a Maven package version is its `groupId`.
2064
2693
  #
2065
- # * The namespace of an npm package version is its `scope`.
2694
+ # * The namespace of an npm or Swift package version is its `scope`.
2695
+ #
2696
+ # * The namespace of a generic package is its `namespace`.
2066
2697
  #
2067
2698
  # * Python and NuGet package versions do not contain a corresponding
2068
2699
  # component, package versions of those formats do not have a
2069
2700
  # namespace.
2070
2701
  #
2071
- # * The namespace of a generic package is its `namespace`.
2072
- #
2073
2702
  # @option params [required, String] :package
2074
2703
  # The name of the package versions' package.
2075
2704
  #
@@ -2156,15 +2785,27 @@ module Aws::CodeArtifact
2156
2785
  # versions. The package component that specifies its namespace depends
2157
2786
  # on its type. For example:
2158
2787
  #
2159
- # * The namespace of a Maven package is its `groupId`.
2788
+ # <note markdown="1"> The namespace is required when deleting package versions of the
2789
+ # following formats:
2790
+ #
2791
+ # * Maven
2160
2792
  #
2161
- # * The namespace of an npm package is its `scope`.
2793
+ # * Swift
2162
2794
  #
2163
- # * Python and NuGet packages do not contain a corresponding component,
2164
- # packages of those formats do not have a namespace.
2795
+ # * generic
2796
+ #
2797
+ # </note>
2798
+ #
2799
+ # * The namespace of a Maven package version is its `groupId`.
2800
+ #
2801
+ # * The namespace of an npm or Swift package version is its `scope`.
2165
2802
  #
2166
2803
  # * The namespace of a generic package is its `namespace`.
2167
2804
  #
2805
+ # * Python and NuGet package versions do not contain a corresponding
2806
+ # component, package versions of those formats do not have a
2807
+ # namespace.
2808
+ #
2168
2809
  # @option params [required, String] :package
2169
2810
  # The name of the package for which you want to request package
2170
2811
  # versions.
@@ -2268,15 +2909,16 @@ module Aws::CodeArtifact
2268
2909
  #
2269
2910
  # Each package format uses namespace as follows:
2270
2911
  #
2271
- # * The namespace of a Maven package is its `groupId`.
2272
- #
2273
- # * The namespace of an npm package is its `scope`.
2912
+ # * The namespace of a Maven package version is its `groupId`.
2274
2913
  #
2275
- # * Python and NuGet packages do not contain a corresponding component,
2276
- # packages of those formats do not have a namespace.
2914
+ # * The namespace of an npm or Swift package version is its `scope`.
2277
2915
  #
2278
2916
  # * The namespace of a generic package is its `namespace`.
2279
2917
  #
2918
+ # * Python and NuGet package versions do not contain a corresponding
2919
+ # component, package versions of those formats do not have a
2920
+ # namespace.
2921
+ #
2280
2922
  # @option params [String] :package_prefix
2281
2923
  # A prefix used to filter requested packages. Only packages with names
2282
2924
  # that start with `packagePrefix` are returned.
@@ -2478,6 +3120,81 @@ module Aws::CodeArtifact
2478
3120
  req.send_request(options)
2479
3121
  end
2480
3122
 
3123
+ # Returns a list of direct children of the specified package group.
3124
+ #
3125
+ # For information package group hierarchy, see [Package group definition
3126
+ # syntax and matching behavior][1] in the *CodeArtifact User Guide*.
3127
+ #
3128
+ #
3129
+ #
3130
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/ug/package-group-definition-syntax-matching-behavior.html
3131
+ #
3132
+ # @option params [required, String] :domain
3133
+ # The name of the domain which contains the package group from which to
3134
+ # list sub package groups.
3135
+ #
3136
+ # @option params [String] :domain_owner
3137
+ # The 12-digit account number of the Amazon Web Services account that
3138
+ # owns the domain. It does not include dashes or spaces.
3139
+ #
3140
+ # @option params [required, String] :package_group
3141
+ # The pattern of the package group from which to list sub package
3142
+ # groups.
3143
+ #
3144
+ # @option params [Integer] :max_results
3145
+ # The maximum number of results to return per page.
3146
+ #
3147
+ # @option params [String] :next_token
3148
+ # The token for the next set of results. Use the value returned in the
3149
+ # previous response in the next request to retrieve the next set of
3150
+ # results.
3151
+ #
3152
+ # @return [Types::ListSubPackageGroupsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3153
+ #
3154
+ # * {Types::ListSubPackageGroupsResult#package_groups #package_groups} => Array&lt;Types::PackageGroupSummary&gt;
3155
+ # * {Types::ListSubPackageGroupsResult#next_token #next_token} => String
3156
+ #
3157
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3158
+ #
3159
+ # @example Request syntax with placeholder values
3160
+ #
3161
+ # resp = client.list_sub_package_groups({
3162
+ # domain: "DomainName", # required
3163
+ # domain_owner: "AccountId",
3164
+ # package_group: "PackageGroupPattern", # required
3165
+ # max_results: 1,
3166
+ # next_token: "PaginationToken",
3167
+ # })
3168
+ #
3169
+ # @example Response structure
3170
+ #
3171
+ # resp.package_groups #=> Array
3172
+ # resp.package_groups[0].arn #=> String
3173
+ # resp.package_groups[0].pattern #=> String
3174
+ # resp.package_groups[0].domain_name #=> String
3175
+ # resp.package_groups[0].domain_owner #=> String
3176
+ # resp.package_groups[0].created_time #=> Time
3177
+ # resp.package_groups[0].contact_info #=> String
3178
+ # resp.package_groups[0].description #=> String
3179
+ # resp.package_groups[0].origin_configuration.restrictions #=> Hash
3180
+ # resp.package_groups[0].origin_configuration.restrictions["PackageGroupOriginRestrictionType"].mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
3181
+ # resp.package_groups[0].origin_configuration.restrictions["PackageGroupOriginRestrictionType"].effective_mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
3182
+ # resp.package_groups[0].origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.arn #=> String
3183
+ # resp.package_groups[0].origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.pattern #=> String
3184
+ # resp.package_groups[0].origin_configuration.restrictions["PackageGroupOriginRestrictionType"].repositories_count #=> Integer
3185
+ # resp.package_groups[0].parent.arn #=> String
3186
+ # resp.package_groups[0].parent.pattern #=> String
3187
+ # resp.next_token #=> String
3188
+ #
3189
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListSubPackageGroups AWS API Documentation
3190
+ #
3191
+ # @overload list_sub_package_groups(params = {})
3192
+ # @param [Hash] params ({})
3193
+ def list_sub_package_groups(params = {}, options = {})
3194
+ req = build_request(:list_sub_package_groups, params)
3195
+ req.send_request(options)
3196
+ end
3197
+
2481
3198
  # Gets information about Amazon Web Services tags for a specified Amazon
2482
3199
  # Resource Name (ARN) in CodeArtifact.
2483
3200
  #
@@ -2731,15 +3448,16 @@ module Aws::CodeArtifact
2731
3448
  # The namespace of the package to be updated. The package component that
2732
3449
  # specifies its namespace depends on its type. For example:
2733
3450
  #
2734
- # * The namespace of a Maven package is its `groupId`.
2735
- #
2736
- # * The namespace of an npm package is its `scope`.
3451
+ # * The namespace of a Maven package version is its `groupId`.
2737
3452
  #
2738
- # * Python and NuGet packages do not contain a corresponding component,
2739
- # packages of those formats do not have a namespace.
3453
+ # * The namespace of an npm or Swift package version is its `scope`.
2740
3454
  #
2741
3455
  # * The namespace of a generic package is its `namespace`.
2742
3456
  #
3457
+ # * Python and NuGet package versions do not contain a corresponding
3458
+ # component, package versions of those formats do not have a
3459
+ # namespace.
3460
+ #
2743
3461
  # @option params [required, String] :package
2744
3462
  # The name of the package to be updated.
2745
3463
  #
@@ -2909,6 +3627,169 @@ module Aws::CodeArtifact
2909
3627
  req.send_request(options)
2910
3628
  end
2911
3629
 
3630
+ # Updates a package group. This API cannot be used to update a package
3631
+ # group's origin configuration or pattern. To update a package group's
3632
+ # origin configuration, use [UpdatePackageGroupOriginConfiguration][1].
3633
+ #
3634
+ #
3635
+ #
3636
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_UpdatePackageGroupOriginConfiguration.html
3637
+ #
3638
+ # @option params [required, String] :domain
3639
+ # The name of the domain which contains the package group to be updated.
3640
+ #
3641
+ # @option params [String] :domain_owner
3642
+ # The 12-digit account number of the Amazon Web Services account that
3643
+ # owns the domain. It does not include dashes or spaces.
3644
+ #
3645
+ # @option params [required, String] :package_group
3646
+ # The pattern of the package group to be updated.
3647
+ #
3648
+ # @option params [String] :contact_info
3649
+ # Contact information which you want to update the requested package
3650
+ # group with.
3651
+ #
3652
+ # @option params [String] :description
3653
+ # The description you want to update the requested package group with.
3654
+ #
3655
+ # @return [Types::UpdatePackageGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3656
+ #
3657
+ # * {Types::UpdatePackageGroupResult#package_group #package_group} => Types::PackageGroupDescription
3658
+ #
3659
+ # @example Request syntax with placeholder values
3660
+ #
3661
+ # resp = client.update_package_group({
3662
+ # domain: "DomainName", # required
3663
+ # domain_owner: "AccountId",
3664
+ # package_group: "PackageGroupPattern", # required
3665
+ # contact_info: "PackageGroupContactInfo",
3666
+ # description: "Description",
3667
+ # })
3668
+ #
3669
+ # @example Response structure
3670
+ #
3671
+ # resp.package_group.arn #=> String
3672
+ # resp.package_group.pattern #=> String
3673
+ # resp.package_group.domain_name #=> String
3674
+ # resp.package_group.domain_owner #=> String
3675
+ # resp.package_group.created_time #=> Time
3676
+ # resp.package_group.contact_info #=> String
3677
+ # resp.package_group.description #=> String
3678
+ # resp.package_group.origin_configuration.restrictions #=> Hash
3679
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
3680
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].effective_mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
3681
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.arn #=> String
3682
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.pattern #=> String
3683
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].repositories_count #=> Integer
3684
+ # resp.package_group.parent.arn #=> String
3685
+ # resp.package_group.parent.pattern #=> String
3686
+ #
3687
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/UpdatePackageGroup AWS API Documentation
3688
+ #
3689
+ # @overload update_package_group(params = {})
3690
+ # @param [Hash] params ({})
3691
+ def update_package_group(params = {}, options = {})
3692
+ req = build_request(:update_package_group, params)
3693
+ req.send_request(options)
3694
+ end
3695
+
3696
+ # Updates the package origin configuration for a package group.
3697
+ #
3698
+ # The package origin configuration determines how new versions of a
3699
+ # package can be added to a repository. You can allow or block direct
3700
+ # publishing of new package versions, or ingestion and retaining of new
3701
+ # package versions from an external connection or upstream source. For
3702
+ # more information about package group origin controls and
3703
+ # configuration, see [Package group origin controls][1] in the
3704
+ # *CodeArtifact User Guide*.
3705
+ #
3706
+ #
3707
+ #
3708
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/ug/package-group-origin-controls.html
3709
+ #
3710
+ # @option params [required, String] :domain
3711
+ # The name of the domain which contains the package group for which to
3712
+ # update the origin configuration.
3713
+ #
3714
+ # @option params [String] :domain_owner
3715
+ # The 12-digit account number of the Amazon Web Services account that
3716
+ # owns the domain. It does not include dashes or spaces.
3717
+ #
3718
+ # @option params [required, String] :package_group
3719
+ # The pattern of the package group for which to update the origin
3720
+ # configuration.
3721
+ #
3722
+ # @option params [Hash<String,String>] :restrictions
3723
+ # The origin configuration settings that determine how package versions
3724
+ # can enter repositories.
3725
+ #
3726
+ # @option params [Array<Types::PackageGroupAllowedRepository>] :add_allowed_repositories
3727
+ # The repository name and restrictions to add to the allowed repository
3728
+ # list of the specified package group.
3729
+ #
3730
+ # @option params [Array<Types::PackageGroupAllowedRepository>] :remove_allowed_repositories
3731
+ # The repository name and restrictions to remove from the allowed
3732
+ # repository list of the specified package group.
3733
+ #
3734
+ # @return [Types::UpdatePackageGroupOriginConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3735
+ #
3736
+ # * {Types::UpdatePackageGroupOriginConfigurationResult#package_group #package_group} => Types::PackageGroupDescription
3737
+ # * {Types::UpdatePackageGroupOriginConfigurationResult#allowed_repository_updates #allowed_repository_updates} => Hash&lt;String,Hash&lt;String,Array&lt;String&gt;&gt;&gt;
3738
+ #
3739
+ # @example Request syntax with placeholder values
3740
+ #
3741
+ # resp = client.update_package_group_origin_configuration({
3742
+ # domain: "DomainName", # required
3743
+ # domain_owner: "AccountId",
3744
+ # package_group: "PackageGroupPattern", # required
3745
+ # restrictions: {
3746
+ # "EXTERNAL_UPSTREAM" => "ALLOW", # accepts ALLOW, ALLOW_SPECIFIC_REPOSITORIES, BLOCK, INHERIT
3747
+ # },
3748
+ # add_allowed_repositories: [
3749
+ # {
3750
+ # repository_name: "RepositoryName",
3751
+ # origin_restriction_type: "EXTERNAL_UPSTREAM", # accepts EXTERNAL_UPSTREAM, INTERNAL_UPSTREAM, PUBLISH
3752
+ # },
3753
+ # ],
3754
+ # remove_allowed_repositories: [
3755
+ # {
3756
+ # repository_name: "RepositoryName",
3757
+ # origin_restriction_type: "EXTERNAL_UPSTREAM", # accepts EXTERNAL_UPSTREAM, INTERNAL_UPSTREAM, PUBLISH
3758
+ # },
3759
+ # ],
3760
+ # })
3761
+ #
3762
+ # @example Response structure
3763
+ #
3764
+ # resp.package_group.arn #=> String
3765
+ # resp.package_group.pattern #=> String
3766
+ # resp.package_group.domain_name #=> String
3767
+ # resp.package_group.domain_owner #=> String
3768
+ # resp.package_group.created_time #=> Time
3769
+ # resp.package_group.contact_info #=> String
3770
+ # resp.package_group.description #=> String
3771
+ # resp.package_group.origin_configuration.restrictions #=> Hash
3772
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
3773
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].effective_mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
3774
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.arn #=> String
3775
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.pattern #=> String
3776
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].repositories_count #=> Integer
3777
+ # resp.package_group.parent.arn #=> String
3778
+ # resp.package_group.parent.pattern #=> String
3779
+ # resp.allowed_repository_updates #=> Hash
3780
+ # resp.allowed_repository_updates["PackageGroupOriginRestrictionType"] #=> Hash
3781
+ # resp.allowed_repository_updates["PackageGroupOriginRestrictionType"]["PackageGroupAllowedRepositoryUpdateType"] #=> Array
3782
+ # resp.allowed_repository_updates["PackageGroupOriginRestrictionType"]["PackageGroupAllowedRepositoryUpdateType"][0] #=> String
3783
+ #
3784
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/UpdatePackageGroupOriginConfiguration AWS API Documentation
3785
+ #
3786
+ # @overload update_package_group_origin_configuration(params = {})
3787
+ # @param [Hash] params ({})
3788
+ def update_package_group_origin_configuration(params = {}, options = {})
3789
+ req = build_request(:update_package_group_origin_configuration, params)
3790
+ req.send_request(options)
3791
+ end
3792
+
2912
3793
  # Updates the status of one or more versions of a package. Using
2913
3794
  # `UpdatePackageVersionsStatus`, you can update the status of package
2914
3795
  # versions to `Archived`, `Published`, or `Unlisted`. To set the status
@@ -2936,19 +3817,19 @@ module Aws::CodeArtifact
2936
3817
  #
2937
3818
  # @option params [String] :namespace
2938
3819
  # 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:
3820
+ # component that specifies its namespace depends on its type. For
3821
+ # example:
2941
3822
  #
2942
3823
  # * The namespace of a Maven package version is its `groupId`.
2943
3824
  #
2944
- # * The namespace of an npm package version is its `scope`.
3825
+ # * The namespace of an npm or Swift package version is its `scope`.
3826
+ #
3827
+ # * The namespace of a generic package is its `namespace`.
2945
3828
  #
2946
3829
  # * Python and NuGet package versions do not contain a corresponding
2947
3830
  # component, package versions of those formats do not have a
2948
3831
  # namespace.
2949
3832
  #
2950
- # * The namespace of a generic package is its `namespace`.
2951
- #
2952
3833
  # @option params [required, String] :package
2953
3834
  # The name of the package with the version statuses to update.
2954
3835
  #
@@ -3092,7 +3973,7 @@ module Aws::CodeArtifact
3092
3973
  params: params,
3093
3974
  config: config)
3094
3975
  context[:gem_name] = 'aws-sdk-codeartifact'
3095
- context[:gem_version] = '1.38.0'
3976
+ context[:gem_version] = '1.40.0'
3096
3977
  Seahorse::Client::Request.new(handlers, context)
3097
3978
  end
3098
3979