/// <summary>
 /// Create or update a pipeline instance.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.DataFactories.Core.IPipelineOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The resource group name of the data factory.
 /// </param>
 /// <param name='dataFactoryName'>
 /// Required. A unique data factory instance name.
 /// </param>
 /// <param name='parameters'>
 /// Required. The parameters required to create or update a pipeline.
 /// </param>
 /// <returns>
 /// The create or update pipeline operation response.
 /// </returns>
 public static PipelineCreateOrUpdateResponse BeginCreateOrUpdate(this IPipelineOperations operations, string resourceGroupName, string dataFactoryName, PipelineCreateOrUpdateParameters parameters)
 {
     return Task.Factory.StartNew((object s) =>
     {
         return ((IPipelineOperations)s).BeginCreateOrUpdateAsync(resourceGroupName, dataFactoryName, parameters);
     }
     , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }
        /// <summary>
        /// Serializes the given Pipeline into JSON, by mocking a create request to
        /// exercise the client's serialization logic.
        /// </summary>
        /// <param name="item">The object to serialize.</param>
        /// <returns></returns>
        internal static string SerializeInternalPipelineToJson(Models.Pipeline item)
        {
            var createParams = new Models.PipelineCreateOrUpdateParameters()
            {
                Pipeline = item
            };

            var    handler           = new MockResourceProviderDelegatingHandler();
            var    client            = GetFakeClient(handler);
            string resourceGroupName = Guid.NewGuid().ToString("D");
            string dataFactoryName   = Guid.NewGuid().ToString("D");

            client.Pipelines.BeginCreateOrUpdate(resourceGroupName, dataFactoryName, createParams);
            return(handler.Json);
        }
        public async Task <PipelineCreateOrUpdateResponse> CreateOrUpdateAsync(
            string resourceGroupName,
            string dataFactoryName,
            PipelineCreateOrUpdateParameters parameters,
            CancellationToken cancellationToken)
        {
            Core.Models.PipelineCreateOrUpdateParameters internalParameters = this.ValidateAndConvert(parameters);

            Core.Models.PipelineCreateOrUpdateResponse response =
                await this.Client.InternalClient.Pipelines.CreateOrUpdateAsync(
                    resourceGroupName,
                    dataFactoryName,
                    internalParameters,
                    cancellationToken);

            return(new PipelineCreateOrUpdateResponse(response, this.Client));
        }
        /// <summary>
        /// Serializes the given Pipeline into JSON, by mocking a create request to 
        /// exercise the client's serialization logic.
        /// </summary>
        /// <param name="item">The object to serialize.</param>
        /// <returns></returns>
        internal static string SerializeInternalPipelineToJson(Models.Pipeline item)
        {
            var createParams = new Models.PipelineCreateOrUpdateParameters() { Pipeline = item };

            var handler = new MockResourceProviderDelegatingHandler();
            var client = GetFakeClient(handler);
            string resourceGroupName = Guid.NewGuid().ToString("D");
            string dataFactoryName = Guid.NewGuid().ToString("D");
            client.Pipelines.BeginCreateOrUpdate(resourceGroupName, dataFactoryName, createParams);
            return handler.Json;
        }
 /// <summary>
 /// Create or update a pipeline instance.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.DataFactories.Core.IPipelineOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The resource group name of the data factory.
 /// </param>
 /// <param name='dataFactoryName'>
 /// Required. A unique data factory instance name.
 /// </param>
 /// <param name='parameters'>
 /// Required. The parameters required to create or update a pipeline.
 /// </param>
 /// <returns>
 /// The create or update pipeline operation response.
 /// </returns>
 public static Task<PipelineCreateOrUpdateResponse> BeginCreateOrUpdateAsync(this IPipelineOperations operations, string resourceGroupName, string dataFactoryName, PipelineCreateOrUpdateParameters parameters)
 {
     return operations.BeginCreateOrUpdateAsync(resourceGroupName, dataFactoryName, parameters, CancellationToken.None);
 }