internal PsApiManagementRegion(AdditionalLocation additionalLocation) : this() { if (additionalLocation == null) { throw new ArgumentNullException("regionResource"); } Location = additionalLocation.Location; Sku = Mappers.MapSku(additionalLocation.Sku.Name); Capacity = additionalLocation.Sku.Capacity ?? 1; RuntimeRegionalUrl = additionalLocation.GatewayRegionalUrl; PublicIPAddresses = additionalLocation.PublicIPAddresses != null?additionalLocation.PublicIPAddresses.ToArray() : null; PrivateIPAddresses = additionalLocation.PrivateIPAddresses != null?additionalLocation.PrivateIPAddresses.ToArray() : null; var staticIPList = new List <string>(); if (additionalLocation.PublicIPAddresses != null) { staticIPList.AddRange(additionalLocation.PublicIPAddresses); } if (additionalLocation.PrivateIPAddresses != null) { staticIPList.AddRange(additionalLocation.PrivateIPAddresses); } #pragma warning disable CS0618 StaticIPs = staticIPList.ToArray(); #pragma warning restore CS0618 if (additionalLocation.VirtualNetworkConfiguration != null) { VirtualNetwork = new PsApiManagementVirtualNetwork(additionalLocation.VirtualNetworkConfiguration); } }
internal PsApiManagementRegion(AdditionalLocation additionalLocation) : this() { if (additionalLocation == null) { throw new ArgumentNullException("regionResource"); } Location = additionalLocation.Location; Sku = Mappers.MapSku(additionalLocation.Sku.Name); Capacity = additionalLocation.Sku.Capacity; RuntimeRegionalUrl = additionalLocation.GatewayRegionalUrl; PublicIPAddresses = additionalLocation.PublicIPAddresses != null?additionalLocation.PublicIPAddresses.ToArray() : null; PrivateIPAddresses = additionalLocation.PrivateIPAddresses != null?additionalLocation.PrivateIPAddresses.ToArray() : null; Zone = additionalLocation.Zones?.ToArray(); DisableGateway = additionalLocation.DisableGateway; PublicIpAddressId = additionalLocation.PublicIpAddressId; PlatformVersion = additionalLocation.PlatformVersion; if (additionalLocation.VirtualNetworkConfiguration != null) { VirtualNetwork = new PsApiManagementVirtualNetwork(additionalLocation.VirtualNetworkConfiguration); } }
public static AdditionalLocation GetAdditionalLocation( this PsApiManagementRegion region) { if (region == null) { return(null); } var additionalLocation = new AdditionalLocation(); additionalLocation.Location = region.Location; additionalLocation.Sku = new ApiManagementServiceSkuProperties() { Name = Mappers.MapSku(region.Sku), Capacity = region.Capacity }; additionalLocation.VirtualNetworkConfiguration = region.VirtualNetwork == null ? null : new VirtualNetworkConfiguration { SubnetResourceId = region.VirtualNetwork.SubnetResourceId }; additionalLocation.Zones = region.Zone; if (region.DisableGateway != null && region.DisableGateway.HasValue) { additionalLocation.DisableGateway = region.DisableGateway; } return(additionalLocation); }
public void CreateMultiRegionService() { Environment.SetEnvironmentVariable("AZURE_TEST_MODE", "Playback"); using (MockContext context = MockContext.Start(this.GetType())) { var testBase = new ApiManagementTestBase(context); var additionalLocation = new AdditionalLocation() { Location = testBase.GetLocation("Europe"), Sku = new ApiManagementServiceSkuProperties(SkuType.Premium) }; // only premium sku supports multi-region testBase.serviceProperties.Sku.Name = SkuType.Premium; testBase.serviceProperties.AdditionalLocations = new List <AdditionalLocation>() { additionalLocation }; var createdService = testBase.client.ApiManagementService.CreateOrUpdate( resourceGroupName: testBase.rgName, serviceName: testBase.serviceName, parameters: testBase.serviceProperties); ValidateService(createdService, testBase.serviceName, testBase.rgName, testBase.subscriptionId, testBase.location, testBase.serviceProperties.PublisherEmail, testBase.serviceProperties.PublisherName, testBase.serviceProperties.Sku.Name, testBase.tags); Assert.NotNull(createdService.AdditionalLocations); Assert.Single(createdService.AdditionalLocations); Assert.Equal(additionalLocation.Location.ToLowerInvariant().Replace(" ", string.Empty), createdService.AdditionalLocations.First().Location.ToLowerInvariant().Replace(" ", string.Empty)); // Delete testBase.client.ApiManagementService.Delete( resourceGroupName: testBase.rgName, serviceName: testBase.serviceName); Assert.Throws <CloudException>(() => { testBase.client.ApiManagementService.Get( resourceGroupName: testBase.rgName, serviceName: testBase.serviceName); }); } }
public void TestConstructor() { var locationName = "location name"; var latitude = 1.0f; var longitude = 2.0f; var cityId = 2; var countryId = 3; var divisionId = 5; var regionId = 10; var creatorId = 1; var creator = new User(creatorId); var locationTypeId = LocationType.Place.Id; var model = new AdditionalLocation(creator, locationName, cityId, countryId, divisionId, regionId, latitude, longitude, locationTypeId); Assert.AreEqual(locationName, model.LocationName); Assert.AreEqual(latitude, model.Latitude); Assert.AreEqual(longitude, model.Longitude); Assert.AreEqual(cityId, model.CityId); Assert.AreEqual(countryId, model.CountryId); Assert.AreEqual(locationTypeId, model.LocationTypeId); Assert.AreEqual(divisionId, model.DivisionId); Assert.IsTrue(Object.ReferenceEquals(creator, model.Audit.User)); }