public virtual PSPipeline CreatePSPipeline(CreatePSPipelineParameters parameters)
{
if (parameters == null)
{
throw new ArgumentNullException("parameters");
}
PSPipeline pipeline = null;
Action createPipeline = () =>
{
pipeline =
new PSPipeline(CreateOrUpdatePipeline(parameters.ResourceGroupName,
parameters.DataFactoryName,
parameters.Name,
parameters.RawJsonContent))
{
ResourceGroupName = parameters.ResourceGroupName,
DataFactoryName = parameters.DataFactoryName
};
if (!DataFactoryCommonUtilities.IsSucceededProvisioningState(pipeline.ProvisioningState))
{
string errorMessage = pipeline.Properties == null
? string.Empty
: pipeline.Properties.ErrorMessage;
throw new ProvisioningFailedException(errorMessage);
}
};
parameters.ConfirmAction(
parameters.Force, // prompt only if the linked service exists
string.Format(
CultureInfo.InvariantCulture,
Resources.PipelineExists,
parameters.Name,
parameters.DataFactoryName),
string.Format(
CultureInfo.InvariantCulture,
Resources.PipelineCreating,
parameters.Name,
parameters.DataFactoryName),
parameters.Name,
createPipeline,
() => CheckPipelineExists(parameters.ResourceGroupName,
parameters.DataFactoryName, parameters.Name));
return pipeline;
}