Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azurenative.hybridcontainerservice.inputs.NetworkProfileArgs Maven / Gradle / Ivy
// *** 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.hybridcontainerservice.inputs;
import com.pulumi.azurenative.hybridcontainerservice.enums.LoadBalancerSku;
import com.pulumi.azurenative.hybridcontainerservice.enums.NetworkPolicy;
import com.pulumi.azurenative.hybridcontainerservice.inputs.LoadBalancerProfileArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* NetworkProfile - Profile of network configuration.
*
*/
public final class NetworkProfileArgs extends com.pulumi.resources.ResourceArgs {
public static final NetworkProfileArgs Empty = new NetworkProfileArgs();
/**
* DNSServiceIP - An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.
*
*/
@Import(name="dnsServiceIP")
private @Nullable Output dnsServiceIP;
/**
* @return DNSServiceIP - An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.
*
*/
public Optional> dnsServiceIP() {
return Optional.ofNullable(this.dnsServiceIP);
}
/**
* LoadBalancerProfile - Profile of the cluster load balancer.
*
*/
@Import(name="loadBalancerProfile")
private @Nullable Output loadBalancerProfile;
/**
* @return LoadBalancerProfile - Profile of the cluster load balancer.
*
*/
public Optional> loadBalancerProfile() {
return Optional.ofNullable(this.loadBalancerProfile);
}
/**
* LoadBalancerSku - The load balancer sku for the provisioned cluster. Possible values: 'unstacked-haproxy', 'stacked-kube-vip', 'stacked-metallb', 'unmanaged'. The default is 'unmanaged'.
*
*/
@Import(name="loadBalancerSku")
private @Nullable Output> loadBalancerSku;
/**
* @return LoadBalancerSku - The load balancer sku for the provisioned cluster. Possible values: 'unstacked-haproxy', 'stacked-kube-vip', 'stacked-metallb', 'unmanaged'. The default is 'unmanaged'.
*
*/
public Optional>> loadBalancerSku() {
return Optional.ofNullable(this.loadBalancerSku);
}
/**
* NetworkPolicy - Network policy used for building Kubernetes network. Possible values include: 'calico', 'flannel'. Default is 'calico'
*
*/
@Import(name="networkPolicy")
private @Nullable Output> networkPolicy;
/**
* @return NetworkPolicy - Network policy used for building Kubernetes network. Possible values include: 'calico', 'flannel'. Default is 'calico'
*
*/
public Optional>> networkPolicy() {
return Optional.ofNullable(this.networkPolicy);
}
/**
* PodCidr - A CIDR notation IP range from which to assign pod IPs when kubenet is used.
*
*/
@Import(name="podCidr")
private @Nullable Output podCidr;
/**
* @return PodCidr - A CIDR notation IP range from which to assign pod IPs when kubenet is used.
*
*/
public Optional> podCidr() {
return Optional.ofNullable(this.podCidr);
}
/**
* 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);
}
/**
* ServiceCidr - A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.
*
*/
@Import(name="serviceCidr")
private @Nullable Output serviceCidr;
/**
* @return ServiceCidr - A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.
*
*/
public Optional> serviceCidr() {
return Optional.ofNullable(this.serviceCidr);
}
/**
* The CIDR notation IP ranges from which to assign service cluster 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. They must not overlap with any Subnet IP ranges.
*
*/
@Import(name="serviceCidrs")
private @Nullable Output> serviceCidrs;
/**
* @return The CIDR notation IP ranges from which to assign service cluster 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. They must not overlap with any Subnet IP ranges.
*
*/
public Optional>> serviceCidrs() {
return Optional.ofNullable(this.serviceCidrs);
}
private NetworkProfileArgs() {}
private NetworkProfileArgs(NetworkProfileArgs $) {
this.dnsServiceIP = $.dnsServiceIP;
this.loadBalancerProfile = $.loadBalancerProfile;
this.loadBalancerSku = $.loadBalancerSku;
this.networkPolicy = $.networkPolicy;
this.podCidr = $.podCidr;
this.podCidrs = $.podCidrs;
this.serviceCidr = $.serviceCidr;
this.serviceCidrs = $.serviceCidrs;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(NetworkProfileArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private NetworkProfileArgs $;
public Builder() {
$ = new NetworkProfileArgs();
}
public Builder(NetworkProfileArgs defaults) {
$ = new NetworkProfileArgs(Objects.requireNonNull(defaults));
}
/**
* @param dnsServiceIP DNSServiceIP - An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.
*
* @return builder
*
*/
public Builder dnsServiceIP(@Nullable Output dnsServiceIP) {
$.dnsServiceIP = dnsServiceIP;
return this;
}
/**
* @param dnsServiceIP DNSServiceIP - An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.
*
* @return builder
*
*/
public Builder dnsServiceIP(String dnsServiceIP) {
return dnsServiceIP(Output.of(dnsServiceIP));
}
/**
* @param loadBalancerProfile LoadBalancerProfile - Profile of the cluster load balancer.
*
* @return builder
*
*/
public Builder loadBalancerProfile(@Nullable Output loadBalancerProfile) {
$.loadBalancerProfile = loadBalancerProfile;
return this;
}
/**
* @param loadBalancerProfile LoadBalancerProfile - Profile of the cluster load balancer.
*
* @return builder
*
*/
public Builder loadBalancerProfile(LoadBalancerProfileArgs loadBalancerProfile) {
return loadBalancerProfile(Output.of(loadBalancerProfile));
}
/**
* @param loadBalancerSku LoadBalancerSku - The load balancer sku for the provisioned cluster. Possible values: 'unstacked-haproxy', 'stacked-kube-vip', 'stacked-metallb', 'unmanaged'. The default is 'unmanaged'.
*
* @return builder
*
*/
public Builder loadBalancerSku(@Nullable Output> loadBalancerSku) {
$.loadBalancerSku = loadBalancerSku;
return this;
}
/**
* @param loadBalancerSku LoadBalancerSku - The load balancer sku for the provisioned cluster. Possible values: 'unstacked-haproxy', 'stacked-kube-vip', 'stacked-metallb', 'unmanaged'. The default is 'unmanaged'.
*
* @return builder
*
*/
public Builder loadBalancerSku(Either loadBalancerSku) {
return loadBalancerSku(Output.of(loadBalancerSku));
}
/**
* @param loadBalancerSku LoadBalancerSku - The load balancer sku for the provisioned cluster. Possible values: 'unstacked-haproxy', 'stacked-kube-vip', 'stacked-metallb', 'unmanaged'. The default is 'unmanaged'.
*
* @return builder
*
*/
public Builder loadBalancerSku(String loadBalancerSku) {
return loadBalancerSku(Either.ofLeft(loadBalancerSku));
}
/**
* @param loadBalancerSku LoadBalancerSku - The load balancer sku for the provisioned cluster. Possible values: 'unstacked-haproxy', 'stacked-kube-vip', 'stacked-metallb', 'unmanaged'. The default is 'unmanaged'.
*
* @return builder
*
*/
public Builder loadBalancerSku(LoadBalancerSku loadBalancerSku) {
return loadBalancerSku(Either.ofRight(loadBalancerSku));
}
/**
* @param networkPolicy NetworkPolicy - Network policy used for building Kubernetes network. Possible values include: 'calico', 'flannel'. Default is 'calico'
*
* @return builder
*
*/
public Builder networkPolicy(@Nullable Output> networkPolicy) {
$.networkPolicy = networkPolicy;
return this;
}
/**
* @param networkPolicy NetworkPolicy - Network policy used for building Kubernetes network. Possible values include: 'calico', 'flannel'. Default is 'calico'
*
* @return builder
*
*/
public Builder networkPolicy(Either networkPolicy) {
return networkPolicy(Output.of(networkPolicy));
}
/**
* @param networkPolicy NetworkPolicy - Network policy used for building Kubernetes network. Possible values include: 'calico', 'flannel'. Default is 'calico'
*
* @return builder
*
*/
public Builder networkPolicy(String networkPolicy) {
return networkPolicy(Either.ofLeft(networkPolicy));
}
/**
* @param networkPolicy NetworkPolicy - Network policy used for building Kubernetes network. Possible values include: 'calico', 'flannel'. Default is 'calico'
*
* @return builder
*
*/
public Builder networkPolicy(NetworkPolicy networkPolicy) {
return networkPolicy(Either.ofRight(networkPolicy));
}
/**
* @param podCidr PodCidr - A CIDR notation IP range from which to assign pod IPs when kubenet is used.
*
* @return builder
*
*/
public Builder podCidr(@Nullable Output podCidr) {
$.podCidr = podCidr;
return this;
}
/**
* @param podCidr PodCidr - A CIDR notation IP range from which to assign pod IPs when kubenet is used.
*
* @return builder
*
*/
public Builder podCidr(String podCidr) {
return podCidr(Output.of(podCidr));
}
/**
* @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 serviceCidr ServiceCidr - A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.
*
* @return builder
*
*/
public Builder serviceCidr(@Nullable Output serviceCidr) {
$.serviceCidr = serviceCidr;
return this;
}
/**
* @param serviceCidr ServiceCidr - A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.
*
* @return builder
*
*/
public Builder serviceCidr(String serviceCidr) {
return serviceCidr(Output.of(serviceCidr));
}
/**
* @param serviceCidrs The CIDR notation IP ranges from which to assign service cluster 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. They must not overlap with any Subnet IP ranges.
*
* @return builder
*
*/
public Builder serviceCidrs(@Nullable Output> serviceCidrs) {
$.serviceCidrs = serviceCidrs;
return this;
}
/**
* @param serviceCidrs The CIDR notation IP ranges from which to assign service cluster 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. They must not overlap with any Subnet IP ranges.
*
* @return builder
*
*/
public Builder serviceCidrs(List serviceCidrs) {
return serviceCidrs(Output.of(serviceCidrs));
}
/**
* @param serviceCidrs The CIDR notation IP ranges from which to assign service cluster 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. They must not overlap with any Subnet IP ranges.
*
* @return builder
*
*/
public Builder serviceCidrs(String... serviceCidrs) {
return serviceCidrs(List.of(serviceCidrs));
}
public NetworkProfileArgs build() {
$.loadBalancerSku = Codegen.stringProp("loadBalancerSku").left(LoadBalancerSku.class).output().arg($.loadBalancerSku).def("unmanaged").getNullable();
$.networkPolicy = Codegen.stringProp("networkPolicy").left(NetworkPolicy.class).output().arg($.networkPolicy).def("calico").getNullable();
return $;
}
}
}