updatePackageGroupOriginConfiguration method

Future<UpdatePackageGroupOriginConfigurationResult> updatePackageGroupOriginConfiguration({
  1. required String domain,
  2. required String packageGroup,
  3. List<PackageGroupAllowedRepository>? addAllowedRepositories,
  4. String? domainOwner,
  5. List<PackageGroupAllowedRepository>? removeAllowedRepositories,
  6. Map<PackageGroupOriginRestrictionType, PackageGroupOriginRestrictionMode>? restrictions,
})

Updates the package origin configuration for a package group.

The package origin configuration determines how new versions of a package can be added to a repository. You can allow or block direct publishing of new package versions, or ingestion and retaining of new package versions from an external connection or upstream source. For more information about package group origin controls and configuration, see Package group origin controls in the CodeArtifact User Guide.

May throw AccessDeniedException. May throw InternalServerException. May throw ResourceNotFoundException. May throw ServiceQuotaExceededException. May throw ThrottlingException. May throw ValidationException.

Parameter domain : The name of the domain which contains the package group for which to update the origin configuration.

Parameter packageGroup : The pattern of the package group for which to update the origin configuration.

Parameter addAllowedRepositories : The repository name and restrictions to add to the allowed repository list of the specified package group.

Parameter domainOwner : The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces.

Parameter removeAllowedRepositories : The repository name and restrictions to remove from the allowed repository list of the specified package group.

Parameter restrictions : The origin configuration settings that determine how package versions can enter repositories.

Implementation

Future<UpdatePackageGroupOriginConfigurationResult>
    updatePackageGroupOriginConfiguration({
  required String domain,
  required String packageGroup,
  List<PackageGroupAllowedRepository>? addAllowedRepositories,
  String? domainOwner,
  List<PackageGroupAllowedRepository>? removeAllowedRepositories,
  Map<PackageGroupOriginRestrictionType, PackageGroupOriginRestrictionMode>?
      restrictions,
}) async {
  final $query = <String, List<String>>{
    'domain': [domain],
    'package-group': [packageGroup],
    if (domainOwner != null) 'domain-owner': [domainOwner],
  };
  final $payload = <String, dynamic>{
    if (addAllowedRepositories != null)
      'addAllowedRepositories': addAllowedRepositories,
    if (removeAllowedRepositories != null)
      'removeAllowedRepositories': removeAllowedRepositories,
    if (restrictions != null)
      'restrictions': restrictions.map((k, e) => MapEntry(k.value, e.value)),
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'PUT',
    requestUri: '/v1/package-group-origin-configuration',
    queryParams: $query,
    exceptionFnMap: _exceptionFns,
  );
  return UpdatePackageGroupOriginConfigurationResult.fromJson(response);
}