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

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

There is a newer version: 2.82.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.NetworkSecurityGroupRuleResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import javax.annotation.Nullable;

@CustomType
public final class InboundNatPoolResponse {
    /**
     * @return This must be unique within a Batch pool. Acceptable values are between 1 and 65535 except for 22, 3389, 29876 and 29877 as these are reserved. If any reserved values are provided the request fails with HTTP status code 400.
     * 
     */
    private Integer backendPort;
    /**
     * @return Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400.
     * 
     */
    private Integer frontendPortRangeEnd;
    /**
     * @return Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400.
     * 
     */
    private Integer frontendPortRangeStart;
    /**
     * @return The name must be unique within a Batch pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters.  If any invalid values are provided the request fails with HTTP status code 400.
     * 
     */
    private String name;
    /**
     * @return The maximum number of rules that can be specified across all the endpoints on a Batch pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. If the maximum number of network security group rules is exceeded the request fails with HTTP status code 400.
     * 
     */
    private @Nullable List networkSecurityGroupRules;
    private String protocol;

    private InboundNatPoolResponse() {}
    /**
     * @return This must be unique within a Batch pool. Acceptable values are between 1 and 65535 except for 22, 3389, 29876 and 29877 as these are reserved. If any reserved values are provided the request fails with HTTP status code 400.
     * 
     */
    public Integer backendPort() {
        return this.backendPort;
    }
    /**
     * @return Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400.
     * 
     */
    public Integer frontendPortRangeEnd() {
        return this.frontendPortRangeEnd;
    }
    /**
     * @return Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400.
     * 
     */
    public Integer frontendPortRangeStart() {
        return this.frontendPortRangeStart;
    }
    /**
     * @return The name must be unique within a Batch pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters.  If any invalid values are provided the request fails with HTTP status code 400.
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return The maximum number of rules that can be specified across all the endpoints on a Batch pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. If the maximum number of network security group rules is exceeded the request fails with HTTP status code 400.
     * 
     */
    public List networkSecurityGroupRules() {
        return this.networkSecurityGroupRules == null ? List.of() : this.networkSecurityGroupRules;
    }
    public String protocol() {
        return this.protocol;
    }

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

    public static Builder builder(InboundNatPoolResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private Integer backendPort;
        private Integer frontendPortRangeEnd;
        private Integer frontendPortRangeStart;
        private String name;
        private @Nullable List networkSecurityGroupRules;
        private String protocol;
        public Builder() {}
        public Builder(InboundNatPoolResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.backendPort = defaults.backendPort;
    	      this.frontendPortRangeEnd = defaults.frontendPortRangeEnd;
    	      this.frontendPortRangeStart = defaults.frontendPortRangeStart;
    	      this.name = defaults.name;
    	      this.networkSecurityGroupRules = defaults.networkSecurityGroupRules;
    	      this.protocol = defaults.protocol;
        }

        @CustomType.Setter
        public Builder backendPort(Integer backendPort) {
            if (backendPort == null) {
              throw new MissingRequiredPropertyException("InboundNatPoolResponse", "backendPort");
            }
            this.backendPort = backendPort;
            return this;
        }
        @CustomType.Setter
        public Builder frontendPortRangeEnd(Integer frontendPortRangeEnd) {
            if (frontendPortRangeEnd == null) {
              throw new MissingRequiredPropertyException("InboundNatPoolResponse", "frontendPortRangeEnd");
            }
            this.frontendPortRangeEnd = frontendPortRangeEnd;
            return this;
        }
        @CustomType.Setter
        public Builder frontendPortRangeStart(Integer frontendPortRangeStart) {
            if (frontendPortRangeStart == null) {
              throw new MissingRequiredPropertyException("InboundNatPoolResponse", "frontendPortRangeStart");
            }
            this.frontendPortRangeStart = frontendPortRangeStart;
            return this;
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("InboundNatPoolResponse", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder networkSecurityGroupRules(@Nullable List networkSecurityGroupRules) {

            this.networkSecurityGroupRules = networkSecurityGroupRules;
            return this;
        }
        public Builder networkSecurityGroupRules(NetworkSecurityGroupRuleResponse... networkSecurityGroupRules) {
            return networkSecurityGroupRules(List.of(networkSecurityGroupRules));
        }
        @CustomType.Setter
        public Builder protocol(String protocol) {
            if (protocol == null) {
              throw new MissingRequiredPropertyException("InboundNatPoolResponse", "protocol");
            }
            this.protocol = protocol;
            return this;
        }
        public InboundNatPoolResponse build() {
            final var _resultValue = new InboundNatPoolResponse();
            _resultValue.backendPort = backendPort;
            _resultValue.frontendPortRangeEnd = frontendPortRangeEnd;
            _resultValue.frontendPortRangeStart = frontendPortRangeStart;
            _resultValue.name = name;
            _resultValue.networkSecurityGroupRules = networkSecurityGroupRules;
            _resultValue.protocol = protocol;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy