updateSubscriptionTarget method

Future<UpdateSubscriptionTargetOutput> updateSubscriptionTarget({
  1. required String domainIdentifier,
  2. required String environmentIdentifier,
  3. required String identifier,
  4. List<String>? applicableAssetTypes,
  5. List<String>? authorizedPrincipals,
  6. String? manageAccessRole,
  7. String? name,
  8. String? provider,
  9. SubscriptionGrantCreationMode? subscriptionGrantCreationMode,
  10. List<SubscriptionTargetForm>? subscriptionTargetConfig,
})

Updates the specified subscription target in Amazon DataZone.

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

Parameter domainIdentifier : The identifier of the Amazon DataZone domain in which a subscription target is to be updated.

Parameter environmentIdentifier : The identifier of the environment in which a subscription target is to be updated.

Parameter identifier : Identifier of the subscription target that is to be updated.

Parameter applicableAssetTypes : The applicable asset types to be updated as part of the UpdateSubscriptionTarget action.

Parameter authorizedPrincipals : The authorized principals to be updated as part of the UpdateSubscriptionTarget action.

Parameter manageAccessRole : The manage access role to be updated as part of the UpdateSubscriptionTarget action.

Parameter name : The name to be updated as part of the UpdateSubscriptionTarget action.

Parameter provider : The provider to be updated as part of the UpdateSubscriptionTarget action.

Parameter subscriptionGrantCreationMode : Determines the subscription grant creation mode for this target, defining if grants are auto-created upon subscription approval or managed manually.

Parameter subscriptionTargetConfig : The configuration to be updated as part of the UpdateSubscriptionTarget action.

Implementation

Future<UpdateSubscriptionTargetOutput> updateSubscriptionTarget({
  required String domainIdentifier,
  required String environmentIdentifier,
  required String identifier,
  List<String>? applicableAssetTypes,
  List<String>? authorizedPrincipals,
  String? manageAccessRole,
  String? name,
  String? provider,
  SubscriptionGrantCreationMode? subscriptionGrantCreationMode,
  List<SubscriptionTargetForm>? subscriptionTargetConfig,
}) async {
  final $payload = <String, dynamic>{
    if (applicableAssetTypes != null)
      'applicableAssetTypes': applicableAssetTypes,
    if (authorizedPrincipals != null)
      'authorizedPrincipals': authorizedPrincipals,
    if (manageAccessRole != null) 'manageAccessRole': manageAccessRole,
    if (name != null) 'name': name,
    if (provider != null) 'provider': provider,
    if (subscriptionGrantCreationMode != null)
      'subscriptionGrantCreationMode': subscriptionGrantCreationMode.value,
    if (subscriptionTargetConfig != null)
      'subscriptionTargetConfig': subscriptionTargetConfig,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'PATCH',
    requestUri:
        '/v2/domains/${Uri.encodeComponent(domainIdentifier)}/environments/${Uri.encodeComponent(environmentIdentifier)}/subscription-targets/${Uri.encodeComponent(identifier)}',
    exceptionFnMap: _exceptionFns,
  );
  return UpdateSubscriptionTargetOutput.fromJson(response);
}