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

com.pulumi.azure.arckubernetes.inputs.FluxConfigurationBucketArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
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.azure.arckubernetes.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final FluxConfigurationBucketArgs Empty = new FluxConfigurationBucketArgs();

    /**
     * Specifies the plaintext access key used to securely access the S3 bucket.
     * 
     */
    @Import(name="accessKey")
    private @Nullable Output accessKey;

    /**
     * @return Specifies the plaintext access key used to securely access the S3 bucket.
     * 
     */
    public Optional> accessKey() {
        return Optional.ofNullable(this.accessKey);
    }

    /**
     * Specifies the bucket name to sync from the url endpoint for the flux configuration.
     * 
     */
    @Import(name="bucketName", required=true)
    private Output bucketName;

    /**
     * @return Specifies the bucket name to sync from the url endpoint for the flux configuration.
     * 
     */
    public Output bucketName() {
        return this.bucketName;
    }

    /**
     * Specifies the name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.
     * 
     */
    @Import(name="localAuthReference")
    private @Nullable Output localAuthReference;

    /**
     * @return Specifies the name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.
     * 
     */
    public Optional> localAuthReference() {
        return Optional.ofNullable(this.localAuthReference);
    }

    /**
     * Specifies the Base64-encoded secret key used to authenticate with the bucket source.
     * 
     */
    @Import(name="secretKeyBase64")
    private @Nullable Output secretKeyBase64;

    /**
     * @return Specifies the Base64-encoded secret key used to authenticate with the bucket source.
     * 
     */
    public Optional> secretKeyBase64() {
        return Optional.ofNullable(this.secretKeyBase64);
    }

    /**
     * Specifies the interval at which to re-reconcile the cluster git repository source with the remote. Defaults to `600`.
     * 
     */
    @Import(name="syncIntervalInSeconds")
    private @Nullable Output syncIntervalInSeconds;

    /**
     * @return Specifies the interval at which to re-reconcile the cluster git repository source with the remote. Defaults to `600`.
     * 
     */
    public Optional> syncIntervalInSeconds() {
        return Optional.ofNullable(this.syncIntervalInSeconds);
    }

    /**
     * Specifies the maximum time to attempt to reconcile the cluster git repository source with the remote. Defaults to `600`.
     * 
     */
    @Import(name="timeoutInSeconds")
    private @Nullable Output timeoutInSeconds;

    /**
     * @return Specifies the maximum time to attempt to reconcile the cluster git repository source with the remote. Defaults to `600`.
     * 
     */
    public Optional> timeoutInSeconds() {
        return Optional.ofNullable(this.timeoutInSeconds);
    }

    /**
     * Specify whether to communicate with a bucket using TLS is enabled. Defaults to `true`.
     * 
     */
    @Import(name="tlsEnabled")
    private @Nullable Output tlsEnabled;

    /**
     * @return Specify whether to communicate with a bucket using TLS is enabled. Defaults to `true`.
     * 
     */
    public Optional> tlsEnabled() {
        return Optional.ofNullable(this.tlsEnabled);
    }

    /**
     * Specifies the URL to sync for the flux configuration S3 bucket. It must start with `http://` or `https://`.
     * 
     */
    @Import(name="url", required=true)
    private Output url;

    /**
     * @return Specifies the URL to sync for the flux configuration S3 bucket. It must start with `http://` or `https://`.
     * 
     */
    public Output url() {
        return this.url;
    }

    private FluxConfigurationBucketArgs() {}

    private FluxConfigurationBucketArgs(FluxConfigurationBucketArgs $) {
        this.accessKey = $.accessKey;
        this.bucketName = $.bucketName;
        this.localAuthReference = $.localAuthReference;
        this.secretKeyBase64 = $.secretKeyBase64;
        this.syncIntervalInSeconds = $.syncIntervalInSeconds;
        this.timeoutInSeconds = $.timeoutInSeconds;
        this.tlsEnabled = $.tlsEnabled;
        this.url = $.url;
    }

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

    public static final class Builder {
        private FluxConfigurationBucketArgs $;

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

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

        /**
         * @param accessKey Specifies the plaintext access key used to securely access the S3 bucket.
         * 
         * @return builder
         * 
         */
        public Builder accessKey(@Nullable Output accessKey) {
            $.accessKey = accessKey;
            return this;
        }

        /**
         * @param accessKey Specifies the plaintext access key used to securely access the S3 bucket.
         * 
         * @return builder
         * 
         */
        public Builder accessKey(String accessKey) {
            return accessKey(Output.of(accessKey));
        }

        /**
         * @param bucketName Specifies the bucket name to sync from the url endpoint for the flux configuration.
         * 
         * @return builder
         * 
         */
        public Builder bucketName(Output bucketName) {
            $.bucketName = bucketName;
            return this;
        }

        /**
         * @param bucketName Specifies the bucket name to sync from the url endpoint for the flux configuration.
         * 
         * @return builder
         * 
         */
        public Builder bucketName(String bucketName) {
            return bucketName(Output.of(bucketName));
        }

        /**
         * @param localAuthReference Specifies the name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.
         * 
         * @return builder
         * 
         */
        public Builder localAuthReference(@Nullable Output localAuthReference) {
            $.localAuthReference = localAuthReference;
            return this;
        }

        /**
         * @param localAuthReference Specifies the name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.
         * 
         * @return builder
         * 
         */
        public Builder localAuthReference(String localAuthReference) {
            return localAuthReference(Output.of(localAuthReference));
        }

        /**
         * @param secretKeyBase64 Specifies the Base64-encoded secret key used to authenticate with the bucket source.
         * 
         * @return builder
         * 
         */
        public Builder secretKeyBase64(@Nullable Output secretKeyBase64) {
            $.secretKeyBase64 = secretKeyBase64;
            return this;
        }

        /**
         * @param secretKeyBase64 Specifies the Base64-encoded secret key used to authenticate with the bucket source.
         * 
         * @return builder
         * 
         */
        public Builder secretKeyBase64(String secretKeyBase64) {
            return secretKeyBase64(Output.of(secretKeyBase64));
        }

        /**
         * @param syncIntervalInSeconds Specifies the interval at which to re-reconcile the cluster git repository source with the remote. Defaults to `600`.
         * 
         * @return builder
         * 
         */
        public Builder syncIntervalInSeconds(@Nullable Output syncIntervalInSeconds) {
            $.syncIntervalInSeconds = syncIntervalInSeconds;
            return this;
        }

        /**
         * @param syncIntervalInSeconds Specifies the interval at which to re-reconcile the cluster git repository source with the remote. Defaults to `600`.
         * 
         * @return builder
         * 
         */
        public Builder syncIntervalInSeconds(Integer syncIntervalInSeconds) {
            return syncIntervalInSeconds(Output.of(syncIntervalInSeconds));
        }

        /**
         * @param timeoutInSeconds Specifies the maximum time to attempt to reconcile the cluster git repository source with the remote. Defaults to `600`.
         * 
         * @return builder
         * 
         */
        public Builder timeoutInSeconds(@Nullable Output timeoutInSeconds) {
            $.timeoutInSeconds = timeoutInSeconds;
            return this;
        }

        /**
         * @param timeoutInSeconds Specifies the maximum time to attempt to reconcile the cluster git repository source with the remote. Defaults to `600`.
         * 
         * @return builder
         * 
         */
        public Builder timeoutInSeconds(Integer timeoutInSeconds) {
            return timeoutInSeconds(Output.of(timeoutInSeconds));
        }

        /**
         * @param tlsEnabled Specify whether to communicate with a bucket using TLS is enabled. Defaults to `true`.
         * 
         * @return builder
         * 
         */
        public Builder tlsEnabled(@Nullable Output tlsEnabled) {
            $.tlsEnabled = tlsEnabled;
            return this;
        }

        /**
         * @param tlsEnabled Specify whether to communicate with a bucket using TLS is enabled. Defaults to `true`.
         * 
         * @return builder
         * 
         */
        public Builder tlsEnabled(Boolean tlsEnabled) {
            return tlsEnabled(Output.of(tlsEnabled));
        }

        /**
         * @param url Specifies the URL to sync for the flux configuration S3 bucket. It must start with `http://` or `https://`.
         * 
         * @return builder
         * 
         */
        public Builder url(Output url) {
            $.url = url;
            return this;
        }

        /**
         * @param url Specifies the URL to sync for the flux configuration S3 bucket. It must start with `http://` or `https://`.
         * 
         * @return builder
         * 
         */
        public Builder url(String url) {
            return url(Output.of(url));
        }

        public FluxConfigurationBucketArgs build() {
            if ($.bucketName == null) {
                throw new MissingRequiredPropertyException("FluxConfigurationBucketArgs", "bucketName");
            }
            if ($.url == null) {
                throw new MissingRequiredPropertyException("FluxConfigurationBucketArgs", "url");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy