Example #1
0
        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);
        }
Example #2
0
        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));
        }
Example #3
0
        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));
        }