Exemplo n.º 1
0
        public virtual PSLinkedService CreatePSLinkedService(CreatePSLinkedServiceParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }

            PSLinkedService linkedService       = null;
            Action          createLinkedService = () =>
            {
                linkedService =
                    new PSLinkedService(CreateOrUpdateLinkedService(parameters.ResourceGroupName,
                                                                    parameters.DataFactoryName,
                                                                    parameters.Name,
                                                                    parameters.RawJsonContent))
                {
                    ResourceGroupName = parameters.ResourceGroupName,
                    DataFactoryName   = parameters.DataFactoryName
                };
            };

            if (parameters.Force)
            {
                // If user decides to overwrite anyway, then there is no need to check if the linked service exists or not.
                createLinkedService();
            }
            else
            {
                bool linkedServiceExists = CheckLinkedServiceExists(parameters.ResourceGroupName,
                                                                    parameters.DataFactoryName, parameters.Name);

                parameters.ConfirmAction(
                    !linkedServiceExists,      // prompt only if the linked service exists
                    string.Format(
                        CultureInfo.InvariantCulture,
                        Resources.LinkedServiceExists,
                        parameters.Name,
                        parameters.DataFactoryName),
                    string.Format(
                        CultureInfo.InvariantCulture,
                        Resources.LinkedServiceCreating,
                        parameters.Name,
                        parameters.DataFactoryName),
                    parameters.Name,
                    createLinkedService);
            }

            if (!DataFactoryCommonUtilities.IsSucceededProvisioningState(linkedService.ProvisioningState))
            {
                string errorMessage = linkedService.Properties == null
                    ? string.Empty
                    : linkedService.Properties.ErrorMessage;
                throw new ProvisioningFailedException(errorMessage);
            }

            return(linkedService);
        }
        public virtual PSLinkedService CreatePSLinkedService(CreatePSLinkedServiceParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }
            
            PSLinkedService linkedService = null;
            Action createLinkedService = () =>
            {
                linkedService =
                    new PSLinkedService(CreateOrUpdateLinkedService(parameters.ResourceGroupName,
                        parameters.DataFactoryName,
                        parameters.Name,
                        parameters.RawJsonContent))
                    {
                        ResourceGroupName = parameters.ResourceGroupName,
                        DataFactoryName = parameters.DataFactoryName
                    };

                if (!DataFactoryCommonUtilities.IsSucceededProvisioningState(linkedService.ProvisioningState))
                {
                    string errorMessage = linkedService.Properties == null
                        ? string.Empty
                        : linkedService.Properties.ErrorMessage;
                    throw new ProvisioningFailedException(errorMessage);
                }
            };
            
            if (parameters.Force)
            {
                // If user decides to overwrite anyway, then there is no need to check if the linked service exists or not.
                createLinkedService();
            }
            else
            {
                bool linkedServiceExists = CheckLinkedServiceExists(parameters.ResourceGroupName,
                    parameters.DataFactoryName, parameters.Name);

                parameters.ConfirmAction(
                        !linkedServiceExists,  // prompt only if the linked service exists
                        string.Format(
                            CultureInfo.InvariantCulture,
                            Resources.LinkedServiceExists,
                            parameters.Name,
                            parameters.DataFactoryName),
                        string.Format(
                            CultureInfo.InvariantCulture,
                            Resources.LinkedServiceCreating,
                            parameters.Name,
                            parameters.DataFactoryName),
                        parameters.Name,
                        createLinkedService);
            }

            return linkedService;
        }