Class NetworkConfiguration

java.lang.Object
com.azure.compute.batch.models.NetworkConfiguration
All Implemented Interfaces:
com.azure.json.JsonSerializable<NetworkConfiguration>

public final class NetworkConfiguration extends Object implements com.azure.json.JsonSerializable<NetworkConfiguration>
The network configuration for a Pool.
  • Constructor Details

    • NetworkConfiguration

      public NetworkConfiguration()
      Creates an instance of NetworkConfiguration class.
  • Method Details

    • getSubnetId

      public String getSubnetId()
      Get the subnetId property: The ARM resource identifier of the virtual network subnet which the Compute Nodes of the Pool will join. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}. The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes in the Pool. If the subnet doesn't have enough free IP addresses, the Pool will partially allocate Nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. Only ARM virtual networks ('Microsoft.Network/virtualNetworks') are supported. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication, including ports 29876 and 29877. Also enable outbound connections to Azure Storage on port 443. For more details see: https://learn.microsoft.com/azure/batch/nodes-and-pools#virtual-network-vnet-and-firewall-configuration.
      Returns:
      the subnetId value.
    • setSubnetId

      public NetworkConfiguration setSubnetId(String subnetId)
      Set the subnetId property: The ARM resource identifier of the virtual network subnet which the Compute Nodes of the Pool will join. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}. The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes in the Pool. If the subnet doesn't have enough free IP addresses, the Pool will partially allocate Nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. Only ARM virtual networks ('Microsoft.Network/virtualNetworks') are supported. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication, including ports 29876 and 29877. Also enable outbound connections to Azure Storage on port 443. For more details see: https://learn.microsoft.com/azure/batch/nodes-and-pools#virtual-network-vnet-and-firewall-configuration.
      Parameters:
      subnetId - the subnetId value to set.
      Returns:
      the NetworkConfiguration object itself.
    • getDynamicVNetAssignmentScope

      public DynamicVNetAssignmentScope getDynamicVNetAssignmentScope()
      Get the dynamicVNetAssignmentScope property: The scope of dynamic vnet assignment.
      Returns:
      the dynamicVNetAssignmentScope value.
    • setDynamicVNetAssignmentScope

      public NetworkConfiguration setDynamicVNetAssignmentScope(DynamicVNetAssignmentScope dynamicVNetAssignmentScope)
      Set the dynamicVNetAssignmentScope property: The scope of dynamic vnet assignment.
      Parameters:
      dynamicVNetAssignmentScope - the dynamicVNetAssignmentScope value to set.
      Returns:
      the NetworkConfiguration object itself.
    • getEndpointConfiguration

      public BatchPoolEndpointConfiguration getEndpointConfiguration()
      Get the endpointConfiguration property: The configuration for endpoints on Compute Nodes in the Batch Pool.
      Returns:
      the endpointConfiguration value.
    • setEndpointConfiguration

      public NetworkConfiguration setEndpointConfiguration(BatchPoolEndpointConfiguration endpointConfiguration)
      Set the endpointConfiguration property: The configuration for endpoints on Compute Nodes in the Batch Pool.
      Parameters:
      endpointConfiguration - the endpointConfiguration value to set.
      Returns:
      the NetworkConfiguration object itself.
    • getPublicIpAddressConfiguration

      public PublicIpAddressConfiguration getPublicIpAddressConfiguration()
      Get the publicIpAddressConfiguration property: The Public IPAddress configuration for Compute Nodes in the Batch Pool.
      Returns:
      the publicIpAddressConfiguration value.
    • setPublicIpAddressConfiguration

      public NetworkConfiguration setPublicIpAddressConfiguration(PublicIpAddressConfiguration publicIpAddressConfiguration)
      Set the publicIpAddressConfiguration property: The Public IPAddress configuration for Compute Nodes in the Batch Pool.
      Parameters:
      publicIpAddressConfiguration - the publicIpAddressConfiguration value to set.
      Returns:
      the NetworkConfiguration object itself.
    • isEnableAcceleratedNetworking

      public Boolean isEnableAcceleratedNetworking()
      Get the enableAcceleratedNetworking property: Whether this pool should enable accelerated networking. Accelerated networking enables single root I/O virtualization (SR-IOV) to a VM, which may lead to improved networking performance. For more details, see: https://learn.microsoft.com/azure/virtual-network/accelerated-networking-overview.
      Returns:
      the enableAcceleratedNetworking value.
    • setEnableAcceleratedNetworking

      public NetworkConfiguration setEnableAcceleratedNetworking(Boolean enableAcceleratedNetworking)
      Set the enableAcceleratedNetworking property: Whether this pool should enable accelerated networking. Accelerated networking enables single root I/O virtualization (SR-IOV) to a VM, which may lead to improved networking performance. For more details, see: https://learn.microsoft.com/azure/virtual-network/accelerated-networking-overview.
      Parameters:
      enableAcceleratedNetworking - the enableAcceleratedNetworking value to set.
      Returns:
      the NetworkConfiguration object itself.
    • toJson

      public com.azure.json.JsonWriter toJson(com.azure.json.JsonWriter jsonWriter) throws IOException
      Specified by:
      toJson in interface com.azure.json.JsonSerializable<NetworkConfiguration>
      Throws:
      IOException
    • fromJson

      public static NetworkConfiguration fromJson(com.azure.json.JsonReader jsonReader) throws IOException
      Reads an instance of NetworkConfiguration from the JsonReader.
      Parameters:
      jsonReader - The JsonReader being read.
      Returns:
      An instance of NetworkConfiguration if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
      Throws:
      IOException - If an error occurs while reading the NetworkConfiguration.