diff --git a/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/NetworkSecurityGroup.java b/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/NetworkSecurityGroup.java index 1eaac5b1e17a..8a952d269c10 100644 --- a/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/NetworkSecurityGroup.java +++ b/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/NetworkSecurityGroup.java @@ -83,7 +83,7 @@ interface DefinitionWithRule { * @param name the name for the new security rule * @return the first stage of the security rule definition */ - NetworkSecurityRule.DefinitionBlank defineRule(String name); + NetworkSecurityRule.Definables.Blank defineRule(String name); } /** @@ -91,7 +91,8 @@ interface DefinitionWithRule { */ interface UpdateWithRule { Update withoutRule(String name); - //TODO defineRule(String name)... + NetworkSecurityRule.UpdateDefinables.Blank defineRule(String name); + NetworkSecurityRule.Update updateRule(String name); } /** diff --git a/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/NetworkSecurityRule.java b/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/NetworkSecurityRule.java index 80581a1b822b..50d279131485 100644 --- a/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/NetworkSecurityRule.java +++ b/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/NetworkSecurityRule.java @@ -11,6 +11,7 @@ import com.microsoft.azure.management.network.implementation.api.SecurityRuleProtocol; import com.microsoft.azure.management.resources.fluentcore.arm.models.ChildResource; import com.microsoft.azure.management.resources.fluentcore.model.Attachable; +import com.microsoft.azure.management.resources.fluentcore.model.Settable; import com.microsoft.azure.management.resources.fluentcore.model.Wrapper; /** @@ -52,7 +53,6 @@ public static Direction fromString(String s) { } } - /** * The possible access types supported by a network security rule. */ @@ -165,181 +165,534 @@ public static Protocol fromString(String s) { * The entirety of a network security rule definition. * @param the return type of the final {@link DefinitionAttachable#attach()} */ - interface Definitions extends - DefinitionBlank, - DefinitionAttachable, - DefinitionWithDirectionAccess, - DefinitionWithProtocol, - DefinitionWithSourceAddress, - DefinitionWithSourcePort, - DefinitionWithDestinationAddress, - DefinitionWithDestinationPort { + interface Definition extends + Definables.Blank, + Definables.WithAttach, + Definables.WithDirectionAccess, + Definables.WithSourceAddress, + Definables.WithSourcePort, + Definables.WithDestinationAddress, + Definables.WithDestinationPort, + Definables.WithProtocol { } /** - * The first stage of the subnet definition. + * The entirety of a network security rule definition as part of a network security group update. * @param the return type of the final {@link DefinitionAttachable#attach()} */ - interface DefinitionBlank extends DefinitionWithDirectionAccess { + interface UpdateDefinition extends + UpdateDefinables.Blank, + UpdateDefinables.WithDirectionAccess, + UpdateDefinables.WithSourceAddress, + UpdateDefinables.WithSourcePort, + UpdateDefinables.WithDestinationAddress, + UpdateDefinables.WithDestinationPort, + UpdateDefinables.WithProtocol, + UpdateDefinables.WithAttach { } /** - * The stage of the network rule definition allowing the direction and the access type to be specified. - * @param the return type of the final {@link DefinitionAttachable#attach()} + * The entirety of a security rule update as part of a network security group update. */ - interface DefinitionWithDirectionAccess { + interface Update extends + Updatables.WithDirectionAccess, + Updatables.WithSourceAddress, + Updatables.WithSourcePort, + Updatables.WithDestinationAddress, + Updatables.WithDestinationPort, + Updatables.WithProtocol, + Settable { + /** - * Allows inbound traffic. - * @return the next stage of the security rule definition + * Specifies the priority to assign to this rule. + *

+ * Security rules are applied in the order of their assigned priority. + * @param priority the priority number in the range 100 to 4096 + * @return the next stage of the update */ - DefinitionWithSourceAddress allowInbound(); + Update withPriority(int priority); + } + /** + * Grouping of security rule update stages. + */ + interface Updatables { /** - * Allows outbound traffic. - * @return the next stage of the security rule definition + * The stage of the network rule description allowing the direction and the access type to be specified. */ - DefinitionWithSourceAddress allowOutbound(); + interface WithDirectionAccess { + /** + * Allows inbound traffic. + * @return the next stage of the security rule definition + */ + Update allowInbound(); + + /** + * Allows outbound traffic. + * @return the next stage of the security rule definition + */ + Update allowOutbound(); + + /** + * Blocks inbound traffic. + * @return the next stage of the security rule definition + */ + Update denyInbound(); + + /** + * Blocks outbound traffic. + * @return the next stage of the security rule definition + */ + Update denyOutbound(); + } /** - * Blocks inbound traffic. - * @return the next stage of the security rule definition + * The stage of the network rule description allowing the source address to be specified. */ - DefinitionWithSourceAddress denyInbound(); + interface WithSourceAddress { + /** + * Specifies the traffic source address prefix to which this rule applies. + * @param cidr an IP address prefix expressed in the CIDR notation + * @return the next stage of the security rule definition + */ + Update fromAddress(String cidr); + + /** + * Specifies that the rule applies to any traffic source address. + * @return the next stage of the security rule definition + */ + Update fromAnyAddress(); + } /** - * Blocks outbound traffic. - * @return the next stage of the security rule definition + * The stage of the network rule description allowing the source port(s) to be specified. */ - DefinitionWithSourceAddress denyOutbound(); - } + interface WithSourcePort { + /** + * Specifies the source port to which this rule applies. + * @param port the source port number + * @return the next stage of the security rule definition + */ + Update fromPort(int port); + + /** + * Makes this rule apply to any source port. + * @return the next stage of the security rule definition + */ + Update fromAnyPort(); + + /** + * Specifies the source port range to which this rule applies. + * @param from the starting port number + * @param to the ending port number + * @return the next stage of the security rule definition + */ + Update fromPortRange(int from, int to); + } - /** - * The stage of the network rule definition allowing the source address to be specified. - * @param the return type of the final {@link DefinitionAttachable#attach()} - */ - interface DefinitionWithSourceAddress { /** - * Specifies the traffic source address prefix to which this rule applies. - * @param cidr an IP address prefix expressed in the CIDR notation - * @return the next stage of the security rule definition + * The stage of the network rule description allowing the destination address to be specified. */ - DefinitionWithSourcePort fromAddress(String cidr); + interface WithDestinationAddress { + /** + * Specifies the traffic destination address range to which this rule applies. + * @param cidr an IP address range expressed in the CIDR notation + * @return the next stage of the security rule definition + */ + Update toAddress(String cidr); + + /** + * Makes the rule apply to any traffic destination address. + * @return the next stage of the security rule definition + */ + Update toAnyAddress(); + } + + /** + * The stage of the network rule description allowing the destination port(s) to be specified. + */ + interface WithDestinationPort { + /** + * Specifies the destination port to which this rule applies. + * @param port the destination port number + * @return the next stage of the security rule definition + */ + Update toPort(int port); + + /** + * Makes this rule apply to any destination port. + * @return the next stage of the security rule definition + */ + Update toAnyPort(); + + /** + * Specifies the destination port range to which this rule applies. + * @param from the starting port number + * @param to the ending port number + * @return the next stage of the security rule definition + */ + Update toPortRange(int from, int to); + } /** - * Specifies that the rule applies to any traffic source address. - * @return the next stage of the security rule definition + * The stage of the security rule description allowing the protocol that the rule applies to to be specified. */ - DefinitionWithSourcePort fromAnyAddress(); + interface WithProtocol { + /** + * Specifies the protocol that this rule applies to. + * @param protocol one of the supported protocols + * @return the next stage of the security rule definition + */ + Update withProtocol(Protocol protocol); + + /** + * Makes this rule apply to any supported protocol. + * @return the next stage of the security rule definition + */ + Update withAnyProtocol(); + } } + /** - * The stage of the network rule definition allowing the source port(s) to be specified. - * @param the return type of the final {@link DefinitionAttachable#attach()} + * Grouping of security rule definition stages applicable as part of a network security group update. */ - interface DefinitionWithSourcePort { + interface UpdateDefinables { /** - * Specifies the source port to which this rule applies. - * @param port the source port number - * @return the next stage of the security rule definition + * The first stage of a security rule description as part of an update of a networking security group. + * @param the return type of the final {@link UpdateDefinitionAttachable#attach()} */ - DefinitionWithDestinationAddress fromPort(int port); + interface Blank extends WithDirectionAccess { + } /** - * Makes this rule apply to any source port. - * @return the next stage of the security rule definition + * The stage of the network rule definition allowing the direction and the access type to be specified. + * @param the return type of the final {@link DefinitionAttachable#attach()} */ - DefinitionWithDestinationAddress fromAnyPort(); + interface WithDirectionAccess { + /** + * Allows inbound traffic. + * @return the next stage of the security rule definition + */ + WithSourceAddress allowInbound(); + + /** + * Allows outbound traffic. + * @return the next stage of the security rule definition + */ + WithSourceAddress allowOutbound(); + + /** + * Blocks inbound traffic. + * @return the next stage of the security rule definition + */ + WithSourceAddress denyInbound(); + + /** + * Blocks outbound traffic. + * @return the next stage of the security rule definition + */ + WithSourceAddress denyOutbound(); + } /** - * Specifies the source port range to which this rule applies. - * @param from the starting port number - * @param to the ending port number - * @return the next stage of the security rule definition + * The stage of the network rule definition allowing the source address to be specified. + * @param the return type of the final {@link DefinitionAttachable#attach()} */ - DefinitionWithDestinationAddress fromPortRange(int from, int to); - } + interface WithSourceAddress { + /** + * Specifies the traffic source address prefix to which this rule applies. + * @param cidr an IP address prefix expressed in the CIDR notation + * @return the next stage of the security rule definition + */ + WithSourcePort fromAddress(String cidr); + + /** + * Specifies that the rule applies to any traffic source address. + * @return the next stage of the security rule definition + */ + WithSourcePort fromAnyAddress(); + } + + /** + * The stage of the network rule definition allowing the source port(s) to be specified. + * @param the return type of the final {@link DefinitionAttachable#attach()} + */ + interface WithSourcePort { + /** + * Specifies the source port to which this rule applies. + * @param port the source port number + * @return the next stage of the security rule definition + */ + WithDestinationAddress fromPort(int port); + + /** + * Makes this rule apply to any source port. + * @return the next stage of the security rule definition + */ + WithDestinationAddress fromAnyPort(); + + /** + * Specifies the source port range to which this rule applies. + * @param from the starting port number + * @param to the ending port number + * @return the next stage of the security rule definition + */ + WithDestinationAddress fromPortRange(int from, int to); + } - /** - * The stage of the network rule definition allowing the destination address to be specified. - * @param the return type of the final {@link DefinitionAttachable#attach()} - */ - interface DefinitionWithDestinationAddress { /** - * Specifies the traffic destination address range to which this rule applies. - * @param cidr an IP address range expressed in the CIDR notation - * @return the next stage of the security rule definition + * The stage of the network rule definition allowing the destination address to be specified. + * @param the return type of the final {@link DefinitionAttachable#attach()} */ - DefinitionWithDestinationPort toAddress(String cidr); + interface WithDestinationAddress { + /** + * Specifies the traffic destination address range to which this rule applies. + * @param cidr an IP address range expressed in the CIDR notation + * @return the next stage of the security rule definition + */ + WithDestinationPort toAddress(String cidr); + + /** + * Makes the rule apply to any traffic destination address. + * @return the next stage of the security rule definition + */ + WithDestinationPort toAnyAddress(); + } /** - * Makes the rule apply to any traffic destination address. - * @return the next stage of the security rule definition + * The stage of the network rule definition allowing the destination port(s) to be specified. + * @param the return type of the final {@link DefinitionAttachable#attach()} + */ + interface WithDestinationPort { + /** + * Specifies the destination port to which this rule applies. + * @param port the destination port number + * @return the next stage of the security rule definition + */ + WithProtocol toPort(int port); + + /** + * Makes this rule apply to any destination port. + * @return the next stage of the security rule definition + */ + WithProtocol toAnyPort(); + + /** + * Specifies the destination port range to which this rule applies. + * @param from the starting port number + * @param to the ending port number + * @return the next stage of the security rule definition + */ + WithProtocol toPortRange(int from, int to); + } + + /** + * The stage of the security rule definition allowing the protocol that the rule applies to to be specified. + * @param the return type of the final {@link DefinitionAttachable#attach()} + */ + interface WithProtocol { + /** + * Specifies the protocol that this rule applies to. + * @param protocol one of the supported protocols + * @return the next stage of the security rule definition + */ + WithAttach withProtocol(Protocol protocol); + + /** + * Makes this rule apply to any supported protocol. + * @return the next stage of the security rule definition + */ + WithAttach withAnyProtocol(); + } + + /** The final stage of the security rule definition. + *

+ * At this stage, any remaining optional settings can be specified, or the security rule definition + * can be attached to the parent network security group definition using {@link WithAttach#attach()}. + * @param the return type of {@link WithAttach#attach()} */ - DefinitionWithDestinationPort toAnyAddress(); + interface WithAttach extends Attachable.InUpdate { + + /** + * Specifies the priority to assign to this rule. + *

+ * Security rules are applied in the order of their assigned priority. + * @param priority the priority number in the range 100 to 4096 + * @return the next stage of the update + */ + WithAttach withPriority(int priority); + } } /** - * The stage of the network rule definition allowing the destination port(s) to be specified. - * @param the return type of the final {@link DefinitionAttachable#attach()} + * Grouping of security rule definition stages applicable as part of a network security group creation. */ - interface DefinitionWithDestinationPort { + interface Definables { /** - * Specifies the destination port to which this rule applies. - * @param port the destination port number - * @return the next stage of the security rule definition + * The first stage of a security rule definition. + * @param the return type of the final {@link DefinitionAttachable#attach()} */ - DefinitionWithProtocol toPort(int port); + interface Blank extends WithDirectionAccess { + } /** - * Makes this rule apply to any destination port. - * @return the next stage of the security rule definition + * The stage of the security rule definition allowing the protocol that the rule applies to to be specified. + * @param the return type of the final {@link DefinitionAttachable#attach()} */ - DefinitionWithProtocol toAnyPort(); + interface WithProtocol { + /** + * Specifies the protocol that this rule applies to. + * @param protocol one of the supported protocols + * @return the next stage of the security rule definition + */ + WithAttach withProtocol(Protocol protocol); + + /** + * Makes this rule apply to any supported protocol. + * @return the next stage of the security rule definition + */ + WithAttach withAnyProtocol(); + } /** - * Specifies the destination port range to which this rule applies. - * @param from the starting port number - * @param to the ending port number - * @return the next stage of the security rule definition + * The stage of the network rule definition allowing the destination port(s) to be specified. + * @param the return type of the final {@link DefinitionAttachable#attach()} */ - DefinitionWithProtocol toPortRange(int from, int to); - } + interface WithDestinationPort { + /** + * Specifies the destination port to which this rule applies. + * @param port the destination port number + * @return the next stage of the security rule definition + */ + WithProtocol toPort(int port); + + /** + * Makes this rule apply to any destination port. + * @return the next stage of the security rule definition + */ + WithProtocol toAnyPort(); + + /** + * Specifies the destination port range to which this rule applies. + * @param from the starting port number + * @param to the ending port number + * @return the next stage of the security rule definition + */ + WithProtocol toPortRange(int from, int to); + } - /** - * The stage of the security rule definition allowing the protocol that the rule applies to to be specified. - * @param the return type of the final {@link DefinitionAttachable#attach()} - */ - interface DefinitionWithProtocol { /** - * Specifies the protocol that this rule applies to. - * @param protocol one of the supported protocols - * @return the next stage of the security rule definition + * The stage of the network rule definition allowing the destination address to be specified. + * @param the return type of the final {@link DefinitionAttachable#attach()} */ - DefinitionAttachable withProtocol(Protocol protocol); + interface WithDestinationAddress { + /** + * Specifies the traffic destination address range to which this rule applies. + * @param cidr an IP address range expressed in the CIDR notation + * @return the next stage of the security rule definition + */ + WithDestinationPort toAddress(String cidr); + + /** + * Makes the rule apply to any traffic destination address. + * @return the next stage of the security rule definition + */ + WithDestinationPort toAnyAddress(); + } /** - * Makes this rule apply to any supported protocol. - * @return the next stage of the security rule definition + * The stage of the network rule definition allowing the source port(s) to be specified. + * @param the return type of the final {@link DefinitionAttachable#attach()} */ - DefinitionAttachable withAnyProtocol(); - } + interface WithSourcePort { + /** + * Specifies the source port to which this rule applies. + * @param port the source port number + * @return the next stage of the security rule definition + */ + WithDestinationAddress fromPort(int port); + + /** + * Makes this rule apply to any source port. + * @return the next stage of the security rule definition + */ + WithDestinationAddress fromAnyPort(); + + /** + * Specifies the source port range to which this rule applies. + * @param from the starting port number + * @param to the ending port number + * @return the next stage of the security rule definition + */ + WithDestinationAddress fromPortRange(int from, int to); + } - /** The final stage of the security rule definition. - *

- * At this stage, any remaining optional settings can be specified, or the security rule definition - * can be attached to the parent network security group definition using {@link DefinitionAttachable#attach()}. - * @param the return type of {@link DefinitionAttachable#attach()} - */ - interface DefinitionAttachable extends - Attachable { + /** + * The stage of the network rule definition allowing the source address to be specified. + * @param the return type of the final {@link DefinitionAttachable#attach()} + */ + interface WithSourceAddress { + /** + * Specifies the traffic source address prefix to which this rule applies. + * @param cidr an IP address prefix expressed in the CIDR notation + * @return the next stage of the security rule definition + */ + WithSourcePort fromAddress(String cidr); + + /** + * Specifies that the rule applies to any traffic source address. + * @return the next stage of the security rule definition + */ + WithSourcePort fromAnyAddress(); + } /** - * Specifies the priority to assign to this rule. + * The stage of the network rule definition allowing the direction and the access type to be specified. + * @param the return type of the final {@link DefinitionAttachable#attach()} + */ + interface WithDirectionAccess { + /** + * Allows inbound traffic. + * @return the next stage of the security rule definition + */ + WithSourceAddress allowInbound(); + + /** + * Allows outbound traffic. + * @return the next stage of the security rule definition + */ + WithSourceAddress allowOutbound(); + + /** + * Blocks inbound traffic. + * @return the next stage of the security rule definition + */ + WithSourceAddress denyInbound(); + + /** + * Blocks outbound traffic. + * @return the next stage of the security rule definition + */ + WithSourceAddress denyOutbound(); + } + + /** The final stage of the security rule definition. *

- * Security rules are applied in the order of their assigned priority. - * @param priority the priority number in the range 100 to 4096 - * @return the next stage of the update + * At this stage, any remaining optional settings can be specified, or the security rule definition + * can be attached to the parent network security group definition using {@link WithAttach#attach()}. + * @param the return type of {@link WithAttach#attach()} */ - DefinitionAttachable withPriority(int priority); + interface WithAttach extends Attachable.InDefinition { + + /** + * Specifies the priority to assign to this rule. + *

+ * Security rules are applied in the order of their assigned priority. + * @param priority the priority number in the range 100 to 4096 + * @return the next stage of the update + */ + WithAttach withPriority(int priority); + } } -} + } 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 075a39272615..ef4c9a12a3f6 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 @@ -199,7 +199,7 @@ public NicIpConfigurationImpl updateIpConfiguration(String name) { return (NicIpConfigurationImpl) nicIpConfiguration; } } - throw new RuntimeException("An Ip configuration with name'" + name + "' not found"); + throw new RuntimeException("IP configuration '" + name + "' not found"); } @Override diff --git a/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/NetworkSecurityGroupImpl.java b/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/NetworkSecurityGroupImpl.java index 5b4dbff2d08b..8992773d8c17 100644 --- a/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/NetworkSecurityGroupImpl.java +++ b/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/NetworkSecurityGroupImpl.java @@ -63,6 +63,24 @@ private void initializeRulesFromInner() { // Verbs + @Override + public NetworkSecurityRuleImpl updateRule(String name) { + for (NetworkSecurityRule r : this.rules) { + if (r.name().equalsIgnoreCase(name)) { + return (NetworkSecurityRuleImpl) r; + } + } + throw new RuntimeException("Network security rule '" + name + "' not found"); + } + + @Override + public NetworkSecurityRuleImpl defineRule(String name) { + SecurityRuleInner inner = new SecurityRuleInner(); + inner.withName(name); + inner.withPriority(100); // Must be at least 100 + return new NetworkSecurityRuleImpl(name, inner, this); + } + @Override public NetworkSecurityGroupImpl refresh() throws Exception { ServiceResponse response = @@ -110,14 +128,6 @@ public void success(ServiceResponse result) { // Setters (fluent) - @Override - public NetworkSecurityRuleImpl defineRule(String name) { - SecurityRuleInner inner = new SecurityRuleInner(); - inner.withName(name); - inner.withPriority(100); // Must be at least 100 - return new NetworkSecurityRuleImpl(name, inner, this); - } - @Override public Update withoutRule(String name) { // Remove from cache diff --git a/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/NetworkSecurityRuleImpl.java b/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/NetworkSecurityRuleImpl.java index d3ca42f67506..e68501da7a49 100644 --- a/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/NetworkSecurityRuleImpl.java +++ b/azure-mgmt-network/src/main/java/com/microsoft/azure/management/network/implementation/NetworkSecurityRuleImpl.java @@ -17,7 +17,9 @@ class NetworkSecurityRuleImpl extends ChildResourceImpl implements NetworkSecurityRule, - NetworkSecurityRule.Definitions { + NetworkSecurityRule.Definition, + NetworkSecurityRule.UpdateDefinition, + NetworkSecurityRule.Update { protected NetworkSecurityRuleImpl(String name, SecurityRuleInner inner, NetworkSecurityGroupImpl parent) { super(name, inner, parent); @@ -202,4 +204,9 @@ public NetworkSecurityGroupImpl attach() { this.parent().inner().securityRules().add(this.inner()); return this.parent(); } + + @Override + public NetworkSecurityGroupImpl set() throws Exception { + return this.parent(); + } } diff --git a/azure-mgmt-resources/src/main/java/com/microsoft/azure/management/resources/fluentcore/model/Attachable.java b/azure-mgmt-resources/src/main/java/com/microsoft/azure/management/resources/fluentcore/model/Attachable.java index cb4bb079fe10..3c6d652c6bd6 100644 --- a/azure-mgmt-resources/src/main/java/com/microsoft/azure/management/resources/fluentcore/model/Attachable.java +++ b/azure-mgmt-resources/src/main/java/com/microsoft/azure/management/resources/fluentcore/model/Attachable.java @@ -17,4 +17,22 @@ public interface Attachable { * @return the next stage of the parent object's definition */ ParentT attach(); + + /** + * The final stage of the child object definition, as which it can be attached to the parent + * as part of the parent's definition, using {@link InDefinition#attach()}. + * @param the parent definition {@link InDefinition#attach()} returns to + */ + interface InDefinition { + ParentT attach(); + } + + /** + * The final stage of the child object definition, as which it can be attached to the parent + * as part of the parent's update, using {@link InUpdate#attach()}. + * @param the parent definition {@link InUpdate#attach()} returns to + */ + interface InUpdate { + ParentT attach(); + } } diff --git a/azure/src/test/java/com/microsoft/azure/TestNSG.java b/azure/src/test/java/com/microsoft/azure/TestNSG.java index f9758d602797..c4c67094a3e1 100644 --- a/azure/src/test/java/com/microsoft/azure/TestNSG.java +++ b/azure/src/test/java/com/microsoft/azure/TestNSG.java @@ -21,8 +21,11 @@ public class TestNSG extends TestTemplate