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

com.pulumi.azure.containerservice.inputs.FluxConfigurationBlobStorageArgs 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.containerservice.inputs;

import com.pulumi.azure.containerservice.inputs.FluxConfigurationBlobStorageManagedIdentityArgs;
import com.pulumi.azure.containerservice.inputs.FluxConfigurationBlobStorageServicePrincipalArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final FluxConfigurationBlobStorageArgs Empty = new FluxConfigurationBlobStorageArgs();

    /**
     * Specifies the account key (shared key) to access the storage account.
     * 
     */
    @Import(name="accountKey")
    private @Nullable Output accountKey;

    /**
     * @return Specifies the account key (shared key) to access the storage account.
     * 
     */
    public Optional> accountKey() {
        return Optional.ofNullable(this.accountKey);
    }

    /**
     * Specifies the Azure Blob container ID.
     * 
     */
    @Import(name="containerId", required=true)
    private Output containerId;

    /**
     * @return Specifies the Azure Blob container ID.
     * 
     */
    public Output containerId() {
        return this.containerId;
    }

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

    /**
     * A `managed_identity` block as defined below.
     * 
     */
    @Import(name="managedIdentity")
    private @Nullable Output managedIdentity;

    /**
     * @return A `managed_identity` block as defined below.
     * 
     */
    public Optional> managedIdentity() {
        return Optional.ofNullable(this.managedIdentity);
    }

    /**
     * Specifies the shared access token to access the storage container.
     * 
     */
    @Import(name="sasToken")
    private @Nullable Output sasToken;

    /**
     * @return Specifies the shared access token to access the storage container.
     * 
     */
    public Optional> sasToken() {
        return Optional.ofNullable(this.sasToken);
    }

    /**
     * A `service_principal` block as defined below.
     * 
     */
    @Import(name="servicePrincipal")
    private @Nullable Output servicePrincipal;

    /**
     * @return A `service_principal` block as defined below.
     * 
     */
    public Optional> servicePrincipal() {
        return Optional.ofNullable(this.servicePrincipal);
    }

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

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

    /**
     * Specifies the maximum time to attempt to reconcile the cluster Azure Blob source with the remote.
     * 
     */
    @Import(name="timeoutInSeconds")
    private @Nullable Output timeoutInSeconds;

    /**
     * @return Specifies the maximum time to attempt to reconcile the cluster Azure Blob source with the remote.
     * 
     */
    public Optional> timeoutInSeconds() {
        return Optional.ofNullable(this.timeoutInSeconds);
    }

    private FluxConfigurationBlobStorageArgs() {}

    private FluxConfigurationBlobStorageArgs(FluxConfigurationBlobStorageArgs $) {
        this.accountKey = $.accountKey;
        this.containerId = $.containerId;
        this.localAuthReference = $.localAuthReference;
        this.managedIdentity = $.managedIdentity;
        this.sasToken = $.sasToken;
        this.servicePrincipal = $.servicePrincipal;
        this.syncIntervalInSeconds = $.syncIntervalInSeconds;
        this.timeoutInSeconds = $.timeoutInSeconds;
    }

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

    public static final class Builder {
        private FluxConfigurationBlobStorageArgs $;

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

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

        /**
         * @param accountKey Specifies the account key (shared key) to access the storage account.
         * 
         * @return builder
         * 
         */
        public Builder accountKey(@Nullable Output accountKey) {
            $.accountKey = accountKey;
            return this;
        }

        /**
         * @param accountKey Specifies the account key (shared key) to access the storage account.
         * 
         * @return builder
         * 
         */
        public Builder accountKey(String accountKey) {
            return accountKey(Output.of(accountKey));
        }

        /**
         * @param containerId Specifies the Azure Blob container ID.
         * 
         * @return builder
         * 
         */
        public Builder containerId(Output containerId) {
            $.containerId = containerId;
            return this;
        }

        /**
         * @param containerId Specifies the Azure Blob container ID.
         * 
         * @return builder
         * 
         */
        public Builder containerId(String containerId) {
            return containerId(Output.of(containerId));
        }

        /**
         * @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 managedIdentity A `managed_identity` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder managedIdentity(@Nullable Output managedIdentity) {
            $.managedIdentity = managedIdentity;
            return this;
        }

        /**
         * @param managedIdentity A `managed_identity` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder managedIdentity(FluxConfigurationBlobStorageManagedIdentityArgs managedIdentity) {
            return managedIdentity(Output.of(managedIdentity));
        }

        /**
         * @param sasToken Specifies the shared access token to access the storage container.
         * 
         * @return builder
         * 
         */
        public Builder sasToken(@Nullable Output sasToken) {
            $.sasToken = sasToken;
            return this;
        }

        /**
         * @param sasToken Specifies the shared access token to access the storage container.
         * 
         * @return builder
         * 
         */
        public Builder sasToken(String sasToken) {
            return sasToken(Output.of(sasToken));
        }

        /**
         * @param servicePrincipal A `service_principal` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder servicePrincipal(@Nullable Output servicePrincipal) {
            $.servicePrincipal = servicePrincipal;
            return this;
        }

        /**
         * @param servicePrincipal A `service_principal` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder servicePrincipal(FluxConfigurationBlobStorageServicePrincipalArgs servicePrincipal) {
            return servicePrincipal(Output.of(servicePrincipal));
        }

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

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

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

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

        public FluxConfigurationBlobStorageArgs build() {
            if ($.containerId == null) {
                throw new MissingRequiredPropertyException("FluxConfigurationBlobStorageArgs", "containerId");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy