public override void ExecuteCmdlet()
        {
            this.ByResourceId();
            this.ByIntegrationRuntimeObject();

            if (AutoUpdate == null && !AutoUpdateDelayOffset.HasValue)
            {
                throw new PSArgumentException("No valid parameters.");
            }

            IntegrationRuntimeResource resource = DataFactoryClient.GetIntegrationRuntimeAsync(
                ResourceGroupName,
                DataFactoryName,
                base.Name).ConfigureAwait(true).GetAwaiter().GetResult().IntegrationRuntime;

            WriteVerbose("Got integration runtime");

            Action updateIntegrationRuntime = () =>
            {
                var request = new UpdateIntegrationRuntimeRequest();
                if (!string.IsNullOrEmpty(AutoUpdate))
                {
                    request.AutoUpdate = AutoUpdate;
                }
                WriteVerbose("Handled AutoUpdate");

                if (AutoUpdateDelayOffset.HasValue)
                {
                    request.UpdateDelayOffset = SafeJsonConvert.SerializeObject(
                        AutoUpdateDelayOffset.Value,
                        DataFactoryClient.DataFactoryManagementClient.SerializationSettings);

                    WriteVerbose(request.UpdateDelayOffset);
                }

                WriteVerbose("Handled AutoUpdateDelayOffset");
                WriteObject(DataFactoryClient.UpdateIntegrationRuntimeAsync(ResourceGroupName,
                                                                            DataFactoryName,
                                                                            Name,
                                                                            resource,
                                                                            request).ConfigureAwait(false).GetAwaiter().GetResult());
            };

            ConfirmAction(
                string.Format(
                    CultureInfo.InvariantCulture,
                    Resources.IntegrationRuntimeUpdating,
                    Name,
                    DataFactoryName),
                Name,
                updateIntegrationRuntime);
        }
        public virtual async Task <PSIntegrationRuntime> UpdateIntegrationRuntimeAsync(
            string resourceGroupName,
            string dataFactoryName,
            string integrationRuntimeName,
            IntegrationRuntimeResource resource,
            UpdateIntegrationRuntimeRequest request)
        {
            var response = await this.DataFactoryManagementClient.IntegrationRuntimes.UpdateAsync(
                resourceGroupName,
                dataFactoryName,
                integrationRuntimeName,
                request);

            return(new PSSelfHostedIntegrationRuntime(
                       response,
                       resourceGroupName,
                       dataFactoryName));
        }
        public virtual async Task <PSSelfHostedIntegrationRuntimeStatus> UpdateIntegrationRuntimeAsync(
            string resourceGroupName,
            string dataFactoryName,
            string integrationRuntimeName,
            IntegrationRuntimeResource resource,
            UpdateIntegrationRuntimeRequest request)
        {
            var response = await this.DataFactoryManagementClient.IntegrationRuntimes.UpdateAsync(
                resourceGroupName,
                dataFactoryName,
                integrationRuntimeName,
                request);

            var selfHostedStatus = response.Properties as SelfHostedIntegrationRuntimeStatus;

            return(new PSSelfHostedIntegrationRuntimeStatus(
                       resource,
                       selfHostedStatus,
                       resourceGroupName,
                       dataFactoryName,
                       DataFactoryManagementClient.DeserializationSettings));
        }
        public override void ExecuteCmdlet()
        {
            if (this.IsParameterBound(c => c.ResourceId))
            {
                var resourceIdentifier = new ResourceIdentifier(this.ResourceId);
                this.ResourceGroupName      = resourceIdentifier.ResourceGroupName;
                this.WorkspaceName          = resourceIdentifier.ParentResource;
                this.WorkspaceName          = this.WorkspaceName.Substring(this.WorkspaceName.LastIndexOf('/') + 1);
                this.IntegrationRuntimeName = resourceIdentifier.ResourceName;
            }

            if (this.IsParameterBound(c => c.WorkspaceObject))
            {
                this.ResourceGroupName = new ResourceIdentifier(this.WorkspaceObject.Id).ResourceGroupName;
                this.WorkspaceName     = this.WorkspaceObject.Name;
            }

            if (this.IsParameterBound(c => c.InputObject))
            {
                this.ResourceGroupName      = InputObject.ResourceGroupName;
                this.WorkspaceName          = InputObject.WorkspaceName;
                this.IntegrationRuntimeName = InputObject.Name;
            }

            if (AutoUpdate == null && !AutoUpdateDelayOffset.HasValue)
            {
                throw new PSArgumentException("No valid parameters.");
            }

            IntegrationRuntimeResource resource = SynapseAnalyticsClient.GetIntegrationRuntimeAsync(
                ResourceGroupName,
                WorkspaceName,
                IntegrationRuntimeName).ConfigureAwait(true).GetAwaiter().GetResult().IntegrationRuntime;

            WriteVerbose("Got integration runtime");

            Action updateIntegrationRuntime = () =>
            {
                var request = new UpdateIntegrationRuntimeRequest();
                if (!string.IsNullOrEmpty(AutoUpdate))
                {
                    request.AutoUpdate = AutoUpdate;
                }
                WriteVerbose("Handled AutoUpdate");

                if (AutoUpdateDelayOffset.HasValue)
                {
                    request.UpdateDelayOffset = SafeJsonConvert.SerializeObject(
                        AutoUpdateDelayOffset.Value,
                        SynapseAnalyticsClient.GetSerializationSettings());

                    WriteVerbose(request.UpdateDelayOffset);
                }

                WriteVerbose("Handled AutoUpdateDelayOffset");
                WriteObject(SynapseAnalyticsClient.UpdateIntegrationRuntimeAsync(ResourceGroupName,
                                                                                 WorkspaceName,
                                                                                 IntegrationRuntimeName,
                                                                                 resource,
                                                                                 request).ConfigureAwait(false).GetAwaiter().GetResult());
            };

            ConfirmAction(
                string.Format(
                    CultureInfo.InvariantCulture,
                    Resources.UpdatingIntegrationRuntime,
                    IntegrationRuntimeName,
                    WorkspaceName),
                IntegrationRuntimeName,
                updateIntegrationRuntime);
        }
Beispiel #5
0
 /// <summary>
 /// Update integration runtime
 /// </summary>
 /// <remarks>
 /// Update an integration runtime
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group. The name is case insensitive.
 /// </param>
 /// <param name='workspaceName'>
 /// The name of the workspace.
 /// </param>
 /// <param name='integrationRuntimeName'>
 /// Integration runtime name
 /// </param>
 /// <param name='updateIntegrationRuntimeRequest'>
 /// The parameters for updating an integration runtime.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IntegrationRuntimeResource> UpdateAsync(this IIntegrationRuntimesOperations operations, string resourceGroupName, string workspaceName, string integrationRuntimeName, UpdateIntegrationRuntimeRequest updateIntegrationRuntimeRequest, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.UpdateWithHttpMessagesAsync(resourceGroupName, workspaceName, integrationRuntimeName, updateIntegrationRuntimeRequest, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Beispiel #6
0
 /// <summary>
 /// Update integration runtime
 /// </summary>
 /// <remarks>
 /// Update an integration runtime
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group. The name is case insensitive.
 /// </param>
 /// <param name='workspaceName'>
 /// The name of the workspace.
 /// </param>
 /// <param name='integrationRuntimeName'>
 /// Integration runtime name
 /// </param>
 /// <param name='updateIntegrationRuntimeRequest'>
 /// The parameters for updating an integration runtime.
 /// </param>
 public static IntegrationRuntimeResource Update(this IIntegrationRuntimesOperations operations, string resourceGroupName, string workspaceName, string integrationRuntimeName, UpdateIntegrationRuntimeRequest updateIntegrationRuntimeRequest)
 {
     return(operations.UpdateAsync(resourceGroupName, workspaceName, integrationRuntimeName, updateIntegrationRuntimeRequest).GetAwaiter().GetResult());
 }