diff --git a/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/Network.java b/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/Network.java index a86c50dfa5331..86744bd6b33b7 100644 --- a/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/Network.java +++ b/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/Network.java @@ -39,7 +39,7 @@ public interface Network extends /** * @return list of DNS server IP addresses associated with this virtual network */ - List dnsServerIPs(); + List dnsServerIps(); /** * @return subnets of this virtual network as a map indexed by subnet name diff --git a/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/Subnet.java b/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/Subnet.java index af5ab4b636230..ae5476e4b2dc1 100644 --- a/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/Subnet.java +++ b/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/Subnet.java @@ -30,7 +30,7 @@ public interface Subnet extends *

* Note that this method will result in a call to Azure each time it is invoked. */ - NetworkSecurityGroup networkSecurityGroup(); + NetworkSecurityGroup getNetworkSecurityGroup(); /** * Grouping of subnet definition stages. diff --git a/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/NetworkImpl.java b/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/NetworkImpl.java index c63f38accba9f..cc406a361b983 100644 --- a/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/NetworkImpl.java +++ b/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/NetworkImpl.java @@ -6,11 +6,14 @@ package com.microsoft.azure.management.network.implementation; import com.microsoft.azure.management.apigeneration.LangDefinition; +import com.microsoft.azure.management.network.AddressSpace; +import com.microsoft.azure.management.network.DhcpOptions; import com.microsoft.azure.management.network.Network; import com.microsoft.azure.management.network.Subnet; import com.microsoft.azure.management.resources.fluentcore.arm.models.implementation.GroupableParentResourceImpl; import rx.Observable; +import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; @@ -80,6 +83,14 @@ NetworkManager manager() { @Override public NetworkImpl withDnsServer(String ipAddress) { + if (this.inner().dhcpOptions() == null) { + this.inner().withDhcpOptions(new DhcpOptions()); + } + + if (this.inner().dhcpOptions().dnsServers() == null) { + this.inner().dhcpOptions().withDnsServers(new ArrayList()); + } + this.inner().dhcpOptions().dnsServers().add(ipAddress); return this; } @@ -108,6 +119,14 @@ public NetworkImpl withoutSubnet(String name) { @Override public NetworkImpl withAddressSpace(String cidr) { + if (this.inner().addressSpace() == null) { + this.inner().withAddressSpace(new AddressSpace()); + } + + if (this.inner().addressSpace().addressPrefixes() == null) { + this.inner().addressSpace().withAddressPrefixes(new ArrayList()); + } + this.inner().addressSpace().addressPrefixes().add(cidr); return this; } @@ -123,12 +142,26 @@ public SubnetImpl defineSubnet(String name) { @Override public List addressSpaces() { - return Collections.unmodifiableList(this.inner().addressSpace().addressPrefixes()); + List addressSpaces = new ArrayList(); + if (this.inner().addressSpace() == null) { + return Collections.unmodifiableList(addressSpaces); + } else if (this.inner().addressSpace().addressPrefixes() == null) { + return Collections.unmodifiableList(addressSpaces); + } else { + return Collections.unmodifiableList(this.inner().addressSpace().addressPrefixes()); + } } @Override - public List dnsServerIPs() { - return Collections.unmodifiableList(this.inner().dhcpOptions().dnsServers()); + public List dnsServerIps() { + List ips = new ArrayList(); + if (this.inner().dhcpOptions() == null) { + return Collections.unmodifiableList(ips); + } else if (this.inner().dhcpOptions().dnsServers() == null) { + return Collections.unmodifiableList(ips); + } else { + return this.inner().dhcpOptions().dnsServers(); + } } @Override diff --git a/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/NetworkInterfaceImpl.java b/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/NetworkInterfaceImpl.java index 62b39e13b49b4..b975737141b16 100644 --- a/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/NetworkInterfaceImpl.java +++ b/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/NetworkInterfaceImpl.java @@ -285,22 +285,29 @@ public String macAddress() { @Override public String internalDnsNameLabel() { - return this.inner().dnsSettings().internalDnsNameLabel(); + return (this.inner().dnsSettings() != null) ? this.inner().dnsSettings().internalDnsNameLabel() : null; } @Override public String internalDomainNameSuffix() { - return this.inner().dnsSettings().internalDomainNameSuffix(); + return (this.inner().dnsSettings() != null) ? this.inner().dnsSettings().internalDomainNameSuffix() : null; } @Override public List appliedDnsServers() { - return Collections.unmodifiableList(this.inner().dnsSettings().appliedDnsServers()); + List dnsServers = new ArrayList(); + if (this.inner().dnsSettings() == null) { + return Collections.unmodifiableList(dnsServers); + } else if (this.inner().dnsSettings().appliedDnsServers() == null) { + return Collections.unmodifiableList(dnsServers); + } else { + return Collections.unmodifiableList(this.inner().dnsSettings().appliedDnsServers()); + } } @Override public String internalFqdn() { - return this.inner().dnsSettings().internalFqdn(); + return (this.inner().dnsSettings() != null) ? this.inner().dnsSettings().internalFqdn() : null; } @Override @@ -325,10 +332,7 @@ public Map ipConfigurations() { @Override public String networkSecurityGroupId() { - if (this.inner().networkSecurityGroup() != null) { - return this.inner().networkSecurityGroup().id(); - } - return null; + return (this.inner().networkSecurityGroup() != null) ? this.inner().networkSecurityGroup().id() : null; } @Override @@ -370,10 +374,14 @@ public NicIpConfigurationImpl primaryIpConfiguration() { * @return the list of DNS server IPs from the DNS settings */ private List dnsServerIps() { - if (this.inner().dnsSettings().dnsServers() == null) { - this.inner().dnsSettings().withDnsServers(new ArrayList()); + List dnsServers = new ArrayList(); + if (this.inner().dnsSettings() == null) { + return dnsServers; + } else if (this.inner().dnsSettings().dnsServers() == null) { + return dnsServers; + } else { + return this.inner().dnsSettings().dnsServers(); } - return this.inner().dnsSettings().dnsServers(); } @Override diff --git a/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/NicIpConfigurationImpl.java b/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/NicIpConfigurationImpl.java index b245299020eb0..0eeeea2b4bce0 100644 --- a/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/NicIpConfigurationImpl.java +++ b/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/NicIpConfigurationImpl.java @@ -120,17 +120,13 @@ public String subnetName() { @Override public String networkId() { SubResource subnetRef = this.inner().subnet(); - if (subnetRef != null) { - return ResourceUtils.parentResourcePathFromResourceId(subnetRef.id()); - } else { - return null; - } + return (subnetRef != null) ? ResourceUtils.parentResourcePathFromResourceId(subnetRef.id()) : null; } @Override public Network getNetwork() { String id = this.networkId(); - return this.networkManager.networks().getById(id); + return (id != null) ? this.networkManager.networks().getById(id) : null; } @Override diff --git a/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/SubnetImpl.java b/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/SubnetImpl.java index f76ef954fa015..f9526818d316b 100644 --- a/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/SubnetImpl.java +++ b/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/SubnetImpl.java @@ -24,7 +24,7 @@ class SubnetImpl Subnet.UpdateDefinition, Subnet.Update { - protected SubnetImpl(SubnetInner inner, NetworkImpl parent) { + SubnetImpl(SubnetInner inner, NetworkImpl parent) { super(inner, parent); } @@ -40,7 +40,7 @@ public String name() { } @Override - public NetworkSecurityGroup networkSecurityGroup() { + public NetworkSecurityGroup getNetworkSecurityGroup() { SubResource nsgResource = this.inner().networkSecurityGroup(); if (nsgResource == null) { return null; diff --git a/azure-samples/src/main/java/com/microsoft/azure/management/samples/Utils.java b/azure-samples/src/main/java/com/microsoft/azure/management/samples/Utils.java index 6e299fefc7bef..224fb3fdcd1d1 100644 --- a/azure-samples/src/main/java/com/microsoft/azure/management/samples/Utils.java +++ b/azure-samples/src/main/java/com/microsoft/azure/management/samples/Utils.java @@ -198,13 +198,13 @@ public static void print(Network resource) throws CloudException, IOException { .append("\n\tRegion: ").append(resource.region()) .append("\n\tTags: ").append(resource.tags()) .append("\n\tAddress spaces: ").append(resource.addressSpaces()) - .append("\n\tDNS server IPs: ").append(resource.dnsServerIPs()); + .append("\n\tDNS server IPs: ").append(resource.dnsServerIps()); // Output subnets for (Subnet subnet : resource.subnets().values()) { info.append("\n\tSubnet: ").append(subnet.name()) .append("\n\t\tAddress prefix: ").append(subnet.addressPrefix()); - NetworkSecurityGroup subnetNsg = subnet.networkSecurityGroup(); + NetworkSecurityGroup subnetNsg = subnet.getNetworkSecurityGroup(); if (subnetNsg != null) { info.append("\n\t\tNetwork security group: ").append(subnetNsg.id()); } diff --git a/azure/src/test/java/com/microsoft/azure/TestNetwork.java b/azure/src/test/java/com/microsoft/azure/TestNetwork.java index d04cdbc130e10..dbdad0aca5e41 100644 --- a/azure/src/test/java/com/microsoft/azure/TestNetwork.java +++ b/azure/src/test/java/com/microsoft/azure/TestNetwork.java @@ -94,7 +94,7 @@ public void print(Network resource) { .append("\n\tRegion: ").append(resource.region()) .append("\n\tTags: ").append(resource.tags()) .append("\n\tAddress spaces: ").append(resource.addressSpaces()) - .append("\n\tDNS server IPs: ").append(resource.dnsServerIPs()); + .append("\n\tDNS server IPs: ").append(resource.dnsServerIps()); // Output subnets for (Subnet subnet : resource.subnets().values()) { @@ -104,7 +104,7 @@ public void print(Network resource) { NetworkSecurityGroup nsg; try { - nsg = subnet.networkSecurityGroup(); + nsg = subnet.getNetworkSecurityGroup(); } catch (Exception e) { nsg = null; }