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

com.pulumi.kubernetescertmanager.CertManagerArgs Maven / Gradle / Ivy

The newest version!
// *** WARNING: this file was generated by pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.kubernetescertmanager;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.kubernetes.apps.v1.inputs.DeploymentStrategyArgs;
import com.pulumi.kubernetes.core.v1.inputs.AffinityArgs;
import com.pulumi.kubernetes.core.v1.inputs.EnvVarArgs;
import com.pulumi.kubernetes.core.v1.inputs.NodeSelectorArgs;
import com.pulumi.kubernetes.core.v1.inputs.PodDNSConfigArgs;
import com.pulumi.kubernetes.core.v1.inputs.PodSecurityContextArgs;
import com.pulumi.kubernetes.core.v1.inputs.ResourceRequirementsArgs;
import com.pulumi.kubernetes.core.v1.inputs.SecurityContextArgs;
import com.pulumi.kubernetes.core.v1.inputs.TolerationArgs;
import com.pulumi.kubernetes.core.v1.inputs.VolumeArgs;
import com.pulumi.kubernetes.core.v1.inputs.VolumeMountArgs;
import com.pulumi.kubernetescertmanager.inputs.CertManagerCaInjectorArgs;
import com.pulumi.kubernetescertmanager.inputs.CertManagerGlobalArgs;
import com.pulumi.kubernetescertmanager.inputs.CertManagerImageArgs;
import com.pulumi.kubernetescertmanager.inputs.CertManagerIngressShimArgs;
import com.pulumi.kubernetescertmanager.inputs.CertManagerPrometheusArgs;
import com.pulumi.kubernetescertmanager.inputs.CertManagerServiceAccountArgs;
import com.pulumi.kubernetescertmanager.inputs.CertManagerStartupAPICheckArgs;
import com.pulumi.kubernetescertmanager.inputs.CertManagerWebhookArgs;
import com.pulumi.kubernetescertmanager.inputs.ReleaseArgs;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final CertManagerArgs Empty = new CertManagerArgs();

    @Import(name="affinity")
    private @Nullable Output affinity;

    public Optional> affinity() {
        return Optional.ofNullable(this.affinity);
    }

    @Import(name="cainjector")
    private @Nullable Output cainjector;

    public Optional> cainjector() {
        return Optional.ofNullable(this.cainjector);
    }

    /**
     * Override the namespace used to store DNS provider credentials etc. for ClusterIssuer resources. By default, the same namespace as cert-manager is deployed within is used. This namespace will not be automatically created by the Helm chart.
     * 
     */
    @Import(name="clusterResourceNamespace")
    private @Nullable Output clusterResourceNamespace;

    /**
     * @return Override the namespace used to store DNS provider credentials etc. for ClusterIssuer resources. By default, the same namespace as cert-manager is deployed within is used. This namespace will not be automatically created by the Helm chart.
     * 
     */
    public Optional> clusterResourceNamespace() {
        return Optional.ofNullable(this.clusterResourceNamespace);
    }

    /**
     * Container Security Context to be set on the controller component container. ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
     * 
     */
    @Import(name="containerSecurityContext")
    private @Nullable Output containerSecurityContext;

    /**
     * @return Container Security Context to be set on the controller component container. ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
     * 
     */
    public Optional> containerSecurityContext() {
        return Optional.ofNullable(this.containerSecurityContext);
    }

    /**
     * Optional additional annotations to add to the controller Deployment
     * 
     */
    @Import(name="deploymentAnnotations")
    private @Nullable Output> deploymentAnnotations;

    /**
     * @return Optional additional annotations to add to the controller Deployment
     * 
     */
    public Optional>> deploymentAnnotations() {
        return Optional.ofNullable(this.deploymentAnnotations);
    }

    /**
     * Optional additional arguments.
     * 
     */
    @Import(name="extraArgs")
    private @Nullable Output> extraArgs;

    /**
     * @return Optional additional arguments.
     * 
     */
    public Optional>> extraArgs() {
        return Optional.ofNullable(this.extraArgs);
    }

    @Import(name="extraEnv")
    private @Nullable Output> extraEnv;

    public Optional>> extraEnv() {
        return Optional.ofNullable(this.extraEnv);
    }

    @Import(name="extraVolumeMounts")
    private @Nullable Output> extraVolumeMounts;

    public Optional>> extraVolumeMounts() {
        return Optional.ofNullable(this.extraVolumeMounts);
    }

    @Import(name="extraVolumes")
    private @Nullable Output> extraVolumes;

    public Optional>> extraVolumes() {
        return Optional.ofNullable(this.extraVolumes);
    }

    /**
     * Comma separated list of feature gates that should be enabled on the controller pod.
     * 
     */
    @Import(name="featureGates")
    private @Nullable Output featureGates;

    /**
     * @return Comma separated list of feature gates that should be enabled on the controller pod.
     * 
     */
    public Optional> featureGates() {
        return Optional.ofNullable(this.featureGates);
    }

    @Import(name="global")
    private @Nullable Output global;

    public Optional> global() {
        return Optional.ofNullable(this.global);
    }

    /**
     * HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args.
     * 
     */
    @Import(name="helmOptions")
    private @Nullable Output helmOptions;

    /**
     * @return HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args.
     * 
     */
    public Optional> helmOptions() {
        return Optional.ofNullable(this.helmOptions);
    }

    @Import(name="http_proxy")
    private @Nullable Output http_proxy;

    public Optional> http_proxy() {
        return Optional.ofNullable(this.http_proxy);
    }

    @Import(name="https_proxy")
    private @Nullable Output https_proxy;

    public Optional> https_proxy() {
        return Optional.ofNullable(this.https_proxy);
    }

    @Import(name="image")
    private @Nullable Output image;

    public Optional> image() {
        return Optional.ofNullable(this.image);
    }

    @Import(name="ingressShim")
    private @Nullable Output ingressShim;

    public Optional> ingressShim() {
        return Optional.ofNullable(this.ingressShim);
    }

    @Import(name="installCRDs")
    private @Nullable Output installCRDs;

    public Optional> installCRDs() {
        return Optional.ofNullable(this.installCRDs);
    }

    @Import(name="no_proxy")
    private @Nullable Output> no_proxy;

    public Optional>> no_proxy() {
        return Optional.ofNullable(this.no_proxy);
    }

    @Import(name="nodeSelector")
    private @Nullable Output nodeSelector;

    public Optional> nodeSelector() {
        return Optional.ofNullable(this.nodeSelector);
    }

    /**
     * Optional additional annotations to add to the controller Pods
     * 
     */
    @Import(name="podAnnotations")
    private @Nullable Output> podAnnotations;

    /**
     * @return Optional additional annotations to add to the controller Pods
     * 
     */
    public Optional>> podAnnotations() {
        return Optional.ofNullable(this.podAnnotations);
    }

    @Import(name="podDnsConfig")
    private @Nullable Output podDnsConfig;

    public Optional> podDnsConfig() {
        return Optional.ofNullable(this.podDnsConfig);
    }

    /**
     * Optional DNS settings, useful if you have a public and private DNS zone for the same domain on Route 53. What follows is an example of ensuring cert-manager can access an ingress or DNS TXT records at all times. NOTE: This requires Kubernetes 1.10 or `CustomPodDNS` feature gate enabled for the cluster to work.
     * 
     */
    @Import(name="podDnsPolicy")
    private @Nullable Output podDnsPolicy;

    /**
     * @return Optional DNS settings, useful if you have a public and private DNS zone for the same domain on Route 53. What follows is an example of ensuring cert-manager can access an ingress or DNS TXT records at all times. NOTE: This requires Kubernetes 1.10 or `CustomPodDNS` feature gate enabled for the cluster to work.
     * 
     */
    public Optional> podDnsPolicy() {
        return Optional.ofNullable(this.podDnsPolicy);
    }

    @Import(name="podLabels")
    private @Nullable Output> podLabels;

    public Optional>> podLabels() {
        return Optional.ofNullable(this.podLabels);
    }

    @Import(name="prometheus")
    private @Nullable Output prometheus;

    public Optional> prometheus() {
        return Optional.ofNullable(this.prometheus);
    }

    @Import(name="replicaCount")
    private @Nullable Output replicaCount;

    public Optional> replicaCount() {
        return Optional.ofNullable(this.replicaCount);
    }

    @Import(name="resources")
    private @Nullable Output resources;

    public Optional> resources() {
        return Optional.ofNullable(this.resources);
    }

    /**
     * Pod Security Context. ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
     * 
     */
    @Import(name="securityContext")
    private @Nullable Output securityContext;

    /**
     * @return Pod Security Context. ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
     * 
     */
    public Optional> securityContext() {
        return Optional.ofNullable(this.securityContext);
    }

    @Import(name="serviceAccount")
    private @Nullable Output serviceAccount;

    public Optional> serviceAccount() {
        return Optional.ofNullable(this.serviceAccount);
    }

    /**
     * Optional additional annotations to add to the controller service
     * 
     */
    @Import(name="serviceAnnotations")
    private @Nullable Output> serviceAnnotations;

    /**
     * @return Optional additional annotations to add to the controller service
     * 
     */
    public Optional>> serviceAnnotations() {
        return Optional.ofNullable(this.serviceAnnotations);
    }

    /**
     * Optional additional labels to add to the controller Service
     * 
     */
    @Import(name="serviceLabels")
    private @Nullable Output> serviceLabels;

    /**
     * @return Optional additional labels to add to the controller Service
     * 
     */
    public Optional>> serviceLabels() {
        return Optional.ofNullable(this.serviceLabels);
    }

    @Import(name="startupapicheck")
    private @Nullable Output startupapicheck;

    public Optional> startupapicheck() {
        return Optional.ofNullable(this.startupapicheck);
    }

    @Import(name="strategy")
    private @Nullable Output strategy;

    public Optional> strategy() {
        return Optional.ofNullable(this.strategy);
    }

    @Import(name="tolerations")
    private @Nullable Output> tolerations;

    public Optional>> tolerations() {
        return Optional.ofNullable(this.tolerations);
    }

    @Import(name="webhook")
    private @Nullable Output webhook;

    public Optional> webhook() {
        return Optional.ofNullable(this.webhook);
    }

    private CertManagerArgs() {}

    private CertManagerArgs(CertManagerArgs $) {
        this.affinity = $.affinity;
        this.cainjector = $.cainjector;
        this.clusterResourceNamespace = $.clusterResourceNamespace;
        this.containerSecurityContext = $.containerSecurityContext;
        this.deploymentAnnotations = $.deploymentAnnotations;
        this.extraArgs = $.extraArgs;
        this.extraEnv = $.extraEnv;
        this.extraVolumeMounts = $.extraVolumeMounts;
        this.extraVolumes = $.extraVolumes;
        this.featureGates = $.featureGates;
        this.global = $.global;
        this.helmOptions = $.helmOptions;
        this.http_proxy = $.http_proxy;
        this.https_proxy = $.https_proxy;
        this.image = $.image;
        this.ingressShim = $.ingressShim;
        this.installCRDs = $.installCRDs;
        this.no_proxy = $.no_proxy;
        this.nodeSelector = $.nodeSelector;
        this.podAnnotations = $.podAnnotations;
        this.podDnsConfig = $.podDnsConfig;
        this.podDnsPolicy = $.podDnsPolicy;
        this.podLabels = $.podLabels;
        this.prometheus = $.prometheus;
        this.replicaCount = $.replicaCount;
        this.resources = $.resources;
        this.securityContext = $.securityContext;
        this.serviceAccount = $.serviceAccount;
        this.serviceAnnotations = $.serviceAnnotations;
        this.serviceLabels = $.serviceLabels;
        this.startupapicheck = $.startupapicheck;
        this.strategy = $.strategy;
        this.tolerations = $.tolerations;
        this.webhook = $.webhook;
    }

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

    public static final class Builder {
        private CertManagerArgs $;

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

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

        public Builder affinity(@Nullable Output affinity) {
            $.affinity = affinity;
            return this;
        }

        public Builder affinity(AffinityArgs affinity) {
            return affinity(Output.of(affinity));
        }

        public Builder cainjector(@Nullable Output cainjector) {
            $.cainjector = cainjector;
            return this;
        }

        public Builder cainjector(CertManagerCaInjectorArgs cainjector) {
            return cainjector(Output.of(cainjector));
        }

        /**
         * @param clusterResourceNamespace Override the namespace used to store DNS provider credentials etc. for ClusterIssuer resources. By default, the same namespace as cert-manager is deployed within is used. This namespace will not be automatically created by the Helm chart.
         * 
         * @return builder
         * 
         */
        public Builder clusterResourceNamespace(@Nullable Output clusterResourceNamespace) {
            $.clusterResourceNamespace = clusterResourceNamespace;
            return this;
        }

        /**
         * @param clusterResourceNamespace Override the namespace used to store DNS provider credentials etc. for ClusterIssuer resources. By default, the same namespace as cert-manager is deployed within is used. This namespace will not be automatically created by the Helm chart.
         * 
         * @return builder
         * 
         */
        public Builder clusterResourceNamespace(String clusterResourceNamespace) {
            return clusterResourceNamespace(Output.of(clusterResourceNamespace));
        }

        /**
         * @param containerSecurityContext Container Security Context to be set on the controller component container. ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
         * 
         * @return builder
         * 
         */
        public Builder containerSecurityContext(@Nullable Output containerSecurityContext) {
            $.containerSecurityContext = containerSecurityContext;
            return this;
        }

        /**
         * @param containerSecurityContext Container Security Context to be set on the controller component container. ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
         * 
         * @return builder
         * 
         */
        public Builder containerSecurityContext(SecurityContextArgs containerSecurityContext) {
            return containerSecurityContext(Output.of(containerSecurityContext));
        }

        /**
         * @param deploymentAnnotations Optional additional annotations to add to the controller Deployment
         * 
         * @return builder
         * 
         */
        public Builder deploymentAnnotations(@Nullable Output> deploymentAnnotations) {
            $.deploymentAnnotations = deploymentAnnotations;
            return this;
        }

        /**
         * @param deploymentAnnotations Optional additional annotations to add to the controller Deployment
         * 
         * @return builder
         * 
         */
        public Builder deploymentAnnotations(Map deploymentAnnotations) {
            return deploymentAnnotations(Output.of(deploymentAnnotations));
        }

        /**
         * @param extraArgs Optional additional arguments.
         * 
         * @return builder
         * 
         */
        public Builder extraArgs(@Nullable Output> extraArgs) {
            $.extraArgs = extraArgs;
            return this;
        }

        /**
         * @param extraArgs Optional additional arguments.
         * 
         * @return builder
         * 
         */
        public Builder extraArgs(List extraArgs) {
            return extraArgs(Output.of(extraArgs));
        }

        /**
         * @param extraArgs Optional additional arguments.
         * 
         * @return builder
         * 
         */
        public Builder extraArgs(String... extraArgs) {
            return extraArgs(List.of(extraArgs));
        }

        public Builder extraEnv(@Nullable Output> extraEnv) {
            $.extraEnv = extraEnv;
            return this;
        }

        public Builder extraEnv(List extraEnv) {
            return extraEnv(Output.of(extraEnv));
        }

        public Builder extraEnv(EnvVarArgs... extraEnv) {
            return extraEnv(List.of(extraEnv));
        }

        public Builder extraVolumeMounts(@Nullable Output> extraVolumeMounts) {
            $.extraVolumeMounts = extraVolumeMounts;
            return this;
        }

        public Builder extraVolumeMounts(List extraVolumeMounts) {
            return extraVolumeMounts(Output.of(extraVolumeMounts));
        }

        public Builder extraVolumeMounts(VolumeMountArgs... extraVolumeMounts) {
            return extraVolumeMounts(List.of(extraVolumeMounts));
        }

        public Builder extraVolumes(@Nullable Output> extraVolumes) {
            $.extraVolumes = extraVolumes;
            return this;
        }

        public Builder extraVolumes(List extraVolumes) {
            return extraVolumes(Output.of(extraVolumes));
        }

        public Builder extraVolumes(VolumeArgs... extraVolumes) {
            return extraVolumes(List.of(extraVolumes));
        }

        /**
         * @param featureGates Comma separated list of feature gates that should be enabled on the controller pod.
         * 
         * @return builder
         * 
         */
        public Builder featureGates(@Nullable Output featureGates) {
            $.featureGates = featureGates;
            return this;
        }

        /**
         * @param featureGates Comma separated list of feature gates that should be enabled on the controller pod.
         * 
         * @return builder
         * 
         */
        public Builder featureGates(String featureGates) {
            return featureGates(Output.of(featureGates));
        }

        public Builder global(@Nullable Output global) {
            $.global = global;
            return this;
        }

        public Builder global(CertManagerGlobalArgs global) {
            return global(Output.of(global));
        }

        /**
         * @param helmOptions HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args.
         * 
         * @return builder
         * 
         */
        public Builder helmOptions(@Nullable Output helmOptions) {
            $.helmOptions = helmOptions;
            return this;
        }

        /**
         * @param helmOptions HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args.
         * 
         * @return builder
         * 
         */
        public Builder helmOptions(ReleaseArgs helmOptions) {
            return helmOptions(Output.of(helmOptions));
        }

        public Builder http_proxy(@Nullable Output http_proxy) {
            $.http_proxy = http_proxy;
            return this;
        }

        public Builder http_proxy(String http_proxy) {
            return http_proxy(Output.of(http_proxy));
        }

        public Builder https_proxy(@Nullable Output https_proxy) {
            $.https_proxy = https_proxy;
            return this;
        }

        public Builder https_proxy(String https_proxy) {
            return https_proxy(Output.of(https_proxy));
        }

        public Builder image(@Nullable Output image) {
            $.image = image;
            return this;
        }

        public Builder image(CertManagerImageArgs image) {
            return image(Output.of(image));
        }

        public Builder ingressShim(@Nullable Output ingressShim) {
            $.ingressShim = ingressShim;
            return this;
        }

        public Builder ingressShim(CertManagerIngressShimArgs ingressShim) {
            return ingressShim(Output.of(ingressShim));
        }

        public Builder installCRDs(@Nullable Output installCRDs) {
            $.installCRDs = installCRDs;
            return this;
        }

        public Builder installCRDs(Boolean installCRDs) {
            return installCRDs(Output.of(installCRDs));
        }

        public Builder no_proxy(@Nullable Output> no_proxy) {
            $.no_proxy = no_proxy;
            return this;
        }

        public Builder no_proxy(List no_proxy) {
            return no_proxy(Output.of(no_proxy));
        }

        public Builder no_proxy(String... no_proxy) {
            return no_proxy(List.of(no_proxy));
        }

        public Builder nodeSelector(@Nullable Output nodeSelector) {
            $.nodeSelector = nodeSelector;
            return this;
        }

        public Builder nodeSelector(NodeSelectorArgs nodeSelector) {
            return nodeSelector(Output.of(nodeSelector));
        }

        /**
         * @param podAnnotations Optional additional annotations to add to the controller Pods
         * 
         * @return builder
         * 
         */
        public Builder podAnnotations(@Nullable Output> podAnnotations) {
            $.podAnnotations = podAnnotations;
            return this;
        }

        /**
         * @param podAnnotations Optional additional annotations to add to the controller Pods
         * 
         * @return builder
         * 
         */
        public Builder podAnnotations(Map podAnnotations) {
            return podAnnotations(Output.of(podAnnotations));
        }

        public Builder podDnsConfig(@Nullable Output podDnsConfig) {
            $.podDnsConfig = podDnsConfig;
            return this;
        }

        public Builder podDnsConfig(PodDNSConfigArgs podDnsConfig) {
            return podDnsConfig(Output.of(podDnsConfig));
        }

        /**
         * @param podDnsPolicy Optional DNS settings, useful if you have a public and private DNS zone for the same domain on Route 53. What follows is an example of ensuring cert-manager can access an ingress or DNS TXT records at all times. NOTE: This requires Kubernetes 1.10 or `CustomPodDNS` feature gate enabled for the cluster to work.
         * 
         * @return builder
         * 
         */
        public Builder podDnsPolicy(@Nullable Output podDnsPolicy) {
            $.podDnsPolicy = podDnsPolicy;
            return this;
        }

        /**
         * @param podDnsPolicy Optional DNS settings, useful if you have a public and private DNS zone for the same domain on Route 53. What follows is an example of ensuring cert-manager can access an ingress or DNS TXT records at all times. NOTE: This requires Kubernetes 1.10 or `CustomPodDNS` feature gate enabled for the cluster to work.
         * 
         * @return builder
         * 
         */
        public Builder podDnsPolicy(String podDnsPolicy) {
            return podDnsPolicy(Output.of(podDnsPolicy));
        }

        public Builder podLabels(@Nullable Output> podLabels) {
            $.podLabels = podLabels;
            return this;
        }

        public Builder podLabels(Map podLabels) {
            return podLabels(Output.of(podLabels));
        }

        public Builder prometheus(@Nullable Output prometheus) {
            $.prometheus = prometheus;
            return this;
        }

        public Builder prometheus(CertManagerPrometheusArgs prometheus) {
            return prometheus(Output.of(prometheus));
        }

        public Builder replicaCount(@Nullable Output replicaCount) {
            $.replicaCount = replicaCount;
            return this;
        }

        public Builder replicaCount(Integer replicaCount) {
            return replicaCount(Output.of(replicaCount));
        }

        public Builder resources(@Nullable Output resources) {
            $.resources = resources;
            return this;
        }

        public Builder resources(ResourceRequirementsArgs resources) {
            return resources(Output.of(resources));
        }

        /**
         * @param securityContext Pod Security Context. ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
         * 
         * @return builder
         * 
         */
        public Builder securityContext(@Nullable Output securityContext) {
            $.securityContext = securityContext;
            return this;
        }

        /**
         * @param securityContext Pod Security Context. ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
         * 
         * @return builder
         * 
         */
        public Builder securityContext(PodSecurityContextArgs securityContext) {
            return securityContext(Output.of(securityContext));
        }

        public Builder serviceAccount(@Nullable Output serviceAccount) {
            $.serviceAccount = serviceAccount;
            return this;
        }

        public Builder serviceAccount(CertManagerServiceAccountArgs serviceAccount) {
            return serviceAccount(Output.of(serviceAccount));
        }

        /**
         * @param serviceAnnotations Optional additional annotations to add to the controller service
         * 
         * @return builder
         * 
         */
        public Builder serviceAnnotations(@Nullable Output> serviceAnnotations) {
            $.serviceAnnotations = serviceAnnotations;
            return this;
        }

        /**
         * @param serviceAnnotations Optional additional annotations to add to the controller service
         * 
         * @return builder
         * 
         */
        public Builder serviceAnnotations(Map serviceAnnotations) {
            return serviceAnnotations(Output.of(serviceAnnotations));
        }

        /**
         * @param serviceLabels Optional additional labels to add to the controller Service
         * 
         * @return builder
         * 
         */
        public Builder serviceLabels(@Nullable Output> serviceLabels) {
            $.serviceLabels = serviceLabels;
            return this;
        }

        /**
         * @param serviceLabels Optional additional labels to add to the controller Service
         * 
         * @return builder
         * 
         */
        public Builder serviceLabels(Map serviceLabels) {
            return serviceLabels(Output.of(serviceLabels));
        }

        public Builder startupapicheck(@Nullable Output startupapicheck) {
            $.startupapicheck = startupapicheck;
            return this;
        }

        public Builder startupapicheck(CertManagerStartupAPICheckArgs startupapicheck) {
            return startupapicheck(Output.of(startupapicheck));
        }

        public Builder strategy(@Nullable Output strategy) {
            $.strategy = strategy;
            return this;
        }

        public Builder strategy(DeploymentStrategyArgs strategy) {
            return strategy(Output.of(strategy));
        }

        public Builder tolerations(@Nullable Output> tolerations) {
            $.tolerations = tolerations;
            return this;
        }

        public Builder tolerations(List tolerations) {
            return tolerations(Output.of(tolerations));
        }

        public Builder tolerations(TolerationArgs... tolerations) {
            return tolerations(List.of(tolerations));
        }

        public Builder webhook(@Nullable Output webhook) {
            $.webhook = webhook;
            return this;
        }

        public Builder webhook(CertManagerWebhookArgs webhook) {
            return webhook(Output.of(webhook));
        }

        public CertManagerArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy