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

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

There is a newer version: 2.72.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.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 NetworkSecurityGroupRuleResponse {
    private String access;
    /**
     * @return Priorities within a pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 4096. If any reserved or duplicate values are provided the request fails with HTTP status code 400.
     * 
     */
    private Integer priority;
    /**
     * @return Valid values are a single IP address (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses).  If any other values are provided the request fails with HTTP status code 400.
     * 
     */
    private String sourceAddressPrefix;
    /**
     * @return Valid values are '*' (for all ports 0 - 65535) or arrays of ports or port ranges (i.e. 100-200). The ports should in the range of 0 to 65535 and the port ranges or ports can't overlap. If any other values are provided the request fails with HTTP status code 400. Default value will be *.
     * 
     */
    private @Nullable List sourcePortRanges;

    private NetworkSecurityGroupRuleResponse() {}
    public String access() {
        return this.access;
    }
    /**
     * @return Priorities within a pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 4096. If any reserved or duplicate values are provided the request fails with HTTP status code 400.
     * 
     */
    public Integer priority() {
        return this.priority;
    }
    /**
     * @return Valid values are a single IP address (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses).  If any other values are provided the request fails with HTTP status code 400.
     * 
     */
    public String sourceAddressPrefix() {
        return this.sourceAddressPrefix;
    }
    /**
     * @return Valid values are '*' (for all ports 0 - 65535) or arrays of ports or port ranges (i.e. 100-200). The ports should in the range of 0 to 65535 and the port ranges or ports can't overlap. If any other values are provided the request fails with HTTP status code 400. Default value will be *.
     * 
     */
    public List sourcePortRanges() {
        return this.sourcePortRanges == null ? List.of() : this.sourcePortRanges;
    }

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

    public static Builder builder(NetworkSecurityGroupRuleResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String access;
        private Integer priority;
        private String sourceAddressPrefix;
        private @Nullable List sourcePortRanges;
        public Builder() {}
        public Builder(NetworkSecurityGroupRuleResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.access = defaults.access;
    	      this.priority = defaults.priority;
    	      this.sourceAddressPrefix = defaults.sourceAddressPrefix;
    	      this.sourcePortRanges = defaults.sourcePortRanges;
        }

        @CustomType.Setter
        public Builder access(String access) {
            if (access == null) {
              throw new MissingRequiredPropertyException("NetworkSecurityGroupRuleResponse", "access");
            }
            this.access = access;
            return this;
        }
        @CustomType.Setter
        public Builder priority(Integer priority) {
            if (priority == null) {
              throw new MissingRequiredPropertyException("NetworkSecurityGroupRuleResponse", "priority");
            }
            this.priority = priority;
            return this;
        }
        @CustomType.Setter
        public Builder sourceAddressPrefix(String sourceAddressPrefix) {
            if (sourceAddressPrefix == null) {
              throw new MissingRequiredPropertyException("NetworkSecurityGroupRuleResponse", "sourceAddressPrefix");
            }
            this.sourceAddressPrefix = sourceAddressPrefix;
            return this;
        }
        @CustomType.Setter
        public Builder sourcePortRanges(@Nullable List sourcePortRanges) {

            this.sourcePortRanges = sourcePortRanges;
            return this;
        }
        public Builder sourcePortRanges(String... sourcePortRanges) {
            return sourcePortRanges(List.of(sourcePortRanges));
        }
        public NetworkSecurityGroupRuleResponse build() {
            final var _resultValue = new NetworkSecurityGroupRuleResponse();
            _resultValue.access = access;
            _resultValue.priority = priority;
            _resultValue.sourceAddressPrefix = sourceAddressPrefix;
            _resultValue.sourcePortRanges = sourcePortRanges;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy