Esempio n. 1
0
        private void SetConnectionString(string connectionString, string serviceType)
        {
            ConnectionStringType type;

            switch (serviceType)
            {
            case "SQLServer":
                type = ConnectionStringType.SQLServer;
                break;

            case "MySQL":
                type = ConnectionStringType.MySql;
                break;

            default:
                type = ConnectionStringType.Custom;
                break;
            }
            var _connectionString = new ConnectionStringDictionary
            {
                Properties = new Dictionary <string, ConnStringValueTypePair>
                {
                    { "Cupertino_" + _appName, new ConnStringValueTypePair {
                          Value = connectionString, Type = type
                      } }
                }
            };

            _client.WebApps.UpdateConnectionStrings(_rgName, _appName, _connectionString);
        }
 public static ConnectionStringDictionary UpdateSiteConnectionStrings(this IWebAppsOperations webApp,
                                                                      string resourceGroupName,
                                                                      string name,
                                                                      ConnectionStringDictionary connectionStrings)
 {
     return(webApp.UpdateConnectionStrings(resourceGroupName, name, connectionStrings));
 }
Esempio n. 3
0
        protected override IConnectionProvider GetConnectionProvider()
        {
            IDictionary conProviderDict = ConnectionStringDictionary.Parse(ConnectionString);
            string      provider        = (string)conProviderDict["Provider"];

            if (provider == null)
            {
                provider = "SQLCLIENT";
            }

            return(GetConnectionProvider("Mainsoft.Data.Configuration/SqlClientProviders", provider));
        }
Esempio n. 4
0
        private bool CheckConnectionString(string connectionString)
        {
            ConnectionStringDictionary connectionStrings = _client.WebApps.ListConnectionStrings(_rgName, _appName);

            foreach (var item in connectionStrings.Properties)
            {
                if (item.Value.Value.Equals(connectionString))
                {
                    return(true);
                }
            }
            return(false);
        }
 public static async Task UpdateConnectionStringsAsync(this IWebAppsOperations operations, TargetSite targetSite,
                                                       ConnectionStringDictionary connectionStringDictionary, CancellationToken cancellationToken = default)
 {
     if (targetSite.HasSlot)
     {
         await operations.UpdateConnectionStringsSlotWithHttpMessagesAsync(targetSite.ResourceGroupName,
                                                                           targetSite.Site, connectionStringDictionary, targetSite.Slot, cancellationToken : cancellationToken);
     }
     else
     {
         await operations.UpdateConnectionStringsWithHttpMessagesAsync(targetSite.ResourceGroupName,
                                                                       targetSite.Site, connectionStringDictionary, cancellationToken : cancellationToken);
     }
 }
Esempio n. 6
0
        protected override IConnectionProvider GetConnectionProvider()
        {
            IDictionary conProviderDict = ConnectionStringDictionary.Parse(ConnectionString);
            string      jdbcUrl         = (string)conProviderDict["JdbcUrl"];

            if (jdbcUrl == null)
            {
                string provider = (string)conProviderDict["Provider"];
                if (provider != null)
                {
                    return(GetConnectionProvider("Mainsoft.Data.Configuration/OleDbProviders", provider));
                }
            }

            return(new GenericProvider(conProviderDict));
        }
Esempio n. 7
0
        static async Task CreateSite(string rgName, string appServicePlanName, string siteName, string location)
        {
            // Create/Update the resource group
            var rgCreateResult = await _resourceGroupClient.ResourceGroups.CreateOrUpdateAsync(rgName, new ResourceGroup { Location = location });

            // Create/Update the App Service Plan
            var serverFarmWithRichSku = new ServerFarmWithRichSku
            {
                Location = location,
                Sku = new SkuDescription
                {
                    Name = "F1",
                    Tier = "Free"
                }
            };
            serverFarmWithRichSku = await _websiteClient.ServerFarms.CreateOrUpdateServerFarmAsync(rgName, appServicePlanName, serverFarmWithRichSku);

            // Create/Update the Website
            var site = new Site
            {
                Location = location,
                ServerFarmId = appServicePlanName
            };
            site = await _websiteClient.Sites.CreateOrUpdateSiteAsync(rgName, siteName, site);

            // Create/Update the Website configuration
            var siteConfig = new SiteConfig
            {
                Location = location,
                PhpVersion = "5.6"
            };
            siteConfig = await _websiteClient.Sites.CreateOrUpdateSiteConfigAsync(rgName, siteName, siteConfig);

            // Create/Update some App Settings
            var appSettings = new StringDictionary
            {
                Location = location,
                Properties = new Dictionary<string, string>
                {
                    { "MyFirstKey", "My first value" },
                    { "MySecondKey", "My second value" }
                }
            };
            await _websiteClient.Sites.UpdateSiteAppSettingsAsync(rgName, siteName, appSettings);

            // Create/Update some Connection Strings
            var connStrings = new ConnectionStringDictionary
            {
                Location = location,
                Properties = new Dictionary<string, ConnStringValueTypePair>
                {
                    { "MyFirstConnString", new ConnStringValueTypePair { Value = "My SQL conn string", Type = DatabaseServerType.SQLAzure }},
                    { "MySecondConnString", new ConnStringValueTypePair { Value = "My custom conn string", Type = DatabaseServerType.Custom }}
                }
            };
            await _websiteClient.Sites.UpdateSiteConnectionStringsAsync(rgName, siteName, connStrings);
        }
        public async Task Setup()
        {
            var resourceManagementEndpointBaseUri =
                Environment.GetEnvironmentVariable(AccountVariables.ResourceManagementEndPoint) ??
                DefaultVariables.ResourceManagementEndpoint;
            var activeDirectoryEndpointBaseUri =
                Environment.GetEnvironmentVariable(AccountVariables.ActiveDirectoryEndPoint) ??
                DefaultVariables.ActiveDirectoryEndpoint;

            resourceGroupName = Guid.NewGuid().ToString();

            clientId       = ExternalVariables.Get(ExternalVariable.AzureSubscriptionClientId);
            clientSecret   = ExternalVariables.Get(ExternalVariable.AzureSubscriptionPassword);
            tenantId       = ExternalVariables.Get(ExternalVariable.AzureSubscriptionTenantId);
            subscriptionId = ExternalVariables.Get(ExternalVariable.AzureSubscriptionId);

            var resourceGroupLocation = Environment.GetEnvironmentVariable("AZURE_NEW_RESOURCE_REGION") ?? "eastus";

            authToken = await Auth.GetAuthTokenAsync(activeDirectoryEndpointBaseUri,
                                                     resourceManagementEndpointBaseUri, tenantId, clientId, clientSecret);

            var resourcesClient = new ResourcesManagementClient(subscriptionId,
                                                                new ClientSecretCredential(tenantId, clientId, clientSecret));

            resourceGroupClient = resourcesClient.ResourceGroups;

            var resourceGroup = new ResourceGroup(resourceGroupLocation);

            resourceGroup = await resourceGroupClient.CreateOrUpdateAsync(resourceGroupName, resourceGroup);

            webMgmtClient = new WebSiteManagementClient(new TokenCredentials(authToken))
            {
                SubscriptionId = subscriptionId,
                HttpClient     = { BaseAddress = new Uri(DefaultVariables.ResourceManagementEndpoint) },
            };

            var svcPlan = await webMgmtClient.AppServicePlans.BeginCreateOrUpdateAsync(resourceGroup.Name, resourceGroup.Name,
                                                                                       new AppServicePlan(resourceGroup.Location));

            site = await webMgmtClient.WebApps.BeginCreateOrUpdateAsync(resourceGroup.Name, resourceGroup.Name,
                                                                        new Site(resourceGroup.Location) { ServerFarmId = svcPlan.Id });

            existingSettings = new StringDictionary
            {
                Properties = new Dictionary <string, string> {
                    { "ExistingSetting", "Foo" }, { "ReplaceSetting", "Foo" }
                }
            };

            existingConnectionStrings = new ConnectionStringDictionary
            {
                Properties = new Dictionary <string, ConnStringValueTypePair>
                {
                    {
                        "ExistingConnectionString",
                        new ConnStringValueTypePair("ConnectionStringValue", ConnectionStringType.SQLAzure)
                    },
                    {
                        "ReplaceConnectionString",
                        new ConnStringValueTypePair("originalConnectionStringValue", ConnectionStringType.Custom)
                    }
                }
            };

            await webMgmtClient.WebApps.UpdateConnectionStringsAsync(resourceGroupName, site.Name, existingConnectionStrings);

            webappName = site.Name;
        }
        static async Task CreateSite(string rgName, string appServicePlanName, string siteName, string location)
        {
            // Create/Update the resource group
            var rgCreateResult = await _resourceGroupClient.ResourceGroups.CreateOrUpdateAsync(rgName, new ResourceGroup { Location = location });

            // Create/Update the App Service Plan
            var serverFarmWithRichSku = new ServerFarmWithRichSku
            {
                Location = location,
                Sku      = new SkuDescription
                {
                    Name = "F1",
                    Tier = "Free"
                }
            };

            serverFarmWithRichSku = await _websiteClient.ServerFarms.CreateOrUpdateServerFarmAsync(rgName, appServicePlanName, serverFarmWithRichSku);

            // Create/Update the Website
            var site = new Site
            {
                Location     = location,
                ServerFarmId = appServicePlanName
            };

            site = await _websiteClient.Sites.CreateOrUpdateSiteAsync(rgName, siteName, site);

            Console.WriteLine($"Site outbound IP addresses: {site.OutboundIpAddresses}");

            // Create/Update the Website configuration
            var siteConfig = new SiteConfig
            {
                Location   = location,
                PhpVersion = "5.6"
            };

            siteConfig = await _websiteClient.Sites.CreateOrUpdateSiteConfigAsync(rgName, siteName, siteConfig);

            // Create/Update some App Settings
            var appSettings = new StringDictionary
            {
                Location   = location,
                Properties = new Dictionary <string, string>
                {
                    { "MyFirstKey", "My first value" },
                    { "MySecondKey", "My second value" }
                }
            };
            await _websiteClient.Sites.UpdateSiteAppSettingsAsync(rgName, siteName, appSettings);

            // Create/Update some Connection Strings
            var connStrings = new ConnectionStringDictionary
            {
                Location   = location,
                Properties = new Dictionary <string, ConnStringValueTypePair>
                {
                    { "MyFirstConnString", new ConnStringValueTypePair {
                          Value = "My SQL conn string", Type = DatabaseServerType.SQLAzure
                      } },
                    { "MySecondConnString", new ConnStringValueTypePair {
                          Value = "My custom conn string", Type = DatabaseServerType.Custom
                      } }
                }
            };
            await _websiteClient.Sites.UpdateSiteConnectionStringsAsync(rgName, siteName, connStrings);

            // List the site quotas
            Console.WriteLine("Site quotas:");
            CsmUsageQuotaCollection quotas = await _websiteClient.Sites.GetSiteUsagesAsync(rgName, siteName);

            foreach (var quota in quotas.Value)
            {
                Console.WriteLine($"    {quota.Name.Value}: {quota.CurrentValue} {quota.Unit}");
            }

            // Get the publishing profile xml file
            using (var stream = await _websiteClient.Sites.ListSitePublishingProfileXmlAsync(rgName, siteName, new CsmPublishingProfileOptions()))
            {
                string profileXml = await(new StreamReader(stream)).ReadToEndAsync();
                Console.WriteLine(profileXml);
            }

            // Restart the site
            await _websiteClient.Sites.RestartSiteAsync(rgName, siteName, softRestart : true);
        }
Esempio n. 10
0
        static async Task CreateSite(string rgName, string appServicePlanName, string siteName, string location)
        {
            // Create/Update the resource group
            var rgCreateResult = await _resourceGroupClient.ResourceGroups.CreateOrUpdateAsync(rgName, new ResourceGroup { Location = location });

            // Create/Update the App Service Plan
            var serverFarmWithRichSku = new ServerFarmWithRichSku
            {
                Location = location,
                Sku      = new SkuDescription
                {
                    Name = "F1",
                    Tier = "Free"
                }
            };

            serverFarmWithRichSku = await _websiteClient.ServerFarms.CreateOrUpdateServerFarmAsync(rgName, appServicePlanName, serverFarmWithRichSku);

            // Create/Update the Website
            var site = new Site
            {
                Location     = location,
                ServerFarmId = appServicePlanName
            };

            site = await _websiteClient.Sites.CreateOrUpdateSiteAsync(rgName, siteName, site);

            // Create/Update the Website configuration
            var siteConfig = new SiteConfig
            {
                Location   = location,
                PhpVersion = "5.6"
            };

            siteConfig = await _websiteClient.Sites.CreateOrUpdateSiteConfigAsync(rgName, siteName, siteConfig);

            // Create/Update some App Settings
            var appSettings = new StringDictionary
            {
                Location   = location,
                Properties = new Dictionary <string, string>
                {
                    { "MyFirstKey", "My first value" },
                    { "MySecondKey", "My second value" }
                }
            };
            await _websiteClient.Sites.UpdateSiteAppSettingsAsync(rgName, siteName, appSettings);

            // Create/Update some Connection Strings
            var connStrings = new ConnectionStringDictionary
            {
                Location   = location,
                Properties = new Dictionary <string, ConnStringValueTypePair>
                {
                    { "MyFirstConnString", new ConnStringValueTypePair {
                          Value = "My SQL conn string", Type = DatabaseServerType.SQLAzure
                      } },
                    { "MySecondConnString", new ConnStringValueTypePair {
                          Value = "My custom conn string", Type = DatabaseServerType.Custom
                      } }
                }
            };
            await _websiteClient.Sites.UpdateSiteConnectionStringsAsync(rgName, siteName, connStrings);
        }
        static async Task CreateSite(string rgName, string appServicePlanName, string siteName, string location)
        {
            // Create/Update the resource group
            var rgCreateResult = await _resourceGroupClient.ResourceGroups.CreateOrUpdateAsync(rgName, new ResourceGroup { Location = location });

            // Create/Update the App Service Plan
            var serverFarmWithRichSku = new ServerFarmWithRichSku
            {
                Location = location,
                Sku = new SkuDescription
                {
                    Name = "F1",
                    Tier = "Free"
                }
            };
            serverFarmWithRichSku = await _websiteClient.ServerFarms.CreateOrUpdateServerFarmAsync(rgName, appServicePlanName, serverFarmWithRichSku);

            // Create/Update the Website
            var site = new Site
            {
                Location = location,
                ServerFarmId = appServicePlanName
            };
            site = await _websiteClient.Sites.CreateOrUpdateSiteAsync(rgName, siteName, site);

            // Create/Update the Website configuration
            var siteConfig = new SiteConfig
            {
                Location = location,
                PhpVersion = "5.6"
            };
            siteConfig = await _websiteClient.Sites.CreateOrUpdateSiteConfigAsync(rgName, siteName, siteConfig);

            // Create/Update some App Settings
            var appSettings = new StringDictionary
            {
                Location = location,
                Properties = new Dictionary<string, string>
                {
                    { "MyFirstKey", "My first value" },
                    { "MySecondKey", "My second value" }
                }
            };
            await _websiteClient.Sites.UpdateSiteAppSettingsAsync(rgName, siteName, appSettings);

            // Create/Update some Connection Strings
            var connStrings = new ConnectionStringDictionary
            {
                Location = location,
                Properties = new Dictionary<string, ConnStringValueTypePair>
                {
                    { "MyFirstConnString", new ConnStringValueTypePair { Value = "My SQL conn string", Type = DatabaseServerType.SQLAzure }},
                    { "MySecondConnString", new ConnStringValueTypePair { Value = "My custom conn string", Type = DatabaseServerType.Custom }}
                }
            };
            await _websiteClient.Sites.UpdateSiteConnectionStringsAsync(rgName, siteName, connStrings);

            // List the site quotas
            Console.WriteLine("Site quotas:");
            CsmUsageQuotaCollection quotas = await _websiteClient.Sites.GetSiteUsagesAsync(rgName, siteName);
            foreach (var quota in quotas.Value)
            {
                Console.WriteLine($"    {quota.Name.Value}: {quota.CurrentValue} {quota.Unit}");
            }

            // Restart the site
            await _websiteClient.Sites.RestartSiteAsync(rgName, siteName, softRestart: true);
        }