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

com.pulumi.azurenative.networkcloud.inputs.NetworkConfigurationArgs 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.networkcloud.inputs;

import com.pulumi.azurenative.networkcloud.inputs.AttachedNetworkConfigurationArgs;
import com.pulumi.azurenative.networkcloud.inputs.BgpServiceLoadBalancerConfigurationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class NetworkConfigurationArgs extends com.pulumi.resources.ResourceArgs {

    public static final NetworkConfigurationArgs Empty = new NetworkConfigurationArgs();

    /**
     * The configuration of networks being attached to the cluster for use by the workloads that run on this Kubernetes cluster.
     * 
     */
    @Import(name="attachedNetworkConfiguration")
    private @Nullable Output attachedNetworkConfiguration;

    /**
     * @return The configuration of networks being attached to the cluster for use by the workloads that run on this Kubernetes cluster.
     * 
     */
    public Optional> attachedNetworkConfiguration() {
        return Optional.ofNullable(this.attachedNetworkConfiguration);
    }

    /**
     * The configuration of the BGP service load balancer for this Kubernetes cluster.
     * 
     */
    @Import(name="bgpServiceLoadBalancerConfiguration")
    private @Nullable Output bgpServiceLoadBalancerConfiguration;

    /**
     * @return The configuration of the BGP service load balancer for this Kubernetes cluster.
     * 
     */
    public Optional> bgpServiceLoadBalancerConfiguration() {
        return Optional.ofNullable(this.bgpServiceLoadBalancerConfiguration);
    }

    /**
     * The resource ID of the associated Cloud Services network.
     * 
     */
    @Import(name="cloudServicesNetworkId", required=true)
    private Output cloudServicesNetworkId;

    /**
     * @return The resource ID of the associated Cloud Services network.
     * 
     */
    public Output cloudServicesNetworkId() {
        return this.cloudServicesNetworkId;
    }

    /**
     * The resource ID of the Layer 3 network that is used for creation of the Container Networking Interface network.
     * 
     */
    @Import(name="cniNetworkId", required=true)
    private Output cniNetworkId;

    /**
     * @return The resource ID of the Layer 3 network that is used for creation of the Container Networking Interface network.
     * 
     */
    public Output cniNetworkId() {
        return this.cniNetworkId;
    }

    /**
     * The IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in service CIDR.
     * 
     */
    @Import(name="dnsServiceIp")
    private @Nullable Output dnsServiceIp;

    /**
     * @return The IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in service CIDR.
     * 
     */
    public Optional> dnsServiceIp() {
        return Optional.ofNullable(this.dnsServiceIp);
    }

    /**
     * The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
     * 
     */
    @Import(name="podCidrs")
    private @Nullable Output> podCidrs;

    /**
     * @return The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
     * 
     */
    public Optional>> podCidrs() {
        return Optional.ofNullable(this.podCidrs);
    }

    /**
     * The CIDR notation IP ranges from which to assign service IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
     * 
     */
    @Import(name="serviceCidrs")
    private @Nullable Output> serviceCidrs;

    /**
     * @return The CIDR notation IP ranges from which to assign service IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
     * 
     */
    public Optional>> serviceCidrs() {
        return Optional.ofNullable(this.serviceCidrs);
    }

    private NetworkConfigurationArgs() {}

    private NetworkConfigurationArgs(NetworkConfigurationArgs $) {
        this.attachedNetworkConfiguration = $.attachedNetworkConfiguration;
        this.bgpServiceLoadBalancerConfiguration = $.bgpServiceLoadBalancerConfiguration;
        this.cloudServicesNetworkId = $.cloudServicesNetworkId;
        this.cniNetworkId = $.cniNetworkId;
        this.dnsServiceIp = $.dnsServiceIp;
        this.podCidrs = $.podCidrs;
        this.serviceCidrs = $.serviceCidrs;
    }

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

    public static final class Builder {
        private NetworkConfigurationArgs $;

        public Builder() {
            $ = new NetworkConfigurationArgs();
        }

        public Builder(NetworkConfigurationArgs defaults) {
            $ = new NetworkConfigurationArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param attachedNetworkConfiguration The configuration of networks being attached to the cluster for use by the workloads that run on this Kubernetes cluster.
         * 
         * @return builder
         * 
         */
        public Builder attachedNetworkConfiguration(@Nullable Output attachedNetworkConfiguration) {
            $.attachedNetworkConfiguration = attachedNetworkConfiguration;
            return this;
        }

        /**
         * @param attachedNetworkConfiguration The configuration of networks being attached to the cluster for use by the workloads that run on this Kubernetes cluster.
         * 
         * @return builder
         * 
         */
        public Builder attachedNetworkConfiguration(AttachedNetworkConfigurationArgs attachedNetworkConfiguration) {
            return attachedNetworkConfiguration(Output.of(attachedNetworkConfiguration));
        }

        /**
         * @param bgpServiceLoadBalancerConfiguration The configuration of the BGP service load balancer for this Kubernetes cluster.
         * 
         * @return builder
         * 
         */
        public Builder bgpServiceLoadBalancerConfiguration(@Nullable Output bgpServiceLoadBalancerConfiguration) {
            $.bgpServiceLoadBalancerConfiguration = bgpServiceLoadBalancerConfiguration;
            return this;
        }

        /**
         * @param bgpServiceLoadBalancerConfiguration The configuration of the BGP service load balancer for this Kubernetes cluster.
         * 
         * @return builder
         * 
         */
        public Builder bgpServiceLoadBalancerConfiguration(BgpServiceLoadBalancerConfigurationArgs bgpServiceLoadBalancerConfiguration) {
            return bgpServiceLoadBalancerConfiguration(Output.of(bgpServiceLoadBalancerConfiguration));
        }

        /**
         * @param cloudServicesNetworkId The resource ID of the associated Cloud Services network.
         * 
         * @return builder
         * 
         */
        public Builder cloudServicesNetworkId(Output cloudServicesNetworkId) {
            $.cloudServicesNetworkId = cloudServicesNetworkId;
            return this;
        }

        /**
         * @param cloudServicesNetworkId The resource ID of the associated Cloud Services network.
         * 
         * @return builder
         * 
         */
        public Builder cloudServicesNetworkId(String cloudServicesNetworkId) {
            return cloudServicesNetworkId(Output.of(cloudServicesNetworkId));
        }

        /**
         * @param cniNetworkId The resource ID of the Layer 3 network that is used for creation of the Container Networking Interface network.
         * 
         * @return builder
         * 
         */
        public Builder cniNetworkId(Output cniNetworkId) {
            $.cniNetworkId = cniNetworkId;
            return this;
        }

        /**
         * @param cniNetworkId The resource ID of the Layer 3 network that is used for creation of the Container Networking Interface network.
         * 
         * @return builder
         * 
         */
        public Builder cniNetworkId(String cniNetworkId) {
            return cniNetworkId(Output.of(cniNetworkId));
        }

        /**
         * @param dnsServiceIp The IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in service CIDR.
         * 
         * @return builder
         * 
         */
        public Builder dnsServiceIp(@Nullable Output dnsServiceIp) {
            $.dnsServiceIp = dnsServiceIp;
            return this;
        }

        /**
         * @param dnsServiceIp The IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in service CIDR.
         * 
         * @return builder
         * 
         */
        public Builder dnsServiceIp(String dnsServiceIp) {
            return dnsServiceIp(Output.of(dnsServiceIp));
        }

        /**
         * @param podCidrs The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
         * 
         * @return builder
         * 
         */
        public Builder podCidrs(@Nullable Output> podCidrs) {
            $.podCidrs = podCidrs;
            return this;
        }

        /**
         * @param podCidrs The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
         * 
         * @return builder
         * 
         */
        public Builder podCidrs(List podCidrs) {
            return podCidrs(Output.of(podCidrs));
        }

        /**
         * @param podCidrs The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
         * 
         * @return builder
         * 
         */
        public Builder podCidrs(String... podCidrs) {
            return podCidrs(List.of(podCidrs));
        }

        /**
         * @param serviceCidrs The CIDR notation IP ranges from which to assign service IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
         * 
         * @return builder
         * 
         */
        public Builder serviceCidrs(@Nullable Output> serviceCidrs) {
            $.serviceCidrs = serviceCidrs;
            return this;
        }

        /**
         * @param serviceCidrs The CIDR notation IP ranges from which to assign service IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
         * 
         * @return builder
         * 
         */
        public Builder serviceCidrs(List serviceCidrs) {
            return serviceCidrs(Output.of(serviceCidrs));
        }

        /**
         * @param serviceCidrs The CIDR notation IP ranges from which to assign service IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.
         * 
         * @return builder
         * 
         */
        public Builder serviceCidrs(String... serviceCidrs) {
            return serviceCidrs(List.of(serviceCidrs));
        }

        public NetworkConfigurationArgs build() {
            if ($.cloudServicesNetworkId == null) {
                throw new MissingRequiredPropertyException("NetworkConfigurationArgs", "cloudServicesNetworkId");
            }
            if ($.cniNetworkId == null) {
                throw new MissingRequiredPropertyException("NetworkConfigurationArgs", "cniNetworkId");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy