@SerializedNames({"provisioningState", "resourceGuid", "enableIPForwarding", "ipConfigurations", "networkSecurityGroup"}) public static NetworkInterfaceCardProperties create(final String provisioningState, final String resourceGuid, final Boolean enableIPForwarding, final List<IpConfiguration> ipConfigurations, final IdReference networkSecurityGroup) { NetworkInterfaceCardProperties.Builder builder = NetworkInterfaceCardProperties.builder() .provisioningState(provisioningState) .resourceGuid(resourceGuid) .enableIPForwarding(enableIPForwarding) .ipConfigurations(ipConfigurations == null ? null : ImmutableList.copyOf(ipConfigurations)) .networkSecurityGroup(networkSecurityGroup); return builder.build(); }
private Iterable<IdReference> getPublicIps(NetworkInterfaceCard nic) { return filter(transform(nic.properties().ipConfigurations(), new Function<IpConfiguration, IdReference>() { @Override public IdReference apply(IpConfiguration input) { return input.properties().publicIPAddress(); } }), notNull()); }
@Test public void createNetworkInterfaceCard() { //Create properties object final NetworkInterfaceCardProperties networkInterfaceCardProperties = NetworkInterfaceCardProperties.builder() .ipConfigurations(Arrays.asList(IpConfiguration.builder().name("myipconfig") .properties(IpConfigurationProperties.builder().privateIPAllocationMethod("Dynamic").primary (TRUE) .subnet(IdReference.create(subnetId)).build() ).build() )).build(); final Map<String, String> tags = ImmutableMap.of("jclouds", "livetest"); NetworkInterfaceCard nic = api().createOrUpdate(nicName, LOCATION, networkInterfaceCardProperties, tags); assertEquals(nic.name(), nicName); assertEquals(nic.location(), LOCATION); assertTrue(nic.properties().ipConfigurations().size() > 0); assertEquals(nic.properties().ipConfigurations().get(0).name(), "myipconfig"); assertEquals(nic.properties().ipConfigurations().get(0).properties().privateIPAllocationMethod(), "Dynamic"); assertTrue(nic.properties().ipConfigurations().get(0).properties().primary()); assertEquals(nic.properties().ipConfigurations().get(0).properties().subnet().id(), subnetId); assertEquals(nic.tags().get("jclouds"), "livetest"); }
private NetworkInterfaceCard attachNicToBackendPool(final String nicName, BackendAddressPool pool) { List<IdReference> poolRefs = ImmutableList.of(IdReference.create(pool.id())); // Assume we are attaching the first IP to the Load Balancer NetworkInterfaceCard nic = nicApi.get(nicName); IpConfigurationProperties ipProps = nic.properties().ipConfigurations().get(0).properties().toBuilder() .loadBalancerBackendAddressPools(poolRefs).build(); List<IpConfiguration> ips = ImmutableList.of(nic.properties().ipConfigurations().get(0).toBuilder() .properties(ipProps).build()); NetworkInterfaceCardProperties nicProps = nic.properties().toBuilder().ipConfigurations(ips).build(); nicApi.createOrUpdate(nicName, location, nicProps, null); resourceAvailable.apply(new Supplier<Provisionable>() { @Override public Provisionable get() { NetworkInterfaceCard updated = nicApi.get(nicName); return updated == null ? null : updated.properties(); } }); return nicApi.get(nicName); }
public void getNetworkInterfaceCard() throws InterruptedException { server.enqueue(jsonResponse("/getnetworkinterfacecard.json")); final NetworkInterfaceCardApi nicApi = api.getNetworkInterfaceCardApi(resourcegroup); NetworkInterfaceCard nic = nicApi.get(nicName); String path = String.format("/subscriptions/%s/resourcegroups/%s/providers/Microsoft.Network/networkInterfaces/%s?%s", subscriptionid, resourcegroup, nicName, apiVersion); assertSent(server, "GET", path); assertNotNull(nic); assertEquals(nic.name(), nicName); assertTrue(nic.properties().primary()); assertEquals(nic.properties().ipConfigurations().get(0).name(), "myip1"); assertTrue(nic.properties().ipConfigurations().get(0).properties().primary()); assertEquals(nic.tags().get("mycustomtag"), "foobar"); }
@Override public Set<SecurityGroup> listSecurityGroupsForNode(String nodeId) { logger.debug(">> getting security groups for node %s...", nodeId); final ResourceGroupAndName resourceGroupAndName = ResourceGroupAndName.fromSlashEncoded(nodeId); VirtualMachine vm = api.getVirtualMachineApi(resourceGroupAndName.resourceGroup()).get( resourceGroupAndName.name()); if (vm == null) { throw new IllegalArgumentException("Node " + nodeId + " was not found"); } List<NetworkInterface> networkInterfaces = vm.properties().networkProfile().networkInterfaces(); List<NetworkSecurityGroup> networkGroups = new ArrayList<NetworkSecurityGroup>(); for (NetworkInterface networkInterfaceCardIdReference : networkInterfaces) { String nicName = extractName(networkInterfaceCardIdReference.id()); String nicResourceGroup = extractResourceGroup(networkInterfaceCardIdReference.id()); NetworkInterfaceCard card = api.getNetworkInterfaceCardApi(nicResourceGroup).get(nicName); if (card != null && card.properties().networkSecurityGroup() != null) { String secGroupName = card.properties().networkSecurityGroup().name(); String sgResourceGroup = card.properties().networkSecurityGroup().resourceGroup(); NetworkSecurityGroup group = api.getNetworkSecurityGroupApi(sgResourceGroup).get(secGroupName); networkGroups.add(group); } } return ImmutableSet.copyOf(transform(filter(networkGroups, notNull()), securityGroupConverter)); }
private NetworkInterfaceCard createNetworkInterfaceCard( String networkInterfaceCardName, String locationName) { //Create properties object NetworkInterfaceCardProperties networkInterfaceCardProperties = NetworkInterfaceCardProperties.create( null, null, false, null, IdReference.create( "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxxx/resourceGroups/" + "jcloud-eastus/providers/" + "Microsoft.Network/virtualNetworks/" + "jclouds-eastus-virtualNetworkName" + "/subnets/" + "jclouds-eastus-subnet"), null, Boolean.TRUE ); Map<String, String> tags = ImmutableMap.of("jclouds", "livetest"); return NetworkInterfaceCard.create( networkInterfaceCardName, "", null, locationName, networkInterfaceCardProperties, tags); }
private NetworkInterfaceCard attachNicToNatRule(final String nicName, InboundNatRule rule) { List<IdReference> natRuleRefs = ImmutableList.of(IdReference.create(rule.id())); // Assume we are attaching the first IP to the NAT rule NetworkInterfaceCard nic = nicApi.get(nicName); IpConfigurationProperties ipProps = nic.properties().ipConfigurations().get(0).properties().toBuilder() .loadBalancerInboundNatRules(natRuleRefs).build(); List<IpConfiguration> ips = ImmutableList.of(nic.properties().ipConfigurations().get(0).toBuilder() .properties(ipProps).build()); NetworkInterfaceCardProperties nicProps = nic.properties().toBuilder().ipConfigurations(ips).build(); nicApi.createOrUpdate(nicName, location, nicProps, null); resourceAvailable.apply(new Supplier<Provisionable>() { @Override public Provisionable get() { NetworkInterfaceCard updated = nicApi.get(nicName); return updated == null ? null : updated.properties(); } }); return nicApi.get(nicName); }
@Override public Set<SecurityGroup> listSecurityGroupsForNode(String nodeId) { logger.debug(">> getting security groups for node %s...", nodeId); final ResourceGroupAndName resourceGroupAndName = ResourceGroupAndName.fromSlashEncoded(nodeId); VirtualMachine vm = api.getVirtualMachineApi(resourceGroupAndName.resourceGroup()).get( resourceGroupAndName.name()); if (vm == null) { throw new IllegalArgumentException("Node " + nodeId + " was not found"); } List<NetworkInterface> networkInterfaces = vm.properties().networkProfile().networkInterfaces(); List<NetworkSecurityGroup> networkGroups = new ArrayList<NetworkSecurityGroup>(); for (NetworkInterface networkInterfaceCardIdReference : networkInterfaces) { String nicName = extractName(networkInterfaceCardIdReference.id()); String nicResourceGroup = extractResourceGroup(networkInterfaceCardIdReference.id()); NetworkInterfaceCard card = api.getNetworkInterfaceCardApi(nicResourceGroup).get(nicName); if (card != null && card.properties().networkSecurityGroup() != null) { String secGroupName = card.properties().networkSecurityGroup().name(); String sgResourceGroup = card.properties().networkSecurityGroup().resourceGroup(); NetworkSecurityGroup group = api.getNetworkSecurityGroupApi(sgResourceGroup).get(secGroupName); networkGroups.add(group); } } return ImmutableSet.copyOf(transform(filter(networkGroups, notNull()), securityGroupConverter)); }
public void createNetworkInterfaceCard() throws InterruptedException { server.enqueue(jsonResponse("/createnetworkinterfacecard.json").setStatus("HTTP/1.1 201 Created")); final NetworkInterfaceCardApi nicApi = api.getNetworkInterfaceCardApi(resourcegroup); final String SubnetID = "/subscriptions/" + subscriptionid + "/resourceGroups/azurearmtesting/providers/Microsoft.Network/virtualNetworks/myvirtualnetwork/subnets/mysubnet"; //Create properties object final NetworkInterfaceCardProperties networkInterfaceCardProperties = NetworkInterfaceCardProperties .create(null, null, null, Arrays.asList(IpConfiguration.create("myipconfig", null, null, IpConfigurationProperties .create(null, null, "Dynamic", IdReference.create(SubnetID), null, null, null, Boolean.TRUE))), null, null, Boolean.TRUE); final Map<String, String> tags = ImmutableMap.of("mycustomtag", "foobar"); NetworkInterfaceCard nic = nicApi.createOrUpdate(nicName, location, networkInterfaceCardProperties, tags); String path = String.format("/subscriptions/%s/resourcegroups/%s/providers/Microsoft.Network/networkInterfaces/%s?%s", subscriptionid, resourcegroup, nicName, apiVersion); String json = String.format( "{\"location\":\"northeurope\",\"properties\":{\"ipConfigurations\":[{\"name\":\"myipconfig\"," + "\"properties\":{\"privateIPAllocationMethod\":\"Dynamic\"," + "\"subnet\":{\"id\":\"/subscriptions/SUBSCRIPTIONID/resourceGroups/azurearmtesting/providers" + "/Microsoft" + ".Network/virtualNetworks/myvirtualnetwork/subnets/mysubnet\"},\"primary\":true}}]," + "\"primary\":true}," + "\"tags\":{\"mycustomtag\":\"foobar\"}}"); assertSent(server, "PUT", path, json); assertEquals(nic.tags().get("mycustomtag"), "foobar"); }
private Iterable<IdReference> getPublicIps(NetworkInterfaceCard nic) { return filter(transform(nic.properties().ipConfigurations(), new Function<IpConfiguration, IdReference>() { @Override public IdReference apply(IpConfiguration input) { return input.properties().publicIPAddress(); } }), notNull()); }
@SerializedNames({"provisioningState", "resourceGuid", "enableIPForwarding", "ipConfigurations", "networkSecurityGroup", "virtualMachine", "primary" }) public static NetworkInterfaceCardProperties create(final String provisioningState, final String resourceGuid, final Boolean enableIPForwarding, final List<IpConfiguration> ipConfigurations, final IdReference networkSecurityGroup, final IdReference virtualMachine, final Boolean primary) { NetworkInterfaceCardProperties.Builder builder = NetworkInterfaceCardProperties.builder() .provisioningState(provisioningState) .resourceGuid(resourceGuid) .enableIPForwarding(enableIPForwarding) .ipConfigurations(ipConfigurations == null ? null : ImmutableList.copyOf(ipConfigurations)) .networkSecurityGroup(networkSecurityGroup).virtualMachine(virtualMachine).primary(primary); return builder.build(); }
private Iterable<String> getPrivateIpAddresses(List<NetworkInterface> networkInterfaces) { List<String> privateIpAddresses = Lists.newArrayList(); for (NetworkInterface networkInterfaceCardIdReference : networkInterfaces) { NetworkInterfaceCard networkInterfaceCard = getNetworkInterfaceCard(networkInterfaceCardIdReference); if (networkInterfaceCard != null && networkInterfaceCard.properties() != null && networkInterfaceCard.properties().ipConfigurations() != null) { for (IpConfiguration ipConfiguration : networkInterfaceCard.properties().ipConfigurations()) { if (ipConfiguration.properties().privateIPAddress() != null) { privateIpAddresses.add(ipConfiguration.properties().privateIPAddress()); } } } } return privateIpAddresses; }
private NetworkInterfaceCard createNetworkInterfaceCard(final String resourceGroupName, String networkInterfaceCardName, String locationName, String ipConfigurationName) { //Create properties object final NetworkInterfaceCardProperties networkInterfaceCardProperties = NetworkInterfaceCardProperties .builder().ipConfigurations(Arrays.asList(IpConfiguration.create(ipConfigurationName, null, null, IpConfigurationProperties .create(null, null, "Dynamic", IdReference.create(subnetId), null, null, null, Boolean.TRUE)))) .build(); final Map<String, String> tags = ImmutableMap.of("jclouds", "livetest"); return api.getNetworkInterfaceCardApi(resourceGroupName).createOrUpdate(networkInterfaceCardName, locationName, networkInterfaceCardProperties, tags); }
private Iterable<String> getPrivateIpAddresses(List<NetworkInterface> networkInterfaces) { List<String> privateIpAddresses = Lists.newArrayList(); for (NetworkInterface networkInterfaceCardIdReference : networkInterfaces) { NetworkInterfaceCard networkInterfaceCard = getNetworkInterfaceCard(networkInterfaceCardIdReference); if (networkInterfaceCard != null && networkInterfaceCard.properties() != null && networkInterfaceCard.properties().ipConfigurations() != null) { for (IpConfiguration ipConfiguration : networkInterfaceCard.properties().ipConfigurations()) { if (ipConfiguration.properties().privateIPAddress() != null) { privateIpAddresses.add(ipConfiguration.properties().privateIPAddress()); } } } } return privateIpAddresses; }
private NetworkInterfaceCard createNetworkInterfaceCard(final String resourceGroupName, String networkInterfaceCardName, String locationName, String ipConfigurationName) { //Create properties object final NetworkInterfaceCardProperties networkInterfaceCardProperties = NetworkInterfaceCardProperties .builder().ipConfigurations(Arrays.asList(IpConfiguration.create(ipConfigurationName, null, null, IpConfigurationProperties .create(null, null, "Dynamic", IdReference.create(subnetId), null, null, null, null)))).build(); final Map<String, String> tags = ImmutableMap.of("jclouds", "livetest"); return api.getNetworkInterfaceCardApi(resourceGroupName).createOrUpdate(networkInterfaceCardName, locationName, networkInterfaceCardProperties, tags); }
public void listNetworkInterfaceCards() throws InterruptedException { server.enqueue(jsonResponse("/listnetworkinterfaces.json")); final NetworkInterfaceCardApi nicApi = api.getNetworkInterfaceCardApi(resourcegroup); List<NetworkInterfaceCard> nicList = nicApi.list(); String path = String.format("/subscriptions/%s/resourcegroups/%s/providers/Microsoft.Network/networkInterfaces?%s", subscriptionid, resourcegroup, apiVersion); assertSent(server, "GET", path); assertTrue(nicList.size() == 2); assertTrue(nicList.get(0).properties().ipConfigurations().size() > 0); assertEquals(nicList.get(0).properties().ipConfigurations().get(0).properties().privateIPAllocationMethod(), "Dynamic"); assertTrue(nicList.get(1).properties().ipConfigurations().size() > 0); assertEquals(nicList.get(1).properties().ipConfigurations().get(0).properties().privateIPAllocationMethod(), "Static"); }
NetworkInterfaceCardProperties.Builder nicProperties = NetworkInterfaceCardProperties.builder().ipConfigurations( ImmutableList.of(config));
@Test(dependsOnMethods = "createNetworkInterfaceCard") public void getNetworkInterfaceCard() { NetworkInterfaceCard nic = api().get(nicName); assertEquals(nic.name(), nicName); assertEquals(nic.location(), LOCATION); assertTrue(nic.properties().ipConfigurations().size() > 0); assertEquals(nic.properties().ipConfigurations().get(0).name(), "myipconfig"); assertEquals(nic.properties().ipConfigurations().get(0).properties().privateIPAllocationMethod(), "Dynamic"); assertEquals(nic.properties().ipConfigurations().get(0).properties().subnet().id(), subnetId); }
NetworkInterfaceCardProperties.Builder nicProperties = NetworkInterfaceCardProperties.builder().ipConfigurations( ImmutableList.of(config));