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