startQualificationsAssociationTask method

Future<StartQualificationsAssociationTaskResponse> startQualificationsAssociationTask({
  1. required String catalog,
  2. required String identifier,
  3. required QualificationsAssociationPartner primaryPartner,
  4. String? clientToken,
})

Initiates an asynchronous task to associate your partner qualifications with a primary account. You must be a subsidiary of the primary account with an active subsidiary connection. Use GetQualificationsAssociationTask to monitor task progress.

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

Parameter catalog : The catalog in which to perform the qualifications association. 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 primaryPartner : The primary (acquiring) partner's profile and account identifier to associate qualifications with. You must provide at least one of ProfileId or AccountId. You cannot specify yourself as the primary partner.

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

Implementation

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

  return StartQualificationsAssociationTaskResponse.fromJson(
      jsonResponse.body);
}