public override void ExecuteCmdlet() { if (this.IsParameterBound(c => c.ResourceId)) { var resourceIdentifier = new ResourceIdentifier(this.ResourceId); this.ResourceGroupName = resourceIdentifier.ResourceGroupName; this.ClusterName = resourceIdentifier.ResourceName; } PSClusterPatch parameters = new PSClusterPatch(); if (this.IsParameterBound(c => c.InputCluster)) { parameters.KeyVaultProperties = InputCluster.KeyVaultProperties; parameters.Sku = InputCluster.Sku; parameters.Tags = InputCluster.Tags; parameters.Identity = InputCluster.Identity; parameters.BillingType = InputCluster.BillingType; } else { parameters.KeyVaultProperties = PSKeyVaultProperties.CreateProperties(this.KeyVaultUri, this.KeyName, this.KeyVersion); parameters.Sku = this.SkuCapacity == null ? null : new PSClusterSku(this.SkuName ?? AllowedClusterServiceTiers.CapacityReservation.ToString(), this.SkuCapacity); parameters.Tags = this.Tag; parameters.Identity = new PSIdentity(IdentityType); parameters.BillingType = BillingType; } if (ShouldProcess(this.ClusterName, $"update cluster: {this.ClusterName} in resource group: {this.ResourceGroupName}")) { WriteObject(this.OperationalInsightsClient.UpdatePSCluster(this.ResourceGroupName, this.ClusterName, parameters)); } }
public override void ExecuteCmdlet() { PSClusterPatch parameters = new PSClusterPatch() { KeyVaultProperties = new PSKeyVaultProperties(this.KeyVaultUri, this.KeyName, this.KeyVersion), Sku = new PSClusterSku(this.SkuName, this.SkuCapacity), Tags = this.Tag }; if (ShouldProcess(this.ClusterName, string.Format("update cluster: {0} in resource group: {1}", this.ClusterName, this.ResourceGroupName))) { WriteObject(this.OperationalInsightsClient.UpdatePSCluster(this.ResourceGroupName, this.ClusterName, parameters)); } }
public virtual PSCluster UpdatePSCluster(string resourceGroupName, string clusterName, PSClusterPatch parameters) { PSCluster existingCluster; try { existingCluster = GetPSCluster(resourceGroupName, clusterName); } catch (RestException) { throw new PSArgumentException($"Cluster {clusterName} under {resourceGroupName} is not existed"); } parameters.Tags = parameters.Tags ?? existingCluster.Tags; parameters.BillingType = string.IsNullOrEmpty(parameters.BillingType) ? existingCluster.BillingType : parameters.BillingType; if (parameters.KeyVaultProperties != null) { parameters.KeyVaultProperties.KeyName = string.IsNullOrEmpty(parameters.KeyVaultProperties.KeyName) ? existingCluster.KeyVaultProperties?.KeyName : parameters.KeyVaultProperties.KeyName; parameters.KeyVaultProperties.KeyVaultUri = string.IsNullOrEmpty(parameters.KeyVaultProperties.KeyVaultUri) ? existingCluster.KeyVaultProperties?.KeyVaultUri : parameters.KeyVaultProperties.KeyVaultUri; parameters.KeyVaultProperties.KeyVersion = string.IsNullOrEmpty(parameters.KeyVaultProperties.KeyVersion) ? existingCluster.KeyVaultProperties?.KeyVersion : parameters.KeyVaultProperties.KeyVersion; } if (parameters.Sku != null) { parameters.Sku.Name = string.IsNullOrEmpty(parameters.Sku?.Name) ? existingCluster.Sku?.Name : parameters.Sku.Name; parameters.Sku.Capacity = parameters.Sku?.Capacity == 0 ? existingCluster.Sku?.Capacity : parameters.Sku.Capacity; } var response = this.OperationalInsightsManagementClient.Clusters.Update(resourceGroupName, clusterName, parameters.GetClusterPatch()); return(new PSCluster(response)); }