aws-sdk-codeartifact 1.38.0 → 1.39.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -492,20 +492,30 @@ module Aws::CodeArtifact
492
492
  #
493
493
  # @option params [String] :namespace
494
494
  # The namespace of the package versions to be copied. The package
495
- # version component that specifies its namespace depends on its type.
496
- # For example:
495
+ # component that specifies its namespace depends on its type. For
496
+ # example:
497
+ #
498
+ # <note markdown="1"> The namespace is required when copying package versions of the
499
+ # following formats:
500
+ #
501
+ # * Maven
502
+ #
503
+ # * Swift
504
+ #
505
+ # * generic
506
+ #
507
+ # </note>
497
508
  #
498
- # * The namespace of a Maven package version is its `groupId`. The
499
- # namespace is required when copying Maven package versions.
509
+ # * The namespace of a Maven package version is its `groupId`.
510
+ #
511
+ # * The namespace of an npm or Swift package version is its `scope`.
500
512
  #
501
- # * The namespace of an npm package version is its `scope`.
513
+ # * The namespace of a generic package is its `namespace`.
502
514
  #
503
515
  # * Python and NuGet package versions do not contain a corresponding
504
516
  # component, package versions of those formats do not have a
505
517
  # namespace.
506
518
  #
507
- # * The namespace of a generic package is its `namespace`.
508
- #
509
519
  # @option params [required, String] :package
510
520
  # The name of the package that contains the versions to be copied.
511
521
  #
@@ -667,6 +677,81 @@ module Aws::CodeArtifact
667
677
  req.send_request(options)
668
678
  end
669
679
 
680
+ # Creates a package group. For more information about creating package
681
+ # groups, including example CLI commands, see [Create a package
682
+ # group][1] in the *CodeArtifact User Guide*.
683
+ #
684
+ #
685
+ #
686
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/ug/create-package-group.html
687
+ #
688
+ # @option params [required, String] :domain
689
+ # The name of the domain in which you want to create a package group.
690
+ #
691
+ # @option params [String] :domain_owner
692
+ # The 12-digit account number of the Amazon Web Services account that
693
+ # owns the domain. It does not include dashes or spaces.
694
+ #
695
+ # @option params [required, String] :package_group
696
+ # The pattern of the package group to create. The pattern is also the
697
+ # identifier of the package group.
698
+ #
699
+ # @option params [String] :contact_info
700
+ # The contact information for the created package group.
701
+ #
702
+ # @option params [String] :description
703
+ # A description of the package group.
704
+ #
705
+ # @option params [Array<Types::Tag>] :tags
706
+ # One or more tag key-value pairs for the package group.
707
+ #
708
+ # @return [Types::CreatePackageGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
709
+ #
710
+ # * {Types::CreatePackageGroupResult#package_group #package_group} => Types::PackageGroupDescription
711
+ #
712
+ # @example Request syntax with placeholder values
713
+ #
714
+ # resp = client.create_package_group({
715
+ # domain: "DomainName", # required
716
+ # domain_owner: "AccountId",
717
+ # package_group: "PackageGroupPattern", # required
718
+ # contact_info: "PackageGroupContactInfo",
719
+ # description: "Description",
720
+ # tags: [
721
+ # {
722
+ # key: "TagKey", # required
723
+ # value: "TagValue", # required
724
+ # },
725
+ # ],
726
+ # })
727
+ #
728
+ # @example Response structure
729
+ #
730
+ # resp.package_group.arn #=> String
731
+ # resp.package_group.pattern #=> String
732
+ # resp.package_group.domain_name #=> String
733
+ # resp.package_group.domain_owner #=> String
734
+ # resp.package_group.created_time #=> Time
735
+ # resp.package_group.contact_info #=> String
736
+ # resp.package_group.description #=> String
737
+ # resp.package_group.origin_configuration.restrictions #=> Hash
738
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
739
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].effective_mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
740
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.arn #=> String
741
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.pattern #=> String
742
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].repositories_count #=> Integer
743
+ # resp.package_group.parent.arn #=> String
744
+ # resp.package_group.parent.pattern #=> String
745
+ #
746
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/CreatePackageGroup AWS API Documentation
747
+ #
748
+ # @overload create_package_group(params = {})
749
+ # @param [Hash] params ({})
750
+ def create_package_group(params = {}, options = {})
751
+ req = build_request(:create_package_group, params)
752
+ req.send_request(options)
753
+ end
754
+
670
755
  # Creates a repository.
671
756
  #
672
757
  # @option params [required, String] :domain
@@ -855,16 +940,27 @@ module Aws::CodeArtifact
855
940
  # The namespace of the package to delete. The package component that
856
941
  # specifies its namespace depends on its type. For example:
857
942
  #
858
- # * The namespace of a Maven package is its `groupId`. The namespace is
859
- # required when deleting Maven package versions.
943
+ # <note markdown="1"> The namespace is required when deleting packages of the following
944
+ # formats:
945
+ #
946
+ # * Maven
947
+ #
948
+ # * Swift
860
949
  #
861
- # * The namespace of an npm package is its `scope`.
950
+ # * generic
951
+ #
952
+ # </note>
953
+ #
954
+ # * The namespace of a Maven package version is its `groupId`.
862
955
  #
863
- # * Python and NuGet packages do not contain corresponding components,
864
- # packages of those formats do not have a namespace.
956
+ # * The namespace of an npm or Swift package version is its `scope`.
865
957
  #
866
958
  # * The namespace of a generic package is its `namespace`.
867
959
  #
960
+ # * Python and NuGet package versions do not contain a corresponding
961
+ # component, package versions of those formats do not have a
962
+ # namespace.
963
+ #
868
964
  # @option params [required, String] :package
869
965
  # The name of the package to delete.
870
966
  #
@@ -900,6 +996,62 @@ module Aws::CodeArtifact
900
996
  req.send_request(options)
901
997
  end
902
998
 
999
+ # Deletes a package group. Deleting a package group does not delete
1000
+ # packages or package versions associated with the package group. When a
1001
+ # package group is deleted, the direct child package groups will become
1002
+ # children of the package group's direct parent package group.
1003
+ # Therefore, if any of the child groups are inheriting any settings from
1004
+ # the parent, those settings could change.
1005
+ #
1006
+ # @option params [required, String] :domain
1007
+ # The domain that contains the package group to be deleted.
1008
+ #
1009
+ # @option params [String] :domain_owner
1010
+ # The 12-digit account number of the Amazon Web Services account that
1011
+ # owns the domain. It does not include dashes or spaces.
1012
+ #
1013
+ # @option params [required, String] :package_group
1014
+ # The pattern of the package group to be deleted.
1015
+ #
1016
+ # @return [Types::DeletePackageGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1017
+ #
1018
+ # * {Types::DeletePackageGroupResult#package_group #package_group} => Types::PackageGroupDescription
1019
+ #
1020
+ # @example Request syntax with placeholder values
1021
+ #
1022
+ # resp = client.delete_package_group({
1023
+ # domain: "DomainName", # required
1024
+ # domain_owner: "AccountId",
1025
+ # package_group: "String", # required
1026
+ # })
1027
+ #
1028
+ # @example Response structure
1029
+ #
1030
+ # resp.package_group.arn #=> String
1031
+ # resp.package_group.pattern #=> String
1032
+ # resp.package_group.domain_name #=> String
1033
+ # resp.package_group.domain_owner #=> String
1034
+ # resp.package_group.created_time #=> Time
1035
+ # resp.package_group.contact_info #=> String
1036
+ # resp.package_group.description #=> String
1037
+ # resp.package_group.origin_configuration.restrictions #=> Hash
1038
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
1039
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].effective_mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
1040
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.arn #=> String
1041
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.pattern #=> String
1042
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].repositories_count #=> Integer
1043
+ # resp.package_group.parent.arn #=> String
1044
+ # resp.package_group.parent.pattern #=> String
1045
+ #
1046
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DeletePackageGroup AWS API Documentation
1047
+ #
1048
+ # @overload delete_package_group(params = {})
1049
+ # @param [Hash] params ({})
1050
+ def delete_package_group(params = {}, options = {})
1051
+ req = build_request(:delete_package_group, params)
1052
+ req.send_request(options)
1053
+ end
1054
+
903
1055
  # Deletes one or more versions of a package. A deleted package version
904
1056
  # cannot be restored in your repository. If you want to remove a package
905
1057
  # version from your repository and be able to restore it later, set its
@@ -929,20 +1081,30 @@ module Aws::CodeArtifact
929
1081
  #
930
1082
  # @option params [String] :namespace
931
1083
  # 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:
1084
+ # component that specifies its namespace depends on its type. For
1085
+ # example:
1086
+ #
1087
+ # <note markdown="1"> The namespace is required when deleting package versions of the
1088
+ # following formats:
1089
+ #
1090
+ # * Maven
1091
+ #
1092
+ # * Swift
1093
+ #
1094
+ # * generic
934
1095
  #
935
- # * The namespace of a Maven package version is its `groupId`. The
936
- # namespace is required when deleting Maven package versions.
1096
+ # </note>
1097
+ #
1098
+ # * The namespace of a Maven package version is its `groupId`.
1099
+ #
1100
+ # * The namespace of an npm or Swift package version is its `scope`.
937
1101
  #
938
- # * The namespace of an npm package version is its `scope`.
1102
+ # * The namespace of a generic package is its `namespace`.
939
1103
  #
940
1104
  # * Python and NuGet package versions do not contain a corresponding
941
1105
  # component, package versions of those formats do not have a
942
1106
  # namespace.
943
1107
  #
944
- # * The namespace of a generic package is its `namespace`.
945
- #
946
1108
  # @option params [required, String] :package
947
1109
  # The name of the package with the versions to delete.
948
1110
  #
@@ -1165,16 +1327,27 @@ module Aws::CodeArtifact
1165
1327
  # The namespace of the requested package. The package component that
1166
1328
  # specifies its namespace depends on its type. For example:
1167
1329
  #
1168
- # * The namespace of a Maven package is its `groupId`. The namespace is
1169
- # required when requesting Maven packages.
1330
+ # <note markdown="1"> The namespace is required when requesting packages of the following
1331
+ # formats:
1332
+ #
1333
+ # * Maven
1170
1334
  #
1171
- # * The namespace of an npm package is its `scope`.
1335
+ # * Swift
1172
1336
  #
1173
- # * Python and NuGet packages do not contain a corresponding component,
1174
- # packages of those formats do not have a namespace.
1337
+ # * generic
1338
+ #
1339
+ # </note>
1340
+ #
1341
+ # * The namespace of a Maven package version is its `groupId`.
1342
+ #
1343
+ # * The namespace of an npm or Swift package version is its `scope`.
1175
1344
  #
1176
1345
  # * The namespace of a generic package is its `namespace`.
1177
1346
  #
1347
+ # * Python and NuGet package versions do not contain a corresponding
1348
+ # component, package versions of those formats do not have a
1349
+ # namespace.
1350
+ #
1178
1351
  # @option params [required, String] :package
1179
1352
  # The name of the requested package.
1180
1353
  #
@@ -1210,6 +1383,62 @@ module Aws::CodeArtifact
1210
1383
  req.send_request(options)
1211
1384
  end
1212
1385
 
1386
+ # Returns a [PackageGroupDescription][1] object that contains
1387
+ # information about the requested package group.
1388
+ #
1389
+ #
1390
+ #
1391
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageGroupDescription.html
1392
+ #
1393
+ # @option params [required, String] :domain
1394
+ # The name of the domain that contains the package group.
1395
+ #
1396
+ # @option params [String] :domain_owner
1397
+ # The 12-digit account number of the Amazon Web Services account that
1398
+ # owns the domain. It does not include dashes or spaces.
1399
+ #
1400
+ # @option params [required, String] :package_group
1401
+ # The pattern of the requested package group.
1402
+ #
1403
+ # @return [Types::DescribePackageGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1404
+ #
1405
+ # * {Types::DescribePackageGroupResult#package_group #package_group} => Types::PackageGroupDescription
1406
+ #
1407
+ # @example Request syntax with placeholder values
1408
+ #
1409
+ # resp = client.describe_package_group({
1410
+ # domain: "DomainName", # required
1411
+ # domain_owner: "AccountId",
1412
+ # package_group: "PackageGroupPattern", # required
1413
+ # })
1414
+ #
1415
+ # @example Response structure
1416
+ #
1417
+ # resp.package_group.arn #=> String
1418
+ # resp.package_group.pattern #=> String
1419
+ # resp.package_group.domain_name #=> String
1420
+ # resp.package_group.domain_owner #=> String
1421
+ # resp.package_group.created_time #=> Time
1422
+ # resp.package_group.contact_info #=> String
1423
+ # resp.package_group.description #=> String
1424
+ # resp.package_group.origin_configuration.restrictions #=> Hash
1425
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
1426
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].effective_mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
1427
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.arn #=> String
1428
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.pattern #=> String
1429
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].repositories_count #=> Integer
1430
+ # resp.package_group.parent.arn #=> String
1431
+ # resp.package_group.parent.pattern #=> String
1432
+ #
1433
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DescribePackageGroup AWS API Documentation
1434
+ #
1435
+ # @overload describe_package_group(params = {})
1436
+ # @param [Hash] params ({})
1437
+ def describe_package_group(params = {}, options = {})
1438
+ req = build_request(:describe_package_group, params)
1439
+ req.send_request(options)
1440
+ end
1441
+
1213
1442
  # Returns a [PackageVersionDescription][1] object that contains
1214
1443
  # information about the requested package version.
1215
1444
  #
@@ -1232,20 +1461,30 @@ module Aws::CodeArtifact
1232
1461
  # A format that specifies the type of the requested package version.
1233
1462
  #
1234
1463
  # @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:
1464
+ # The namespace of the requested package version. The package component
1465
+ # that specifies its namespace depends on its type. For example:
1466
+ #
1467
+ # <note markdown="1"> The namespace is required when requesting package versions of the
1468
+ # following formats:
1469
+ #
1470
+ # * Maven
1471
+ #
1472
+ # * Swift
1473
+ #
1474
+ # * generic
1475
+ #
1476
+ # </note>
1238
1477
  #
1239
1478
  # * The namespace of a Maven package version is its `groupId`.
1240
1479
  #
1241
- # * The namespace of an npm package version is its `scope`.
1480
+ # * The namespace of an npm or Swift package version is its `scope`.
1481
+ #
1482
+ # * The namespace of a generic package is its `namespace`.
1242
1483
  #
1243
1484
  # * Python and NuGet package versions do not contain a corresponding
1244
1485
  # component, package versions of those formats do not have a
1245
1486
  # namespace.
1246
1487
  #
1247
- # * The namespace of a generic package is its `namespace`.
1248
- #
1249
1488
  # @option params [required, String] :package
1250
1489
  # The name of the requested package version.
1251
1490
  #
@@ -1437,19 +1676,30 @@ module Aws::CodeArtifact
1437
1676
  #
1438
1677
  # @option params [String] :namespace
1439
1678
  # 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:
1679
+ # component that specifies its namespace depends on its type. For
1680
+ # example:
1681
+ #
1682
+ # <note markdown="1"> The namespace is required when disposing package versions of the
1683
+ # following formats:
1684
+ #
1685
+ # * Maven
1686
+ #
1687
+ # * Swift
1688
+ #
1689
+ # * generic
1690
+ #
1691
+ # </note>
1442
1692
  #
1443
1693
  # * The namespace of a Maven package version is its `groupId`.
1444
1694
  #
1445
- # * The namespace of an npm package version is its `scope`.
1695
+ # * The namespace of an npm or Swift package version is its `scope`.
1696
+ #
1697
+ # * The namespace of a generic package is its `namespace`.
1446
1698
  #
1447
1699
  # * Python and NuGet package versions do not contain a corresponding
1448
1700
  # component, package versions of those formats do not have a
1449
1701
  # namespace.
1450
1702
  #
1451
- # * The namespace of a generic package is its `namespace`.
1452
- #
1453
1703
  # @option params [required, String] :package
1454
1704
  # The name of the package with the versions you want to dispose.
1455
1705
  #
@@ -1501,6 +1751,105 @@ module Aws::CodeArtifact
1501
1751
  req.send_request(options)
1502
1752
  end
1503
1753
 
1754
+ # Returns the most closely associated package group to the specified
1755
+ # package. This API does not require that the package exist in any
1756
+ # repository in the domain. As such, `GetAssociatedPackageGroup` can be
1757
+ # used to see which package group's origin configuration applies to a
1758
+ # package before that package is in a repository. This can be helpful to
1759
+ # check if public packages are blocked without ingesting them.
1760
+ #
1761
+ # For information package group association and matching, see [Package
1762
+ # group definition syntax and matching behavior][1] in the *CodeArtifact
1763
+ # User Guide*.
1764
+ #
1765
+ #
1766
+ #
1767
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/ug/package-group-definition-syntax-matching-behavior.html
1768
+ #
1769
+ # @option params [required, String] :domain
1770
+ # The name of the domain that contains the package from which to get the
1771
+ # associated package group.
1772
+ #
1773
+ # @option params [String] :domain_owner
1774
+ # The 12-digit account number of the Amazon Web Services account that
1775
+ # owns the domain. It does not include dashes or spaces.
1776
+ #
1777
+ # @option params [required, String] :format
1778
+ # The format of the package from which to get the associated package
1779
+ # group.
1780
+ #
1781
+ # @option params [String] :namespace
1782
+ # The namespace of the package from which to get the associated package
1783
+ # group. The package component that specifies its namespace depends on
1784
+ # its type. For example:
1785
+ #
1786
+ # <note markdown="1"> The namespace is required when getting associated package groups from
1787
+ # packages of the following formats:
1788
+ #
1789
+ # * Maven
1790
+ #
1791
+ # * Swift
1792
+ #
1793
+ # * generic
1794
+ #
1795
+ # </note>
1796
+ #
1797
+ # * The namespace of a Maven package version is its `groupId`.
1798
+ #
1799
+ # * The namespace of an npm or Swift package version is its `scope`.
1800
+ #
1801
+ # * The namespace of a generic package is its `namespace`.
1802
+ #
1803
+ # * Python and NuGet package versions do not contain a corresponding
1804
+ # component, package versions of those formats do not have a
1805
+ # namespace.
1806
+ #
1807
+ # @option params [required, String] :package
1808
+ # The package from which to get the associated package group.
1809
+ #
1810
+ # @return [Types::GetAssociatedPackageGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1811
+ #
1812
+ # * {Types::GetAssociatedPackageGroupResult#package_group #package_group} => Types::PackageGroupDescription
1813
+ # * {Types::GetAssociatedPackageGroupResult#association_type #association_type} => String
1814
+ #
1815
+ # @example Request syntax with placeholder values
1816
+ #
1817
+ # resp = client.get_associated_package_group({
1818
+ # domain: "DomainName", # required
1819
+ # domain_owner: "AccountId",
1820
+ # format: "npm", # required, accepts npm, pypi, maven, nuget, generic, swift
1821
+ # namespace: "PackageNamespace",
1822
+ # package: "PackageName", # required
1823
+ # })
1824
+ #
1825
+ # @example Response structure
1826
+ #
1827
+ # resp.package_group.arn #=> String
1828
+ # resp.package_group.pattern #=> String
1829
+ # resp.package_group.domain_name #=> String
1830
+ # resp.package_group.domain_owner #=> String
1831
+ # resp.package_group.created_time #=> Time
1832
+ # resp.package_group.contact_info #=> String
1833
+ # resp.package_group.description #=> String
1834
+ # resp.package_group.origin_configuration.restrictions #=> Hash
1835
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
1836
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].effective_mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
1837
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.arn #=> String
1838
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.pattern #=> String
1839
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].repositories_count #=> Integer
1840
+ # resp.package_group.parent.arn #=> String
1841
+ # resp.package_group.parent.pattern #=> String
1842
+ # resp.association_type #=> String, one of "STRONG", "WEAK"
1843
+ #
1844
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/GetAssociatedPackageGroup AWS API Documentation
1845
+ #
1846
+ # @overload get_associated_package_group(params = {})
1847
+ # @param [Hash] params ({})
1848
+ def get_associated_package_group(params = {}, options = {})
1849
+ req = build_request(:get_associated_package_group, params)
1850
+ req.send_request(options)
1851
+ end
1852
+
1504
1853
  # Generates a temporary authorization token for accessing repositories
1505
1854
  # in the domain. This API requires the
1506
1855
  # `codeartifact:GetAuthorizationToken` and `sts:GetServiceBearerToken`
@@ -1642,19 +1991,30 @@ module Aws::CodeArtifact
1642
1991
  #
1643
1992
  # @option params [String] :namespace
1644
1993
  # 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:
1994
+ # The package component that specifies its namespace depends on its
1995
+ # type. For example:
1996
+ #
1997
+ # <note markdown="1"> The namespace is required when requesting assets from package versions
1998
+ # of the following formats:
1999
+ #
2000
+ # * Maven
2001
+ #
2002
+ # * Swift
2003
+ #
2004
+ # * generic
2005
+ #
2006
+ # </note>
1647
2007
  #
1648
2008
  # * The namespace of a Maven package version is its `groupId`.
1649
2009
  #
1650
- # * The namespace of an npm package version is its `scope`.
2010
+ # * The namespace of an npm or Swift package version is its `scope`.
2011
+ #
2012
+ # * The namespace of a generic package is its `namespace`.
1651
2013
  #
1652
2014
  # * Python and NuGet package versions do not contain a corresponding
1653
2015
  # component, package versions of those formats do not have a
1654
2016
  # namespace.
1655
2017
  #
1656
- # * The namespace of a generic package is its `namespace`.
1657
- #
1658
2018
  # @option params [required, String] :package
1659
2019
  # The name of the package that contains the requested asset.
1660
2020
  #
@@ -1728,10 +2088,25 @@ module Aws::CodeArtifact
1728
2088
  #
1729
2089
  # @option params [String] :namespace
1730
2090
  # 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:
2091
+ # The package component that specifies its namespace depends on its
2092
+ # type. For example:
2093
+ #
2094
+ # <note markdown="1"> The namespace is required when requesting the readme from package
2095
+ # versions of the following formats:
2096
+ #
2097
+ # * Maven
2098
+ #
2099
+ # * Swift
2100
+ #
2101
+ # * generic
2102
+ #
2103
+ # </note>
2104
+ #
2105
+ # * The namespace of a Maven package version is its `groupId`.
1733
2106
  #
1734
- # * The namespace of an npm package version is its `scope`.
2107
+ # * The namespace of an npm or Swift package version is its `scope`.
2108
+ #
2109
+ # * The namespace of a generic package is its `namespace`.
1735
2110
  #
1736
2111
  # * Python and NuGet package versions do not contain a corresponding
1737
2112
  # component, package versions of those formats do not have a
@@ -1786,6 +2161,8 @@ module Aws::CodeArtifact
1786
2161
  # Returns the endpoint of a repository for a specific package format. A
1787
2162
  # repository has one endpoint for each package format:
1788
2163
  #
2164
+ # * `generic`
2165
+ #
1789
2166
  # * `maven`
1790
2167
  #
1791
2168
  # * `npm`
@@ -1794,6 +2171,8 @@ module Aws::CodeArtifact
1794
2171
  #
1795
2172
  # * `pypi`
1796
2173
  #
2174
+ # * `swift`
2175
+ #
1797
2176
  # @option params [required, String] :domain
1798
2177
  # The name of the domain that contains the repository.
1799
2178
  #
@@ -1876,6 +2255,142 @@ module Aws::CodeArtifact
1876
2255
  req.send_request(options)
1877
2256
  end
1878
2257
 
2258
+ # Lists the repositories in the added repositories list of the specified
2259
+ # restriction type for a package group. For more information about
2260
+ # restriction types and added repository lists, see [Package group
2261
+ # origin controls][1] in the *CodeArtifact User Guide*.
2262
+ #
2263
+ #
2264
+ #
2265
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/ug/package-group-origin-controls.html
2266
+ #
2267
+ # @option params [required, String] :domain
2268
+ # The name of the domain that contains the package group from which to
2269
+ # list allowed repositories.
2270
+ #
2271
+ # @option params [String] :domain_owner
2272
+ # The 12-digit account number of the Amazon Web Services account that
2273
+ # owns the domain. It does not include dashes or spaces.
2274
+ #
2275
+ # @option params [required, String] :package_group
2276
+ # The pattern of the package group from which to list allowed
2277
+ # repositories.
2278
+ #
2279
+ # @option params [required, String] :origin_restriction_type
2280
+ # The origin configuration restriction type of which to list allowed
2281
+ # repositories.
2282
+ #
2283
+ # @option params [Integer] :max_results
2284
+ # The maximum number of results to return per page.
2285
+ #
2286
+ # @option params [String] :next_token
2287
+ # The token for the next set of results. Use the value returned in the
2288
+ # previous response in the next request to retrieve the next set of
2289
+ # results.
2290
+ #
2291
+ # @return [Types::ListAllowedRepositoriesForGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2292
+ #
2293
+ # * {Types::ListAllowedRepositoriesForGroupResult#allowed_repositories #allowed_repositories} => Array&lt;String&gt;
2294
+ # * {Types::ListAllowedRepositoriesForGroupResult#next_token #next_token} => String
2295
+ #
2296
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2297
+ #
2298
+ # @example Request syntax with placeholder values
2299
+ #
2300
+ # resp = client.list_allowed_repositories_for_group({
2301
+ # domain: "DomainName", # required
2302
+ # domain_owner: "AccountId",
2303
+ # package_group: "PackageGroupPattern", # required
2304
+ # origin_restriction_type: "EXTERNAL_UPSTREAM", # required, accepts EXTERNAL_UPSTREAM, INTERNAL_UPSTREAM, PUBLISH
2305
+ # max_results: 1,
2306
+ # next_token: "PaginationToken",
2307
+ # })
2308
+ #
2309
+ # @example Response structure
2310
+ #
2311
+ # resp.allowed_repositories #=> Array
2312
+ # resp.allowed_repositories[0] #=> String
2313
+ # resp.next_token #=> String
2314
+ #
2315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListAllowedRepositoriesForGroup AWS API Documentation
2316
+ #
2317
+ # @overload list_allowed_repositories_for_group(params = {})
2318
+ # @param [Hash] params ({})
2319
+ def list_allowed_repositories_for_group(params = {}, options = {})
2320
+ req = build_request(:list_allowed_repositories_for_group, params)
2321
+ req.send_request(options)
2322
+ end
2323
+
2324
+ # Returns a list of packages associated with the requested package
2325
+ # group. For information package group association and matching, see
2326
+ # [Package group definition syntax and matching behavior][1] in the
2327
+ # *CodeArtifact User Guide*.
2328
+ #
2329
+ #
2330
+ #
2331
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/ug/package-group-definition-syntax-matching-behavior.html
2332
+ #
2333
+ # @option params [required, String] :domain
2334
+ # The name of the domain that contains the package group from which to
2335
+ # list associated packages.
2336
+ #
2337
+ # @option params [String] :domain_owner
2338
+ # The 12-digit account number of the Amazon Web Services account that
2339
+ # owns the domain. It does not include dashes or spaces.
2340
+ #
2341
+ # @option params [required, String] :package_group
2342
+ # The pattern of the package group from which to list associated
2343
+ # packages.
2344
+ #
2345
+ # @option params [Integer] :max_results
2346
+ # The maximum number of results to return per page.
2347
+ #
2348
+ # @option params [String] :next_token
2349
+ # The token for the next set of results. Use the value returned in the
2350
+ # previous response in the next request to retrieve the next set of
2351
+ # results.
2352
+ #
2353
+ # @option params [Boolean] :preview
2354
+ # When this flag is included, `ListAssociatedPackages` will return a
2355
+ # list of packages that would be associated with a package group, even
2356
+ # if it does not exist.
2357
+ #
2358
+ # @return [Types::ListAssociatedPackagesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2359
+ #
2360
+ # * {Types::ListAssociatedPackagesResult#packages #packages} => Array&lt;Types::AssociatedPackage&gt;
2361
+ # * {Types::ListAssociatedPackagesResult#next_token #next_token} => String
2362
+ #
2363
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2364
+ #
2365
+ # @example Request syntax with placeholder values
2366
+ #
2367
+ # resp = client.list_associated_packages({
2368
+ # domain: "DomainName", # required
2369
+ # domain_owner: "AccountId",
2370
+ # package_group: "PackageGroupPattern", # required
2371
+ # max_results: 1,
2372
+ # next_token: "PaginationToken",
2373
+ # preview: false,
2374
+ # })
2375
+ #
2376
+ # @example Response structure
2377
+ #
2378
+ # resp.packages #=> Array
2379
+ # resp.packages[0].format #=> String, one of "npm", "pypi", "maven", "nuget", "generic", "swift"
2380
+ # resp.packages[0].namespace #=> String
2381
+ # resp.packages[0].package #=> String
2382
+ # resp.packages[0].association_type #=> String, one of "STRONG", "WEAK"
2383
+ # resp.next_token #=> String
2384
+ #
2385
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListAssociatedPackages AWS API Documentation
2386
+ #
2387
+ # @overload list_associated_packages(params = {})
2388
+ # @param [Hash] params ({})
2389
+ def list_associated_packages(params = {}, options = {})
2390
+ req = build_request(:list_associated_packages, params)
2391
+ req.send_request(options)
2392
+ end
2393
+
1879
2394
  # Returns a list of [DomainSummary][1] objects for all domains owned by
1880
2395
  # the Amazon Web Services account that makes this call. Each returned
1881
2396
  # `DomainSummary` object contains information about a domain.
@@ -1926,6 +2441,74 @@ module Aws::CodeArtifact
1926
2441
  req.send_request(options)
1927
2442
  end
1928
2443
 
2444
+ # Returns a list of package groups in the requested domain.
2445
+ #
2446
+ # @option params [required, String] :domain
2447
+ # The domain for which you want to list package groups.
2448
+ #
2449
+ # @option params [String] :domain_owner
2450
+ # The 12-digit account number of the Amazon Web Services account that
2451
+ # owns the domain. It does not include dashes or spaces.
2452
+ #
2453
+ # @option params [Integer] :max_results
2454
+ # The maximum number of results to return per page.
2455
+ #
2456
+ # @option params [String] :next_token
2457
+ # The token for the next set of results. Use the value returned in the
2458
+ # previous response in the next request to retrieve the next set of
2459
+ # results.
2460
+ #
2461
+ # @option params [String] :prefix
2462
+ # A prefix for which to search package groups. When included,
2463
+ # `ListPackageGroups` will return only package groups with patterns that
2464
+ # match the prefix.
2465
+ #
2466
+ # @return [Types::ListPackageGroupsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2467
+ #
2468
+ # * {Types::ListPackageGroupsResult#package_groups #package_groups} => Array&lt;Types::PackageGroupSummary&gt;
2469
+ # * {Types::ListPackageGroupsResult#next_token #next_token} => String
2470
+ #
2471
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2472
+ #
2473
+ # @example Request syntax with placeholder values
2474
+ #
2475
+ # resp = client.list_package_groups({
2476
+ # domain: "DomainName", # required
2477
+ # domain_owner: "AccountId",
2478
+ # max_results: 1,
2479
+ # next_token: "PaginationToken",
2480
+ # prefix: "PackageGroupPatternPrefix",
2481
+ # })
2482
+ #
2483
+ # @example Response structure
2484
+ #
2485
+ # resp.package_groups #=> Array
2486
+ # resp.package_groups[0].arn #=> String
2487
+ # resp.package_groups[0].pattern #=> String
2488
+ # resp.package_groups[0].domain_name #=> String
2489
+ # resp.package_groups[0].domain_owner #=> String
2490
+ # resp.package_groups[0].created_time #=> Time
2491
+ # resp.package_groups[0].contact_info #=> String
2492
+ # resp.package_groups[0].description #=> String
2493
+ # resp.package_groups[0].origin_configuration.restrictions #=> Hash
2494
+ # resp.package_groups[0].origin_configuration.restrictions["PackageGroupOriginRestrictionType"].mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
2495
+ # resp.package_groups[0].origin_configuration.restrictions["PackageGroupOriginRestrictionType"].effective_mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
2496
+ # resp.package_groups[0].origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.arn #=> String
2497
+ # resp.package_groups[0].origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.pattern #=> String
2498
+ # resp.package_groups[0].origin_configuration.restrictions["PackageGroupOriginRestrictionType"].repositories_count #=> Integer
2499
+ # resp.package_groups[0].parent.arn #=> String
2500
+ # resp.package_groups[0].parent.pattern #=> String
2501
+ # resp.next_token #=> String
2502
+ #
2503
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListPackageGroups AWS API Documentation
2504
+ #
2505
+ # @overload list_package_groups(params = {})
2506
+ # @param [Hash] params ({})
2507
+ def list_package_groups(params = {}, options = {})
2508
+ req = build_request(:list_package_groups, params)
2509
+ req.send_request(options)
2510
+ end
2511
+
1929
2512
  # Returns a list of [AssetSummary][1] objects for assets in a package
1930
2513
  # version.
1931
2514
  #
@@ -1951,19 +2534,30 @@ module Aws::CodeArtifact
1951
2534
  #
1952
2535
  # @option params [String] :namespace
1953
2536
  # 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:
2537
+ # package version assets. The package component that specifies its
2538
+ # namespace depends on its type. For example:
2539
+ #
2540
+ # <note markdown="1"> The namespace is required requesting assets from package versions of
2541
+ # the following formats:
2542
+ #
2543
+ # * Maven
2544
+ #
2545
+ # * Swift
2546
+ #
2547
+ # * generic
2548
+ #
2549
+ # </note>
1956
2550
  #
1957
2551
  # * The namespace of a Maven package version is its `groupId`.
1958
2552
  #
1959
- # * The namespace of an npm package version is its `scope`.
2553
+ # * The namespace of an npm or Swift package version is its `scope`.
2554
+ #
2555
+ # * The namespace of a generic package is its `namespace`.
1960
2556
  #
1961
2557
  # * Python and NuGet package versions do not contain a corresponding
1962
2558
  # component, package versions of those formats do not have a
1963
2559
  # namespace.
1964
2560
  #
1965
- # * The namespace of a generic package is its `namespace`.
1966
- #
1967
2561
  # @option params [required, String] :package
1968
2562
  # The name of the package that contains the requested package version
1969
2563
  # assets.
@@ -2057,19 +2651,30 @@ module Aws::CodeArtifact
2057
2651
  #
2058
2652
  # @option params [String] :namespace
2059
2653
  # 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:
2654
+ # The package component that specifies its namespace depends on its
2655
+ # type. For example:
2656
+ #
2657
+ # <note markdown="1"> The namespace is required when listing dependencies from package
2658
+ # versions of the following formats:
2659
+ #
2660
+ # * Maven
2661
+ #
2662
+ # * Swift
2663
+ #
2664
+ # * generic
2665
+ #
2666
+ # </note>
2062
2667
  #
2063
2668
  # * The namespace of a Maven package version is its `groupId`.
2064
2669
  #
2065
- # * The namespace of an npm package version is its `scope`.
2670
+ # * The namespace of an npm or Swift package version is its `scope`.
2671
+ #
2672
+ # * The namespace of a generic package is its `namespace`.
2066
2673
  #
2067
2674
  # * Python and NuGet package versions do not contain a corresponding
2068
2675
  # component, package versions of those formats do not have a
2069
2676
  # namespace.
2070
2677
  #
2071
- # * The namespace of a generic package is its `namespace`.
2072
- #
2073
2678
  # @option params [required, String] :package
2074
2679
  # The name of the package versions' package.
2075
2680
  #
@@ -2156,15 +2761,27 @@ module Aws::CodeArtifact
2156
2761
  # versions. The package component that specifies its namespace depends
2157
2762
  # on its type. For example:
2158
2763
  #
2159
- # * The namespace of a Maven package is its `groupId`.
2764
+ # <note markdown="1"> The namespace is required when deleting package versions of the
2765
+ # following formats:
2766
+ #
2767
+ # * Maven
2768
+ #
2769
+ # * Swift
2160
2770
  #
2161
- # * The namespace of an npm package is its `scope`.
2771
+ # * generic
2162
2772
  #
2163
- # * Python and NuGet packages do not contain a corresponding component,
2164
- # packages of those formats do not have a namespace.
2773
+ # </note>
2774
+ #
2775
+ # * The namespace of a Maven package version is its `groupId`.
2776
+ #
2777
+ # * The namespace of an npm or Swift package version is its `scope`.
2165
2778
  #
2166
2779
  # * The namespace of a generic package is its `namespace`.
2167
2780
  #
2781
+ # * Python and NuGet package versions do not contain a corresponding
2782
+ # component, package versions of those formats do not have a
2783
+ # namespace.
2784
+ #
2168
2785
  # @option params [required, String] :package
2169
2786
  # The name of the package for which you want to request package
2170
2787
  # versions.
@@ -2268,15 +2885,16 @@ module Aws::CodeArtifact
2268
2885
  #
2269
2886
  # Each package format uses namespace as follows:
2270
2887
  #
2271
- # * The namespace of a Maven package is its `groupId`.
2272
- #
2273
- # * The namespace of an npm package is its `scope`.
2888
+ # * The namespace of a Maven package version is its `groupId`.
2274
2889
  #
2275
- # * Python and NuGet packages do not contain a corresponding component,
2276
- # packages of those formats do not have a namespace.
2890
+ # * The namespace of an npm or Swift package version is its `scope`.
2277
2891
  #
2278
2892
  # * The namespace of a generic package is its `namespace`.
2279
2893
  #
2894
+ # * Python and NuGet package versions do not contain a corresponding
2895
+ # component, package versions of those formats do not have a
2896
+ # namespace.
2897
+ #
2280
2898
  # @option params [String] :package_prefix
2281
2899
  # A prefix used to filter requested packages. Only packages with names
2282
2900
  # that start with `packagePrefix` are returned.
@@ -2478,6 +3096,81 @@ module Aws::CodeArtifact
2478
3096
  req.send_request(options)
2479
3097
  end
2480
3098
 
3099
+ # Returns a list of direct children of the specified package group.
3100
+ #
3101
+ # For information package group hierarchy, see [Package group definition
3102
+ # syntax and matching behavior][1] in the *CodeArtifact User Guide*.
3103
+ #
3104
+ #
3105
+ #
3106
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/ug/package-group-definition-syntax-matching-behavior.html
3107
+ #
3108
+ # @option params [required, String] :domain
3109
+ # The name of the domain which contains the package group from which to
3110
+ # list sub package groups.
3111
+ #
3112
+ # @option params [String] :domain_owner
3113
+ # The 12-digit account number of the Amazon Web Services account that
3114
+ # owns the domain. It does not include dashes or spaces.
3115
+ #
3116
+ # @option params [required, String] :package_group
3117
+ # The pattern of the package group from which to list sub package
3118
+ # groups.
3119
+ #
3120
+ # @option params [Integer] :max_results
3121
+ # The maximum number of results to return per page.
3122
+ #
3123
+ # @option params [String] :next_token
3124
+ # The token for the next set of results. Use the value returned in the
3125
+ # previous response in the next request to retrieve the next set of
3126
+ # results.
3127
+ #
3128
+ # @return [Types::ListSubPackageGroupsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3129
+ #
3130
+ # * {Types::ListSubPackageGroupsResult#package_groups #package_groups} => Array&lt;Types::PackageGroupSummary&gt;
3131
+ # * {Types::ListSubPackageGroupsResult#next_token #next_token} => String
3132
+ #
3133
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3134
+ #
3135
+ # @example Request syntax with placeholder values
3136
+ #
3137
+ # resp = client.list_sub_package_groups({
3138
+ # domain: "DomainName", # required
3139
+ # domain_owner: "AccountId",
3140
+ # package_group: "PackageGroupPattern", # required
3141
+ # max_results: 1,
3142
+ # next_token: "PaginationToken",
3143
+ # })
3144
+ #
3145
+ # @example Response structure
3146
+ #
3147
+ # resp.package_groups #=> Array
3148
+ # resp.package_groups[0].arn #=> String
3149
+ # resp.package_groups[0].pattern #=> String
3150
+ # resp.package_groups[0].domain_name #=> String
3151
+ # resp.package_groups[0].domain_owner #=> String
3152
+ # resp.package_groups[0].created_time #=> Time
3153
+ # resp.package_groups[0].contact_info #=> String
3154
+ # resp.package_groups[0].description #=> String
3155
+ # resp.package_groups[0].origin_configuration.restrictions #=> Hash
3156
+ # resp.package_groups[0].origin_configuration.restrictions["PackageGroupOriginRestrictionType"].mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
3157
+ # resp.package_groups[0].origin_configuration.restrictions["PackageGroupOriginRestrictionType"].effective_mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
3158
+ # resp.package_groups[0].origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.arn #=> String
3159
+ # resp.package_groups[0].origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.pattern #=> String
3160
+ # resp.package_groups[0].origin_configuration.restrictions["PackageGroupOriginRestrictionType"].repositories_count #=> Integer
3161
+ # resp.package_groups[0].parent.arn #=> String
3162
+ # resp.package_groups[0].parent.pattern #=> String
3163
+ # resp.next_token #=> String
3164
+ #
3165
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListSubPackageGroups AWS API Documentation
3166
+ #
3167
+ # @overload list_sub_package_groups(params = {})
3168
+ # @param [Hash] params ({})
3169
+ def list_sub_package_groups(params = {}, options = {})
3170
+ req = build_request(:list_sub_package_groups, params)
3171
+ req.send_request(options)
3172
+ end
3173
+
2481
3174
  # Gets information about Amazon Web Services tags for a specified Amazon
2482
3175
  # Resource Name (ARN) in CodeArtifact.
2483
3176
  #
@@ -2731,15 +3424,16 @@ module Aws::CodeArtifact
2731
3424
  # The namespace of the package to be updated. The package component that
2732
3425
  # specifies its namespace depends on its type. For example:
2733
3426
  #
2734
- # * The namespace of a Maven package is its `groupId`.
2735
- #
2736
- # * The namespace of an npm package is its `scope`.
3427
+ # * The namespace of a Maven package version is its `groupId`.
2737
3428
  #
2738
- # * Python and NuGet packages do not contain a corresponding component,
2739
- # packages of those formats do not have a namespace.
3429
+ # * The namespace of an npm or Swift package version is its `scope`.
2740
3430
  #
2741
3431
  # * The namespace of a generic package is its `namespace`.
2742
3432
  #
3433
+ # * Python and NuGet package versions do not contain a corresponding
3434
+ # component, package versions of those formats do not have a
3435
+ # namespace.
3436
+ #
2743
3437
  # @option params [required, String] :package
2744
3438
  # The name of the package to be updated.
2745
3439
  #
@@ -2909,6 +3603,169 @@ module Aws::CodeArtifact
2909
3603
  req.send_request(options)
2910
3604
  end
2911
3605
 
3606
+ # Updates a package group. This API cannot be used to update a package
3607
+ # group's origin configuration or pattern. To update a package group's
3608
+ # origin configuration, use [UpdatePackageGroupOriginConfiguration][1].
3609
+ #
3610
+ #
3611
+ #
3612
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_UpdatePackageGroupOriginConfiguration.html
3613
+ #
3614
+ # @option params [required, String] :domain
3615
+ # The name of the domain which contains the package group to be updated.
3616
+ #
3617
+ # @option params [String] :domain_owner
3618
+ # The 12-digit account number of the Amazon Web Services account that
3619
+ # owns the domain. It does not include dashes or spaces.
3620
+ #
3621
+ # @option params [required, String] :package_group
3622
+ # The pattern of the package group to be updated.
3623
+ #
3624
+ # @option params [String] :contact_info
3625
+ # Contact information which you want to update the requested package
3626
+ # group with.
3627
+ #
3628
+ # @option params [String] :description
3629
+ # The description you want to update the requested package group with.
3630
+ #
3631
+ # @return [Types::UpdatePackageGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3632
+ #
3633
+ # * {Types::UpdatePackageGroupResult#package_group #package_group} => Types::PackageGroupDescription
3634
+ #
3635
+ # @example Request syntax with placeholder values
3636
+ #
3637
+ # resp = client.update_package_group({
3638
+ # domain: "DomainName", # required
3639
+ # domain_owner: "AccountId",
3640
+ # package_group: "PackageGroupPattern", # required
3641
+ # contact_info: "PackageGroupContactInfo",
3642
+ # description: "Description",
3643
+ # })
3644
+ #
3645
+ # @example Response structure
3646
+ #
3647
+ # resp.package_group.arn #=> String
3648
+ # resp.package_group.pattern #=> String
3649
+ # resp.package_group.domain_name #=> String
3650
+ # resp.package_group.domain_owner #=> String
3651
+ # resp.package_group.created_time #=> Time
3652
+ # resp.package_group.contact_info #=> String
3653
+ # resp.package_group.description #=> String
3654
+ # resp.package_group.origin_configuration.restrictions #=> Hash
3655
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
3656
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].effective_mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
3657
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.arn #=> String
3658
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.pattern #=> String
3659
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].repositories_count #=> Integer
3660
+ # resp.package_group.parent.arn #=> String
3661
+ # resp.package_group.parent.pattern #=> String
3662
+ #
3663
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/UpdatePackageGroup AWS API Documentation
3664
+ #
3665
+ # @overload update_package_group(params = {})
3666
+ # @param [Hash] params ({})
3667
+ def update_package_group(params = {}, options = {})
3668
+ req = build_request(:update_package_group, params)
3669
+ req.send_request(options)
3670
+ end
3671
+
3672
+ # Updates the package origin configuration for a package group.
3673
+ #
3674
+ # The package origin configuration determines how new versions of a
3675
+ # package can be added to a repository. You can allow or block direct
3676
+ # publishing of new package versions, or ingestion and retaining of new
3677
+ # package versions from an external connection or upstream source. For
3678
+ # more information about package group origin controls and
3679
+ # configuration, see [Package group origin controls][1] in the
3680
+ # *CodeArtifact User Guide*.
3681
+ #
3682
+ #
3683
+ #
3684
+ # [1]: https://docs.aws.amazon.com/codeartifact/latest/ug/package-group-origin-controls.html
3685
+ #
3686
+ # @option params [required, String] :domain
3687
+ # The name of the domain which contains the package group for which to
3688
+ # update the origin configuration.
3689
+ #
3690
+ # @option params [String] :domain_owner
3691
+ # The 12-digit account number of the Amazon Web Services account that
3692
+ # owns the domain. It does not include dashes or spaces.
3693
+ #
3694
+ # @option params [required, String] :package_group
3695
+ # The pattern of the package group for which to update the origin
3696
+ # configuration.
3697
+ #
3698
+ # @option params [Hash<String,String>] :restrictions
3699
+ # The origin configuration settings that determine how package versions
3700
+ # can enter repositories.
3701
+ #
3702
+ # @option params [Array<Types::PackageGroupAllowedRepository>] :add_allowed_repositories
3703
+ # The repository name and restrictions to add to the allowed repository
3704
+ # list of the specified package group.
3705
+ #
3706
+ # @option params [Array<Types::PackageGroupAllowedRepository>] :remove_allowed_repositories
3707
+ # The repository name and restrictions to remove from the allowed
3708
+ # repository list of the specified package group.
3709
+ #
3710
+ # @return [Types::UpdatePackageGroupOriginConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3711
+ #
3712
+ # * {Types::UpdatePackageGroupOriginConfigurationResult#package_group #package_group} => Types::PackageGroupDescription
3713
+ # * {Types::UpdatePackageGroupOriginConfigurationResult#allowed_repository_updates #allowed_repository_updates} => Hash&lt;String,Hash&lt;String,Array&lt;String&gt;&gt;&gt;
3714
+ #
3715
+ # @example Request syntax with placeholder values
3716
+ #
3717
+ # resp = client.update_package_group_origin_configuration({
3718
+ # domain: "DomainName", # required
3719
+ # domain_owner: "AccountId",
3720
+ # package_group: "PackageGroupPattern", # required
3721
+ # restrictions: {
3722
+ # "EXTERNAL_UPSTREAM" => "ALLOW", # accepts ALLOW, ALLOW_SPECIFIC_REPOSITORIES, BLOCK, INHERIT
3723
+ # },
3724
+ # add_allowed_repositories: [
3725
+ # {
3726
+ # repository_name: "RepositoryName",
3727
+ # origin_restriction_type: "EXTERNAL_UPSTREAM", # accepts EXTERNAL_UPSTREAM, INTERNAL_UPSTREAM, PUBLISH
3728
+ # },
3729
+ # ],
3730
+ # remove_allowed_repositories: [
3731
+ # {
3732
+ # repository_name: "RepositoryName",
3733
+ # origin_restriction_type: "EXTERNAL_UPSTREAM", # accepts EXTERNAL_UPSTREAM, INTERNAL_UPSTREAM, PUBLISH
3734
+ # },
3735
+ # ],
3736
+ # })
3737
+ #
3738
+ # @example Response structure
3739
+ #
3740
+ # resp.package_group.arn #=> String
3741
+ # resp.package_group.pattern #=> String
3742
+ # resp.package_group.domain_name #=> String
3743
+ # resp.package_group.domain_owner #=> String
3744
+ # resp.package_group.created_time #=> Time
3745
+ # resp.package_group.contact_info #=> String
3746
+ # resp.package_group.description #=> String
3747
+ # resp.package_group.origin_configuration.restrictions #=> Hash
3748
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
3749
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].effective_mode #=> String, one of "ALLOW", "ALLOW_SPECIFIC_REPOSITORIES", "BLOCK", "INHERIT"
3750
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.arn #=> String
3751
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].inherited_from.pattern #=> String
3752
+ # resp.package_group.origin_configuration.restrictions["PackageGroupOriginRestrictionType"].repositories_count #=> Integer
3753
+ # resp.package_group.parent.arn #=> String
3754
+ # resp.package_group.parent.pattern #=> String
3755
+ # resp.allowed_repository_updates #=> Hash
3756
+ # resp.allowed_repository_updates["PackageGroupOriginRestrictionType"] #=> Hash
3757
+ # resp.allowed_repository_updates["PackageGroupOriginRestrictionType"]["PackageGroupAllowedRepositoryUpdateType"] #=> Array
3758
+ # resp.allowed_repository_updates["PackageGroupOriginRestrictionType"]["PackageGroupAllowedRepositoryUpdateType"][0] #=> String
3759
+ #
3760
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/UpdatePackageGroupOriginConfiguration AWS API Documentation
3761
+ #
3762
+ # @overload update_package_group_origin_configuration(params = {})
3763
+ # @param [Hash] params ({})
3764
+ def update_package_group_origin_configuration(params = {}, options = {})
3765
+ req = build_request(:update_package_group_origin_configuration, params)
3766
+ req.send_request(options)
3767
+ end
3768
+
2912
3769
  # Updates the status of one or more versions of a package. Using
2913
3770
  # `UpdatePackageVersionsStatus`, you can update the status of package
2914
3771
  # versions to `Archived`, `Published`, or `Unlisted`. To set the status
@@ -2936,19 +3793,19 @@ module Aws::CodeArtifact
2936
3793
  #
2937
3794
  # @option params [String] :namespace
2938
3795
  # 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:
3796
+ # component that specifies its namespace depends on its type. For
3797
+ # example:
2941
3798
  #
2942
3799
  # * The namespace of a Maven package version is its `groupId`.
2943
3800
  #
2944
- # * The namespace of an npm package version is its `scope`.
3801
+ # * The namespace of an npm or Swift package version is its `scope`.
3802
+ #
3803
+ # * The namespace of a generic package is its `namespace`.
2945
3804
  #
2946
3805
  # * Python and NuGet package versions do not contain a corresponding
2947
3806
  # component, package versions of those formats do not have a
2948
3807
  # namespace.
2949
3808
  #
2950
- # * The namespace of a generic package is its `namespace`.
2951
- #
2952
3809
  # @option params [required, String] :package
2953
3810
  # The name of the package with the version statuses to update.
2954
3811
  #
@@ -3092,7 +3949,7 @@ module Aws::CodeArtifact
3092
3949
  params: params,
3093
3950
  config: config)
3094
3951
  context[:gem_name] = 'aws-sdk-codeartifact'
3095
- context[:gem_version] = '1.38.0'
3952
+ context[:gem_version] = '1.39.0'
3096
3953
  Seahorse::Client::Request.new(handlers, context)
3097
3954
  end
3098
3955