Exemple #1
0
        static async Task DeleteInfrastructure(
            ILogger logger, AppyAzureCredentials credentials, AppyPlayInfrastructureParameters parameters)
        {
            logger.Info("Deleting AppyPlay azure infrastructure");

            var azure = AuthenticateWithAzure(logger, credentials);

            if (parameters.CosmosDbParameters != null)
            {
                await azure.DeleteCosmosDbResourcesIfExists(logger, parameters.CosmosDbParameters);
            }

            if (parameters.SignalRParameters != null)
            {
                var signalRManagementClient = CreateSignalRManagementClient(credentials);
                await signalRManagementClient.DeleteSignalRServiceResources(logger, parameters.SignalRParameters);
            }

            if (parameters.FunctionsApps.Any())
            {
                parameters.FunctionsApps.ForEach(async functionParameters =>
                                                 await azure.DeleteFunctionAppResources(logger, functionParameters));

                await azure.ListFunctionApps(logger, parameters.ResourceGroupParameters.ResourceGroupName);
            }

            if (parameters.StorageAccountParameters != null)
            {
                await azure.DeleteStorageAccountIfExists(logger, parameters.StorageAccountParameters);
            }

            await azure.DeleteResourceGroupIfExists(logger, parameters.ResourceGroupParameters);

            logger.Info("Deleted AppyPlay azure infrastructure");
        }
Exemple #2
0
        /// <summary>
        /// Appy Play Environment
        /// </summary>
        static async Task CreateInfrastructure(
            ILogger logger, AppyAzureCredentials azureCredentials, AppyPlayInfrastructureParameters parameters)
        {
            logger.Info($"Creating AppyPlay azure infrastructure");

            var azure = AuthenticateWithAzure(logger, azureCredentials);

            await azure.CreateResourceGroupIfNotExists(logger, parameters.ResourceGroupParameters);

            await azure.ListResourceGroups(logger);

            if (parameters.StorageAccountParameters != null)
            {
                await azure.CreateStorageAccountIfNotExists(logger, parameters.StorageAccountParameters);
            }

            if (parameters.CosmosDbParameters != null)
            {
                await azure.CreateCosmosResourcesIfNotExists(logger, parameters.CosmosDbParameters);
            }

            if (parameters.SignalRParameters != null)
            {
                var signalRManagementClient = CreateSignalRManagementClient(azureCredentials);
                await signalRManagementClient.CreateSignalRServiceIfNotExists(logger, parameters.SignalRParameters);
            }

            if (parameters.FunctionsApps.Any())
            {
                foreach (var functionAppParameters in parameters.FunctionsApps)
                {
                    await azure.CreateFunctionAppResources(logger, functionAppParameters);
                }

                await azure.ListFunctionApps(logger, parameters.ResourceGroupParameters.ResourceGroupName);
            }

            logger.Info($"Created or Updated AppyPlay azure infrastructure");
        }