コード例 #1
0
        public ServerFarmWithRichSku CreateAppServicePlan(string resourceGroupName, string appServicePlanName, string location, string adminSiteName, SkuDescription sku)
        {
            var serverFarm = new ServerFarmWithRichSku
            {
                Location = location,
                ServerFarmWithRichSkuName = appServicePlanName,
                Sku           = sku,
                AdminSiteName = adminSiteName
            };

            return(WrappedWebsitesClient.ServerFarms.CreateOrUpdateServerFarm(resourceGroupName, appServicePlanName, serverFarm));
        }
コード例 #2
0
        public ServerFarmWithRichSku CreateAppServicePlan(string resourceGroupName, string appServicePlanName, string location, string adminSiteName, SkuDescription sku, string aseName = null, string aseResourceGroupName = null)
        {
            var serverFarm = new ServerFarmWithRichSku
            {
                Location = location,
                ServerFarmWithRichSkuName = appServicePlanName,
                Sku           = sku,
                AdminSiteName = adminSiteName
            };

            if (!string.IsNullOrEmpty(aseName) &&
                !string.IsNullOrEmpty(aseResourceGroupName))
            {
                serverFarm.HostingEnvironmentProfile = new HostingEnvironmentProfile
                {
                    Id   = CmdletHelpers.GetApplicationServiceEnvironmentResourceId(WrappedWebsitesClient.SubscriptionId, aseResourceGroupName, aseName),
                    Type = CmdletHelpers.ApplicationServiceEnvironmentResourcesName,
                    Name = aseName
                };
            }

            return(WrappedWebsitesClient.ServerFarms.CreateOrUpdateServerFarm(resourceGroupName, appServicePlanName, serverFarm));
        }
コード例 #3
0
        private async Task <ServerFarmWithRichSku> GetDefaultServerFarm(string location)
        {
            var websiteLocation = string.IsNullOrWhiteSpace(location) ? new LocationConstraint() : new LocationConstraint(location);
            var farmResources   = await ResourcesClient.ResourceManagementClient.Resources.ListAsync(new ODataQuery <GenericResourceFilter>(r => r.ResourceType == "Microsoft.Web/serverFarms"));

            ServerFarmWithRichSku defaultFarm = null;

            foreach (var resource in farmResources)
            {
                // Try to find a policy with Sku=Free and available site capacity
                var id   = new ResourceIdentifier(resource.Id);
                var farm = await WebsitesClient.WrappedWebsitesClient.ServerFarms.GetServerFarmAsync(id.ResourceGroupName, id.ResourceName);

                if (websiteLocation.Match(farm.Location) &&
                    string.Equals("free", farm.Sku?.Tier?.ToLower(), StringComparison.OrdinalIgnoreCase) &&
                    farm.NumberOfSites < MaxFreeSites)
                {
                    defaultFarm = farm;
                    break;
                }
            }

            return(defaultFarm);
        }
コード例 #4
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);
        }
コード例 #5
0
 public ServerFarmWithRichSku CreateAppServicePlan(string resourceGroupName, string appServicePlanName, string location, string adminSiteName, SkuDescription sku)
 {
     var serverFarm = new ServerFarmWithRichSku
     {
         Location = location,
         ServerFarmWithRichSkuName = appServicePlanName,
         Sku = sku,
         AdminSiteName = adminSiteName
     };
     
     return WrappedWebsitesClient.ServerFarms.CreateOrUpdateServerFarm(resourceGroupName, appServicePlanName, serverFarm);
 }
コード例 #6
0
        public ServerFarmWithRichSku CreateAppServicePlan(string resourceGroupName, string appServicePlanName, string location, string adminSiteName, SkuDescription sku, string aseName = null, string aseResourceGroupName = null)
        {
            var serverFarm = new ServerFarmWithRichSku
            {
                Location = location,
                ServerFarmWithRichSkuName = appServicePlanName,
                Sku = sku,
                AdminSiteName = adminSiteName
            };

            if (!string.IsNullOrEmpty(aseName)
                && !string.IsNullOrEmpty(aseResourceGroupName))
            {
                serverFarm.HostingEnvironmentProfile = new HostingEnvironmentProfile
                {
                    Id = CmdletHelpers.GetApplicationServiceEnvironmentResourceId(WrappedWebsitesClient.SubscriptionId, aseResourceGroupName, aseName),
                    Type = CmdletHelpers.ApplicationServiceEnvironmentResourcesName,
                    Name = aseName
                };
            }

            return WrappedWebsitesClient.ServerFarms.CreateOrUpdateServerFarm(resourceGroupName, appServicePlanName, serverFarm);
        }
コード例 #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);

            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);
        }
コード例 #8
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);
        }
コード例 #9
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);

            // 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);
        }