Represents the structure of actions and stages to be performed in the pipeline.
 /// <summary>
 /// Updates a specified pipeline with edits or changes to its structure. Use a JSON file
 /// with the pipeline structure in conjunction with UpdatePipeline to provide the full
 /// structure of the pipeline. Updating the pipeline increases the version number of the
 /// pipeline by 1.
 /// </summary>
 /// <param name="pipeline">The name of the pipeline to be updated.</param>
 /// 
 /// <returns>The response from the UpdatePipeline service method, as returned by CodePipeline.</returns>
 /// <exception cref="Amazon.CodePipeline.Model.InvalidActionDeclarationException">
 /// The specified action declaration was specified in an invalid format.
 /// </exception>
 /// <exception cref="Amazon.CodePipeline.Model.InvalidBlockerDeclarationException">
 /// The specified gate declaration was specified in an invalid format.
 /// </exception>
 /// <exception cref="Amazon.CodePipeline.Model.InvalidStageDeclarationException">
 /// The specified stage declaration was specified in an invalid format.
 /// </exception>
 /// <exception cref="Amazon.CodePipeline.Model.InvalidStructureException">
 /// The specified structure was specified in an invalid format.
 /// </exception>
 /// <exception cref="Amazon.CodePipeline.Model.ValidationException">
 /// The validation was specified in an invalid format.
 /// </exception>
 public UpdatePipelineResponse UpdatePipeline(PipelineDeclaration pipeline)
 {
     var request = new UpdatePipelineRequest();
     request.Pipeline = pipeline;
     return UpdatePipeline(request);
 }
 /// <summary>
 /// Creates a pipeline.
 /// </summary>
 /// <param name="pipeline">A property of CreatePipelineRequest used to execute the CreatePipeline service method.</param>
 /// 
 /// <returns>The response from the CreatePipeline service method, as returned by CodePipeline.</returns>
 /// <exception cref="Amazon.CodePipeline.Model.InvalidActionDeclarationException">
 /// The specified action declaration was specified in an invalid format.
 /// </exception>
 /// <exception cref="Amazon.CodePipeline.Model.InvalidBlockerDeclarationException">
 /// The specified gate declaration was specified in an invalid format.
 /// </exception>
 /// <exception cref="Amazon.CodePipeline.Model.InvalidStageDeclarationException">
 /// The specified stage declaration was specified in an invalid format.
 /// </exception>
 /// <exception cref="Amazon.CodePipeline.Model.InvalidStructureException">
 /// The specified structure was specified in an invalid format.
 /// </exception>
 /// <exception cref="Amazon.CodePipeline.Model.LimitExceededException">
 /// The number of pipelines associated with the AWS account has exceeded the limit allowed
 /// for the account.
 /// </exception>
 /// <exception cref="Amazon.CodePipeline.Model.PipelineNameInUseException">
 /// The specified pipeline name is already in use.
 /// </exception>
 /// <exception cref="Amazon.CodePipeline.Model.ValidationException">
 /// The validation was specified in an invalid format.
 /// </exception>
 public CreatePipelineResponse CreatePipeline(PipelineDeclaration pipeline)
 {
     var request = new CreatePipelineRequest();
     request.Pipeline = pipeline;
     return CreatePipeline(request);
 }
 /// <summary>
 /// Creates a pipeline.
 /// </summary>
 /// <param name="pipeline">A property of CreatePipelineRequest used to execute the CreatePipeline service method.</param>
 /// <param name="cancellationToken">
 ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
 /// </param>
 /// 
 /// <returns>The response from the CreatePipeline service method, as returned by CodePipeline.</returns>
 /// <exception cref="Amazon.CodePipeline.Model.InvalidActionDeclarationException">
 /// The specified action declaration was specified in an invalid format.
 /// </exception>
 /// <exception cref="Amazon.CodePipeline.Model.InvalidBlockerDeclarationException">
 /// The specified gate declaration was specified in an invalid format.
 /// </exception>
 /// <exception cref="Amazon.CodePipeline.Model.InvalidStageDeclarationException">
 /// The specified stage declaration was specified in an invalid format.
 /// </exception>
 /// <exception cref="Amazon.CodePipeline.Model.InvalidStructureException">
 /// The specified structure was specified in an invalid format.
 /// </exception>
 /// <exception cref="Amazon.CodePipeline.Model.LimitExceededException">
 /// The number of pipelines associated with the AWS account has exceeded the limit allowed
 /// for the account.
 /// </exception>
 /// <exception cref="Amazon.CodePipeline.Model.PipelineNameInUseException">
 /// The specified pipeline name is already in use.
 /// </exception>
 /// <exception cref="Amazon.CodePipeline.Model.ValidationException">
 /// The validation was specified in an invalid format.
 /// </exception>
 public Task<CreatePipelineResponse> CreatePipelineAsync(PipelineDeclaration pipeline, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
 {
     var request = new CreatePipelineRequest();
     request.Pipeline = pipeline;
     return CreatePipelineAsync(request, cancellationToken);
 }