aws-sdk-codeartifact 1.38.0 → 1.40.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.
@@ -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