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

com.pulumi.kubernetescertmanager.inputs.CertManagerWebhookArgs 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.inputs;

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.PodSecurityContextArgs;
import com.pulumi.kubernetes.core.v1.inputs.ProbeArgs;
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.kubernetescertmanager.inputs.CertManagerImageArgs;
import com.pulumi.kubernetescertmanager.inputs.CertManagerServiceAccountArgs;
import com.pulumi.kubernetescertmanager.inputs.CertManagerWebhookURLArgs;
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 CertManagerWebhookArgs extends com.pulumi.resources.ResourceArgs {

    public static final CertManagerWebhookArgs Empty = new CertManagerWebhookArgs();

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

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

    /**
     * Container Security Context to be set on the webhook 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 webhook 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 webhook Deployment
     * 
     */
    @Import(name="deploymentAnnotations")
    private @Nullable Output> deploymentAnnotations;

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

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

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

    /**
     * Specifies if the webhook should be started in hostNetwork mode. Required for use in some managed kubernetes clusters (such as AWS EKS) with custom CNI (such as calico), because control-plane managed by AWS cannot communicate with pods' IP CIDR and admission webhooks are not working Since the default port for the webhook conflicts with kubelet on the host network, `webhook.securePort` should be changed to an available port if running in hostNetwork mode.
     * 
     */
    @Import(name="hostNetwork")
    private @Nullable Output hostNetwork;

    /**
     * @return Specifies if the webhook should be started in hostNetwork mode. Required for use in some managed kubernetes clusters (such as AWS EKS) with custom CNI (such as calico), because control-plane managed by AWS cannot communicate with pods' IP CIDR and admission webhooks are not working Since the default port for the webhook conflicts with kubelet on the host network, `webhook.securePort` should be changed to an available port if running in hostNetwork mode.
     * 
     */
    public Optional> hostNetwork() {
        return Optional.ofNullable(this.hostNetwork);
    }

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

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

    /**
     * Liveness probe values. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
     * 
     */
    @Import(name="livenessProbe")
    private @Nullable Output livenessProbe;

    /**
     * @return Liveness probe values. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
     * 
     */
    public Optional> livenessProbe() {
        return Optional.ofNullable(this.livenessProbe);
    }

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

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

    /**
     * Optional additional annotations to add to the webhook MutatingWebhookConfiguration
     * 
     */
    @Import(name="mutatingWebhookConfigurationAnnotations")
    private @Nullable Output> mutatingWebhookConfigurationAnnotations;

    /**
     * @return Optional additional annotations to add to the webhook MutatingWebhookConfiguration
     * 
     */
    public Optional>> mutatingWebhookConfigurationAnnotations() {
        return Optional.ofNullable(this.mutatingWebhookConfigurationAnnotations);
    }

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

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

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

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

    /**
     * Optional additional labels to add to the Webhook Pods
     * 
     */
    @Import(name="podLabels")
    private @Nullable Output> podLabels;

    /**
     * @return Optional additional labels to add to the Webhook Pods
     * 
     */
    public Optional>> podLabels() {
        return Optional.ofNullable(this.podLabels);
    }

    /**
     * Readiness probe values. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
     * 
     */
    @Import(name="readinessProbe")
    private @Nullable Output readinessProbe;

    /**
     * @return Readiness probe values. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
     * 
     */
    public Optional> readinessProbe() {
        return Optional.ofNullable(this.readinessProbe);
    }

    @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);
    }

    /**
     * The port that the webhook should listen on for requests. In GKE private clusters, by default kubernetes apiservers are allowed to talk to the cluster nodes only on 443 and 10250. so configuring securePort: 10250, will work out of the box without needing to add firewall rules or requiring NET_BIND_SERVICE capabilities to bind port numbers <1000
     * 
     */
    @Import(name="securePort")
    private @Nullable Output securePort;

    /**
     * @return The port that the webhook should listen on for requests. In GKE private clusters, by default kubernetes apiservers are allowed to talk to the cluster nodes only on 443 and 10250. so configuring securePort: 10250, will work out of the box without needing to add firewall rules or requiring NET_BIND_SERVICE capabilities to bind port numbers <1000
     * 
     */
    public Optional> securePort() {
        return Optional.ofNullable(this.securePort);
    }

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

    /**
     * @return Pod Security Context to be set on the webhook component Pod. 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 webhook service
     * 
     */
    @Import(name="serviceAnnotations")
    private @Nullable Output> serviceAnnotations;

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

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

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

    /**
     * Specifies how the service should be handled. Useful if you want to expose the webhook to outside of the cluster. In some cases, the control plane cannot reach internal services.
     * 
     */
    @Import(name="serviceType")
    private @Nullable Output serviceType;

    /**
     * @return Specifies how the service should be handled. Useful if you want to expose the webhook to outside of the cluster. In some cases, the control plane cannot reach internal services.
     * 
     */
    public Optional> serviceType() {
        return Optional.ofNullable(this.serviceType);
    }

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

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

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

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

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

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

    /**
     * Overrides the mutating webhook and validating webhook so they reach the webhook service using the `url` field instead of a service.
     * 
     */
    @Import(name="url")
    private @Nullable Output url;

    /**
     * @return Overrides the mutating webhook and validating webhook so they reach the webhook service using the `url` field instead of a service.
     * 
     */
    public Optional> url() {
        return Optional.ofNullable(this.url);
    }

    /**
     * Optional additional annotations to add to the webhook ValidatingWebhookConfiguration
     * 
     */
    @Import(name="validatingWebhookConfigurationAnnotations")
    private @Nullable Output> validatingWebhookConfigurationAnnotations;

    /**
     * @return Optional additional annotations to add to the webhook ValidatingWebhookConfiguration
     * 
     */
    public Optional>> validatingWebhookConfigurationAnnotations() {
        return Optional.ofNullable(this.validatingWebhookConfigurationAnnotations);
    }

    private CertManagerWebhookArgs() {}

    private CertManagerWebhookArgs(CertManagerWebhookArgs $) {
        this.affinity = $.affinity;
        this.containerSecurityContext = $.containerSecurityContext;
        this.deploymentAnnotations = $.deploymentAnnotations;
        this.extraArgs = $.extraArgs;
        this.hostNetwork = $.hostNetwork;
        this.image = $.image;
        this.livenessProbe = $.livenessProbe;
        this.loadBalancerIP = $.loadBalancerIP;
        this.mutatingWebhookConfigurationAnnotations = $.mutatingWebhookConfigurationAnnotations;
        this.nodeSelector = $.nodeSelector;
        this.podAnnotations = $.podAnnotations;
        this.podLabels = $.podLabels;
        this.readinessProbe = $.readinessProbe;
        this.replicaCount = $.replicaCount;
        this.resources = $.resources;
        this.securePort = $.securePort;
        this.securityContext = $.securityContext;
        this.serviceAccount = $.serviceAccount;
        this.serviceAnnotations = $.serviceAnnotations;
        this.serviceLabels = $.serviceLabels;
        this.serviceType = $.serviceType;
        this.strategy = $.strategy;
        this.timeoutSeconds = $.timeoutSeconds;
        this.tolerations = $.tolerations;
        this.url = $.url;
        this.validatingWebhookConfigurationAnnotations = $.validatingWebhookConfigurationAnnotations;
    }

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

    public static final class Builder {
        private CertManagerWebhookArgs $;

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

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

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

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

        /**
         * @param containerSecurityContext Container Security Context to be set on the webhook 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 webhook 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 webhook Deployment
         * 
         * @return builder
         * 
         */
        public Builder deploymentAnnotations(@Nullable Output> deploymentAnnotations) {
            $.deploymentAnnotations = deploymentAnnotations;
            return this;
        }

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

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

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

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

        /**
         * @param hostNetwork Specifies if the webhook should be started in hostNetwork mode. Required for use in some managed kubernetes clusters (such as AWS EKS) with custom CNI (such as calico), because control-plane managed by AWS cannot communicate with pods' IP CIDR and admission webhooks are not working Since the default port for the webhook conflicts with kubelet on the host network, `webhook.securePort` should be changed to an available port if running in hostNetwork mode.
         * 
         * @return builder
         * 
         */
        public Builder hostNetwork(@Nullable Output hostNetwork) {
            $.hostNetwork = hostNetwork;
            return this;
        }

        /**
         * @param hostNetwork Specifies if the webhook should be started in hostNetwork mode. Required for use in some managed kubernetes clusters (such as AWS EKS) with custom CNI (such as calico), because control-plane managed by AWS cannot communicate with pods' IP CIDR and admission webhooks are not working Since the default port for the webhook conflicts with kubelet on the host network, `webhook.securePort` should be changed to an available port if running in hostNetwork mode.
         * 
         * @return builder
         * 
         */
        public Builder hostNetwork(Boolean hostNetwork) {
            return hostNetwork(Output.of(hostNetwork));
        }

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

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

        /**
         * @param livenessProbe Liveness probe values. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
         * 
         * @return builder
         * 
         */
        public Builder livenessProbe(@Nullable Output livenessProbe) {
            $.livenessProbe = livenessProbe;
            return this;
        }

        /**
         * @param livenessProbe Liveness probe values. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
         * 
         * @return builder
         * 
         */
        public Builder livenessProbe(ProbeArgs livenessProbe) {
            return livenessProbe(Output.of(livenessProbe));
        }

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

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

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

        /**
         * @param mutatingWebhookConfigurationAnnotations Optional additional annotations to add to the webhook MutatingWebhookConfiguration
         * 
         * @return builder
         * 
         */
        public Builder mutatingWebhookConfigurationAnnotations(Map mutatingWebhookConfigurationAnnotations) {
            return mutatingWebhookConfigurationAnnotations(Output.of(mutatingWebhookConfigurationAnnotations));
        }

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

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

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

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

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

        /**
         * @param podLabels Optional additional labels to add to the Webhook Pods
         * 
         * @return builder
         * 
         */
        public Builder podLabels(Map podLabels) {
            return podLabels(Output.of(podLabels));
        }

        /**
         * @param readinessProbe Readiness probe values. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
         * 
         * @return builder
         * 
         */
        public Builder readinessProbe(@Nullable Output readinessProbe) {
            $.readinessProbe = readinessProbe;
            return this;
        }

        /**
         * @param readinessProbe Readiness probe values. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
         * 
         * @return builder
         * 
         */
        public Builder readinessProbe(ProbeArgs readinessProbe) {
            return readinessProbe(Output.of(readinessProbe));
        }

        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 securePort The port that the webhook should listen on for requests. In GKE private clusters, by default kubernetes apiservers are allowed to talk to the cluster nodes only on 443 and 10250. so configuring securePort: 10250, will work out of the box without needing to add firewall rules or requiring NET_BIND_SERVICE capabilities to bind port numbers <1000
         * 
         * @return builder
         * 
         */
        public Builder securePort(@Nullable Output securePort) {
            $.securePort = securePort;
            return this;
        }

        /**
         * @param securePort The port that the webhook should listen on for requests. In GKE private clusters, by default kubernetes apiservers are allowed to talk to the cluster nodes only on 443 and 10250. so configuring securePort: 10250, will work out of the box without needing to add firewall rules or requiring NET_BIND_SERVICE capabilities to bind port numbers <1000
         * 
         * @return builder
         * 
         */
        public Builder securePort(Integer securePort) {
            return securePort(Output.of(securePort));
        }

        /**
         * @param securityContext Pod Security Context to be set on the webhook component Pod. 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 to be set on the webhook component Pod. 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 webhook service
         * 
         * @return builder
         * 
         */
        public Builder serviceAnnotations(@Nullable Output> serviceAnnotations) {
            $.serviceAnnotations = serviceAnnotations;
            return this;
        }

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

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

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

        /**
         * @param serviceType Specifies how the service should be handled. Useful if you want to expose the webhook to outside of the cluster. In some cases, the control plane cannot reach internal services.
         * 
         * @return builder
         * 
         */
        public Builder serviceType(@Nullable Output serviceType) {
            $.serviceType = serviceType;
            return this;
        }

        /**
         * @param serviceType Specifies how the service should be handled. Useful if you want to expose the webhook to outside of the cluster. In some cases, the control plane cannot reach internal services.
         * 
         * @return builder
         * 
         */
        public Builder serviceType(String serviceType) {
            return serviceType(Output.of(serviceType));
        }

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

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

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

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

        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));
        }

        /**
         * @param url Overrides the mutating webhook and validating webhook so they reach the webhook service using the `url` field instead of a service.
         * 
         * @return builder
         * 
         */
        public Builder url(@Nullable Output url) {
            $.url = url;
            return this;
        }

        /**
         * @param url Overrides the mutating webhook and validating webhook so they reach the webhook service using the `url` field instead of a service.
         * 
         * @return builder
         * 
         */
        public Builder url(CertManagerWebhookURLArgs url) {
            return url(Output.of(url));
        }

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

        /**
         * @param validatingWebhookConfigurationAnnotations Optional additional annotations to add to the webhook ValidatingWebhookConfiguration
         * 
         * @return builder
         * 
         */
        public Builder validatingWebhookConfigurationAnnotations(Map validatingWebhookConfigurationAnnotations) {
            return validatingWebhookConfigurationAnnotations(Output.of(validatingWebhookConfigurationAnnotations));
        }

        public CertManagerWebhookArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy