startQualificationsDisassociationTask method

Future<StartQualificationsDisassociationTaskResponse> startQualificationsDisassociationTask({
  1. required QualificationsAssociationPartner associatedPartner,
  2. required String catalog,
  3. required String identifier,
  4. String? clientToken,
})

Initiates an asynchronous task to disassociate your partner qualifications from a primary account. You must currently be associated and cannot disassociate if you are the primary partner. Use GetQualificationsDisassociationTask to monitor task progress.

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

Parameter associatedPartner : The primary partner's profile and account identifier that you are currently associated with and will disassociate from. You must provide at least one of ProfileId or AccountId. The specified partner must match your current primary association.

Parameter catalog : The catalog in which to perform the qualifications disassociation. Valid values: AWS, Sandbox.

Parameter identifier : Your partner identifier. You can provide either a partner ID (for example, partner-abc123) or a partner ARN. You must own this identifier.

Parameter clientToken : A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

Implementation

Future<StartQualificationsDisassociationTaskResponse>
    startQualificationsDisassociationTask({
  required QualificationsAssociationPartner associatedPartner,
  required String catalog,
  required String identifier,
  String? clientToken,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.0',
    'X-Amz-Target':
        'PartnerCentralAccount.StartQualificationsDisassociationTask'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'AssociatedPartner': associatedPartner,
      'Catalog': catalog,
      'Identifier': identifier,
      'ClientToken': clientToken ?? _s.generateIdempotencyToken(),
    },
  );

  return StartQualificationsDisassociationTaskResponse.fromJson(
      jsonResponse.body);
}