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