All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.batch.outputs.NetworkConfigurationResponse Maven / Gradle / Ivy

There is a newer version: 2.78.0
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azurenative.batch.outputs;

import com.pulumi.azurenative.batch.outputs.PoolEndpointConfigurationResponse;
import com.pulumi.azurenative.batch.outputs.PublicIPAddressConfigurationResponse;
import com.pulumi.core.annotations.CustomType;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class NetworkConfigurationResponse {
    private @Nullable String dynamicVnetAssignmentScope;
    /**
     * @return 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.
     * 
     */
    private @Nullable Boolean enableAcceleratedNetworking;
    /**
     * @return Pool endpoint configuration is only supported on pools with the virtualMachineConfiguration property.
     * 
     */
    private @Nullable PoolEndpointConfigurationResponse endpointConfiguration;
    /**
     * @return This property is only supported on Pools with the virtualMachineConfiguration property.
     * 
     */
    private @Nullable PublicIPAddressConfigurationResponse publicIPAddressConfiguration;
    /**
     * @return 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 nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute 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 compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For pools created with a virtual machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. For pools created with a cloud service configuration, enable ports 10100, 20100, and 30100. Also enable outbound connections to Azure Storage on port 443. For cloudServiceConfiguration pools, only 'classic' VNETs are supported. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration
     * 
     */
    private @Nullable String subnetId;

    private NetworkConfigurationResponse() {}
    public Optional dynamicVnetAssignmentScope() {
        return Optional.ofNullable(this.dynamicVnetAssignmentScope);
    }
    /**
     * @return 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.
     * 
     */
    public Optional enableAcceleratedNetworking() {
        return Optional.ofNullable(this.enableAcceleratedNetworking);
    }
    /**
     * @return Pool endpoint configuration is only supported on pools with the virtualMachineConfiguration property.
     * 
     */
    public Optional endpointConfiguration() {
        return Optional.ofNullable(this.endpointConfiguration);
    }
    /**
     * @return This property is only supported on Pools with the virtualMachineConfiguration property.
     * 
     */
    public Optional publicIPAddressConfiguration() {
        return Optional.ofNullable(this.publicIPAddressConfiguration);
    }
    /**
     * @return 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 nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute 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 compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For pools created with a virtual machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. For pools created with a cloud service configuration, enable ports 10100, 20100, and 30100. Also enable outbound connections to Azure Storage on port 443. For cloudServiceConfiguration pools, only 'classic' VNETs are supported. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration
     * 
     */
    public Optional subnetId() {
        return Optional.ofNullable(this.subnetId);
    }

    public static Builder builder() {
        return new Builder();
    }

    public static Builder builder(NetworkConfigurationResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String dynamicVnetAssignmentScope;
        private @Nullable Boolean enableAcceleratedNetworking;
        private @Nullable PoolEndpointConfigurationResponse endpointConfiguration;
        private @Nullable PublicIPAddressConfigurationResponse publicIPAddressConfiguration;
        private @Nullable String subnetId;
        public Builder() {}
        public Builder(NetworkConfigurationResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.dynamicVnetAssignmentScope = defaults.dynamicVnetAssignmentScope;
    	      this.enableAcceleratedNetworking = defaults.enableAcceleratedNetworking;
    	      this.endpointConfiguration = defaults.endpointConfiguration;
    	      this.publicIPAddressConfiguration = defaults.publicIPAddressConfiguration;
    	      this.subnetId = defaults.subnetId;
        }

        @CustomType.Setter
        public Builder dynamicVnetAssignmentScope(@Nullable String dynamicVnetAssignmentScope) {

            this.dynamicVnetAssignmentScope = dynamicVnetAssignmentScope;
            return this;
        }
        @CustomType.Setter
        public Builder enableAcceleratedNetworking(@Nullable Boolean enableAcceleratedNetworking) {

            this.enableAcceleratedNetworking = enableAcceleratedNetworking;
            return this;
        }
        @CustomType.Setter
        public Builder endpointConfiguration(@Nullable PoolEndpointConfigurationResponse endpointConfiguration) {

            this.endpointConfiguration = endpointConfiguration;
            return this;
        }
        @CustomType.Setter
        public Builder publicIPAddressConfiguration(@Nullable PublicIPAddressConfigurationResponse publicIPAddressConfiguration) {

            this.publicIPAddressConfiguration = publicIPAddressConfiguration;
            return this;
        }
        @CustomType.Setter
        public Builder subnetId(@Nullable String subnetId) {

            this.subnetId = subnetId;
            return this;
        }
        public NetworkConfigurationResponse build() {
            final var _resultValue = new NetworkConfigurationResponse();
            _resultValue.dynamicVnetAssignmentScope = dynamicVnetAssignmentScope;
            _resultValue.enableAcceleratedNetworking = enableAcceleratedNetworking;
            _resultValue.endpointConfiguration = endpointConfiguration;
            _resultValue.publicIPAddressConfiguration = publicIPAddressConfiguration;
            _resultValue.subnetId = subnetId;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy