putThirdPartyJobSuccessResult method

Future<void> putThirdPartyJobSuccessResult({
  1. required String clientToken,
  2. required String jobId,
  3. String? continuationToken,
  4. CurrentRevision? currentRevision,
  5. ExecutionDetails? executionDetails,
})

Represents the success of a third party job as returned to the pipeline by a job worker. Used for partner actions only.

May throw ValidationException. May throw JobNotFoundException. May throw InvalidJobStateException. May throw InvalidClientTokenException.

Parameter clientToken : The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details.

Parameter jobId : The ID of the job that successfully completed. This is the same ID returned from PollForThirdPartyJobs.

Parameter continuationToken : A token generated by a job worker, such as an AWS CodeDeploy deployment ID, that a successful job provides to identify a partner action in progress. Future jobs use this token to identify the running instance of the action. It can be reused to return more information about the progress of the partner action. When the action is complete, no continuation token should be supplied.

Parameter currentRevision : Represents information about a current revision.

Parameter executionDetails : The details of the actions taken and results produced on an artifact as it passes through stages in the pipeline.

Implementation

Future<void> putThirdPartyJobSuccessResult({
  required String clientToken,
  required String jobId,
  String? continuationToken,
  CurrentRevision? currentRevision,
  ExecutionDetails? executionDetails,
}) async {
  ArgumentError.checkNotNull(clientToken, 'clientToken');
  _s.validateStringLength(
    'clientToken',
    clientToken,
    1,
    256,
    isRequired: true,
  );
  ArgumentError.checkNotNull(jobId, 'jobId');
  _s.validateStringLength(
    'jobId',
    jobId,
    1,
    512,
    isRequired: true,
  );
  _s.validateStringLength(
    'continuationToken',
    continuationToken,
    1,
    2048,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'CodePipeline_20150709.PutThirdPartyJobSuccessResult'
  };
  await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'clientToken': clientToken,
      'jobId': jobId,
      if (continuationToken != null) 'continuationToken': continuationToken,
      if (currentRevision != null) 'currentRevision': currentRevision,
      if (executionDetails != null) 'executionDetails': executionDetails,
    },
  );
}