@Test public void testExtractVirtualNetwork() { assertEquals(Subnet.builder().build().virtualNetwork(), null); assertEquals( Subnet.builder() .id("/subscriptions/subscription/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vn/subnets/subnet") .build().virtualNetwork(), "vn"); assertInvalidId("/subscriptions/subscription/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks"); assertInvalidId("virtualNetworks/vn"); }
private static void assertInvalidId(String id) { try { Subnet.builder().id(id).build().virtualNetwork(); fail("The given ID " + id + "should not match a valid virtual network"); } catch (IllegalStateException ex) { // Expected } } }
@SerializedNames({"name", "id", "etag", "properties"}) public static Subnet create(final String name, final String id, final String etag, final SubnetProperties properties) { return builder().name(name).id(id).etag(etag).properties(properties).build(); }
@SerializedNames({"name", "id", "etag", "properties"}) public static Subnet create(final String name, final String id, final String etag, final SubnetProperties properties) { return builder().name(name).id(id).etag(etag).properties(properties).build(); }
@Test(dependsOnMethods = "deleteVirtualNetworkResourceDoesNotExist") public void createVirtualNetwork() { Subnet subnet = Subnet.builder().name("subnetName") .properties(SubnetProperties.builder().addressPrefix(TEST_VIRTUALNETWORK_ADDRESS_PREFIX).build()).build(); final VirtualNetwork.VirtualNetworkProperties virtualNetworkProperties = VirtualNetwork.VirtualNetworkProperties .builder().subnets(ImmutableList.<Subnet> of(subnet)) .addressSpace(AddressSpace.create(Arrays.asList(TEST_VIRTUALNETWORK_ADDRESS_PREFIX))).build(); VirtualNetwork vn = api().createOrUpdate(virtualNetworkName, LOCATION, null, virtualNetworkProperties); networkAvailablePredicate.create(resourceGroupName).apply(virtualNetworkName); assertEquals(vn.name(), virtualNetworkName); assertEquals(vn.location(), LOCATION); }
protected synchronized void createDefaultNetworkIfNeeded(String group, String location, AzureTemplateOptions options) { if (options.getIpOptions().isEmpty()) { String name = namingConvention.create().sharedNameForGroup(group); Subnet subnet = Subnet.builder().name(name) .properties(SubnetProperties.builder().addressPrefix(defaultSubnetAddressPrefix).build()).build(); VirtualNetworkProperties properties = VirtualNetworkProperties.builder() .addressSpace(AddressSpace.create(Arrays.asList(defaultVnetAddressPrefix))) .subnets(Arrays.asList(subnet)).build(); logger.debug(">> network options have not been configured. Creating network %s(%s) and subnet %s(%s)", name, defaultVnetAddressPrefix, name, defaultSubnetAddressPrefix); api.getVirtualNetworkApi(options.getResourceGroup()).createOrUpdate(name, location, null, properties); checkState(networkAvailable.create(options.getResourceGroup()).apply(name), "Network/Subnet was not created in the configured timeout"); Subnet createdSubnet = api.getSubnetApi(options.getResourceGroup(), name).get(name); options.ipOptions(IpOptions.builder().subnet(createdSubnet.id()).allocateNewPublicIp(true).build()); } }
public void testProviderSpecificNetworkOptions() { AzureComputeApi api = createMock(AzureComputeApi.class); SubnetApi subnetApi = createMock(SubnetApi.class); PublicIPAddressApi publicIpApi = createMock(PublicIPAddressApi.class); expect(api.getSubnetApi(anyObject(String.class), anyObject(String.class))).andReturn(subnetApi).times(2); expect(api.getPublicIPAddressApi(anyObject(String.class))).andReturn(publicIpApi); expect(subnetApi.get(anyObject(String.class))).andReturn(Subnet.builder().build()).times(2); expect(publicIpApi.get(anyObject(String.class))).andReturn(mockAddress()); replay(api, subnetApi, publicIpApi); IpOptions publicOpts = IpOptions.builder().subnet(netResource("/virtualNetworks/vn/subnets/foo")) .publicIpId(netResource("/publicIPAddresses/pub")).address("10.0.0.2").build(); IpOptions privateOpts = IpOptions.builder().subnet(netResource("/virtualNetworks/vn/subnets/bar")).build(); AzureTemplateOptions options = new AzureTemplateOptions(); options.ipOptions(publicOpts, privateOpts); strategy(api).normalizeNetworkOptions(options); assertEquals(options.getIpOptions(), ImmutableList.of(publicOpts, privateOpts)); // Verify that the code has validated that the subnets exist verify(api, subnetApi, publicIpApi); }
protected synchronized void createDefaultNetworkIfNeeded(String group, String location, AzureTemplateOptions options) { if (options.getIpOptions().isEmpty()) { String name = namingConvention.create().sharedNameForGroup(group); Subnet subnet = Subnet.builder().name(name) .properties(SubnetProperties.builder().addressPrefix(defaultSubnetAddressPrefix).build()).build(); VirtualNetworkProperties properties = VirtualNetworkProperties.builder() .addressSpace(AddressSpace.create(Arrays.asList(defaultVnetAddressPrefix))) .subnets(Arrays.asList(subnet)).build(); logger.debug(">> network options have not been configured. Creating network %s(%s) and subnet %s(%s)", name, defaultVnetAddressPrefix, name, defaultSubnetAddressPrefix); api.getVirtualNetworkApi(options.getResourceGroup()).createOrUpdate(name, location, null, properties); Subnet createdSubnet = api.getSubnetApi(options.getResourceGroup(), name).get(name); options.ipOptions(IpOptions.builder().subnet(createdSubnet.id()).allocateNewPublicIp(true).build()); } }
public void testPortableNetworkOptions() { AzureComputeApi api = createMock(AzureComputeApi.class); SubnetApi subnetApi = createMock(SubnetApi.class); expect(api.getSubnetApi(anyObject(String.class), anyObject(String.class))).andReturn(subnetApi).times(2); expect(subnetApi.get(anyObject(String.class))).andReturn(Subnet.builder().build()).times(2); replay(api, subnetApi); AzureTemplateOptions options = new AzureTemplateOptions(); options.networks(netResource("/virtualNetworks/vn/subnets/foo"), netResource("/virtualNetworks/vn/subnets/bar")); strategy(api).normalizeNetworkOptions(options); assertEquals(options.getIpOptions(), ImmutableList.of( IpOptions.builder().subnet(netResource("/virtualNetworks/vn/subnets/foo")).allocateNewPublicIp(true).build(), IpOptions.builder().subnet(netResource("/virtualNetworks/vn/subnets/bar")).allocateNewPublicIp(true).build()) ); // Verify that the code has validated that the subnets exist verify(api, subnetApi); }