public virtual PSStorageInsight CreatePSStorageInsight(PSStorageInsightParameters parameters, Action <bool, string, string, string, Action, Func <bool> > confirmAction, bool force) { PSStorageInsight storageInsight = null; Action createStorageInsight = () => { storageInsight = new PSStorageInsight(CreateOrUpdateStorageInsight(parameters), parameters.ResourceGroupName, parameters.WorkspaceName); }; confirmAction(force, string.Format(CultureInfo.InvariantCulture, Resources.StorageInsightExists, parameters.Name, parameters.WorkspaceName), string.Format(CultureInfo.InvariantCulture, Resources.StorageInsightCreating, parameters.Name, parameters.WorkspaceName), parameters.Name, createStorageInsight, () => CheckStorageInsightExists(parameters.ResourceGroupName, parameters.WorkspaceName, parameters.Name)); return(storageInsight); }
public virtual PSStorageInsight UpdatePSStorageInsight(PSStorageInsightParameters parameters) { // Get the existing storage insight PSStorageInsight storageInsight; try { storageInsight = GetStorageInsight(parameters.ResourceGroupName, parameters.WorkspaceName, parameters.Name); } catch (RestException) { throw new PSArgumentException($"StorageInsight {parameters.Name} under workspace {parameters.WorkspaceName} does not existed"); } // Execute the update StorageInsight updatedStorageInsight = CreateOrUpdateStorageInsight(parameters); return(new PSStorageInsight(updatedStorageInsight, parameters.ResourceGroupName, parameters.WorkspaceName)); }
public virtual StorageInsight CreateOrUpdateStorageInsight(PSStorageInsightParameters parameters) { StorageInsight storageInsightsToUpdate = new StorageInsight { Containers = parameters.Containers, Tables = parameters.Tables, ETag = parameters.Etag, Tags = parameters.Tags?.Cast <DictionaryEntry>().ToDictionary(kv => (string)kv.Key, kv => (string)kv.Value) }; if (!string.IsNullOrWhiteSpace(parameters.StorageAccountResourceId) && !string.IsNullOrWhiteSpace(parameters.StorageAccountKey)) { storageInsightsToUpdate.StorageAccount = new StorageAccount { Id = parameters.StorageAccountResourceId, Key = parameters.StorageAccountKey }; } return(OperationalInsightsManagementClient.StorageInsightConfigs.CreateOrUpdate( parameters.ResourceGroupName, parameters.WorkspaceName, parameters.Name, storageInsightsToUpdate)); }