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

com.pulumi.kubernetes.networking.v1alpha1.outputs.ClusterCIDRSpecPatch Maven / Gradle / Ivy

There is a newer version: 4.19.0-alpha.1730750641
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.kubernetes.networking.v1alpha1.outputs;

import com.pulumi.core.annotations.CustomType;
import com.pulumi.kubernetes.core.v1.outputs.NodeSelectorPatch;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class ClusterCIDRSpecPatch {
    /**
     * @return IPv4 defines an IPv4 IP block in CIDR notation(e.g. "10.0.0.0/8"). At least one of IPv4 and IPv6 must be specified. This field is immutable.
     * 
     */
    private @Nullable String ipv4;
    /**
     * @return IPv6 defines an IPv6 IP block in CIDR notation(e.g. "2001:db8::/64"). At least one of IPv4 and IPv6 must be specified. This field is immutable.
     * 
     */
    private @Nullable String ipv6;
    /**
     * @return NodeSelector defines which nodes the config is applicable to. An empty or nil NodeSelector selects all nodes. This field is immutable.
     * 
     */
    private @Nullable NodeSelectorPatch nodeSelector;
    /**
     * @return PerNodeHostBits defines the number of host bits to be configured per node. A subnet mask determines how much of the address is used for network bits and host bits. For example an IPv4 address of 192.168.0.0/24, splits the address into 24 bits for the network portion and 8 bits for the host portion. To allocate 256 IPs, set this field to 8 (a /24 mask for IPv4 or a /120 for IPv6). Minimum value is 4 (16 IPs). This field is immutable.
     * 
     */
    private @Nullable Integer perNodeHostBits;

    private ClusterCIDRSpecPatch() {}
    /**
     * @return IPv4 defines an IPv4 IP block in CIDR notation(e.g. "10.0.0.0/8"). At least one of IPv4 and IPv6 must be specified. This field is immutable.
     * 
     */
    public Optional ipv4() {
        return Optional.ofNullable(this.ipv4);
    }
    /**
     * @return IPv6 defines an IPv6 IP block in CIDR notation(e.g. "2001:db8::/64"). At least one of IPv4 and IPv6 must be specified. This field is immutable.
     * 
     */
    public Optional ipv6() {
        return Optional.ofNullable(this.ipv6);
    }
    /**
     * @return NodeSelector defines which nodes the config is applicable to. An empty or nil NodeSelector selects all nodes. This field is immutable.
     * 
     */
    public Optional nodeSelector() {
        return Optional.ofNullable(this.nodeSelector);
    }
    /**
     * @return PerNodeHostBits defines the number of host bits to be configured per node. A subnet mask determines how much of the address is used for network bits and host bits. For example an IPv4 address of 192.168.0.0/24, splits the address into 24 bits for the network portion and 8 bits for the host portion. To allocate 256 IPs, set this field to 8 (a /24 mask for IPv4 or a /120 for IPv6). Minimum value is 4 (16 IPs). This field is immutable.
     * 
     */
    public Optional perNodeHostBits() {
        return Optional.ofNullable(this.perNodeHostBits);
    }

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

    public static Builder builder(ClusterCIDRSpecPatch defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String ipv4;
        private @Nullable String ipv6;
        private @Nullable NodeSelectorPatch nodeSelector;
        private @Nullable Integer perNodeHostBits;
        public Builder() {}
        public Builder(ClusterCIDRSpecPatch defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.ipv4 = defaults.ipv4;
    	      this.ipv6 = defaults.ipv6;
    	      this.nodeSelector = defaults.nodeSelector;
    	      this.perNodeHostBits = defaults.perNodeHostBits;
        }

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

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

            this.ipv6 = ipv6;
            return this;
        }
        @CustomType.Setter
        public Builder nodeSelector(@Nullable NodeSelectorPatch nodeSelector) {

            this.nodeSelector = nodeSelector;
            return this;
        }
        @CustomType.Setter
        public Builder perNodeHostBits(@Nullable Integer perNodeHostBits) {

            this.perNodeHostBits = perNodeHostBits;
            return this;
        }
        public ClusterCIDRSpecPatch build() {
            final var _resultValue = new ClusterCIDRSpecPatch();
            _resultValue.ipv4 = ipv4;
            _resultValue.ipv6 = ipv6;
            _resultValue.nodeSelector = nodeSelector;
            _resultValue.perNodeHostBits = perNodeHostBits;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy