validatePipelineDefinition method

Future<ValidatePipelineDefinitionOutput> validatePipelineDefinition({
  1. required String pipelineId,
  2. required List<PipelineObject> pipelineObjects,
  3. List<ParameterObject>? parameterObjects,
  4. List<ParameterValue>? parameterValues,
})

Validates the specified pipeline definition to ensure that it is well formed and can be run without error.

May throw InternalServiceError. May throw InvalidRequestException. May throw PipelineNotFoundException. May throw PipelineDeletedException.

Parameter pipelineId : The ID of the pipeline.

Parameter pipelineObjects : The objects that define the pipeline changes to validate against the pipeline.

Parameter parameterObjects : The parameter objects used with the pipeline.

Parameter parameterValues : The parameter values used with the pipeline.

Implementation

Future<ValidatePipelineDefinitionOutput> validatePipelineDefinition({
  required String pipelineId,
  required List<PipelineObject> pipelineObjects,
  List<ParameterObject>? parameterObjects,
  List<ParameterValue>? parameterValues,
}) async {
  ArgumentError.checkNotNull(pipelineId, 'pipelineId');
  _s.validateStringLength(
    'pipelineId',
    pipelineId,
    1,
    1024,
    isRequired: true,
  );
  ArgumentError.checkNotNull(pipelineObjects, 'pipelineObjects');
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'DataPipeline.ValidatePipelineDefinition'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'pipelineId': pipelineId,
      'pipelineObjects': pipelineObjects,
      if (parameterObjects != null) 'parameterObjects': parameterObjects,
      if (parameterValues != null) 'parameterValues': parameterValues,
    },
  );

  return ValidatePipelineDefinitionOutput.fromJson(jsonResponse.body);
}