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

com.pulumi.azure.containerservice.inputs.FluxConfigurationGitRepositoryArgs 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.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 FluxConfigurationGitRepositoryArgs extends com.pulumi.resources.ResourceArgs {

    public static final FluxConfigurationGitRepositoryArgs Empty = new FluxConfigurationGitRepositoryArgs();

    /**
     * Specifies the Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS.
     * 
     */
    @Import(name="httpsCaCertBase64")
    private @Nullable Output httpsCaCertBase64;

    /**
     * @return Specifies the Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS.
     * 
     */
    public Optional> httpsCaCertBase64() {
        return Optional.ofNullable(this.httpsCaCertBase64);
    }

    /**
     * Specifies the Base64-encoded HTTPS personal access token or password that will be used to access the repository.
     * 
     */
    @Import(name="httpsKeyBase64")
    private @Nullable Output httpsKeyBase64;

    /**
     * @return Specifies the Base64-encoded HTTPS personal access token or password that will be used to access the repository.
     * 
     */
    public Optional> httpsKeyBase64() {
        return Optional.ofNullable(this.httpsKeyBase64);
    }

    /**
     * Specifies the plaintext HTTPS username used to access private git repositories over HTTPS.
     * 
     */
    @Import(name="httpsUser")
    private @Nullable Output httpsUser;

    /**
     * @return Specifies the plaintext HTTPS username used to access private git repositories over HTTPS.
     * 
     */
    public Optional> httpsUser() {
        return Optional.ofNullable(this.httpsUser);
    }

    /**
     * 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. It must be between 1 and 63 characters. It can contain only lowercase letters, numbers, and hyphens (-). It must start and end with a lowercase letter or number.
     * 
     */
    @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. It must be between 1 and 63 characters. It can contain only lowercase letters, numbers, and hyphens (-). It must start and end with a lowercase letter or number.
     * 
     */
    public Optional> localAuthReference() {
        return Optional.ofNullable(this.localAuthReference);
    }

    /**
     * Specifies the source reference type for the GitRepository object. Possible values are `branch`, `commit`, `semver` and `tag`.
     * 
     */
    @Import(name="referenceType", required=true)
    private Output referenceType;

    /**
     * @return Specifies the source reference type for the GitRepository object. Possible values are `branch`, `commit`, `semver` and `tag`.
     * 
     */
    public Output referenceType() {
        return this.referenceType;
    }

    /**
     * Specifies the source reference value for the GitRepository object.
     * 
     */
    @Import(name="referenceValue", required=true)
    private Output referenceValue;

    /**
     * @return Specifies the source reference value for the GitRepository object.
     * 
     */
    public Output referenceValue() {
        return this.referenceValue;
    }

    /**
     * Specifies the Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH.
     * 
     */
    @Import(name="sshKnownHostsBase64")
    private @Nullable Output sshKnownHostsBase64;

    /**
     * @return Specifies the Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH.
     * 
     */
    public Optional> sshKnownHostsBase64() {
        return Optional.ofNullable(this.sshKnownHostsBase64);
    }

    /**
     * Specifies the Base64-encoded SSH private key in PEM format.
     * 
     */
    @Import(name="sshPrivateKeyBase64")
    private @Nullable Output sshPrivateKeyBase64;

    /**
     * @return Specifies the Base64-encoded SSH private key in PEM format.
     * 
     */
    public Optional> sshPrivateKeyBase64() {
        return Optional.ofNullable(this.sshPrivateKeyBase64);
    }

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

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

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

    private FluxConfigurationGitRepositoryArgs() {}

    private FluxConfigurationGitRepositoryArgs(FluxConfigurationGitRepositoryArgs $) {
        this.httpsCaCertBase64 = $.httpsCaCertBase64;
        this.httpsKeyBase64 = $.httpsKeyBase64;
        this.httpsUser = $.httpsUser;
        this.localAuthReference = $.localAuthReference;
        this.referenceType = $.referenceType;
        this.referenceValue = $.referenceValue;
        this.sshKnownHostsBase64 = $.sshKnownHostsBase64;
        this.sshPrivateKeyBase64 = $.sshPrivateKeyBase64;
        this.syncIntervalInSeconds = $.syncIntervalInSeconds;
        this.timeoutInSeconds = $.timeoutInSeconds;
        this.url = $.url;
    }

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

    public static final class Builder {
        private FluxConfigurationGitRepositoryArgs $;

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

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

        /**
         * @param httpsCaCertBase64 Specifies the Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS.
         * 
         * @return builder
         * 
         */
        public Builder httpsCaCertBase64(@Nullable Output httpsCaCertBase64) {
            $.httpsCaCertBase64 = httpsCaCertBase64;
            return this;
        }

        /**
         * @param httpsCaCertBase64 Specifies the Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS.
         * 
         * @return builder
         * 
         */
        public Builder httpsCaCertBase64(String httpsCaCertBase64) {
            return httpsCaCertBase64(Output.of(httpsCaCertBase64));
        }

        /**
         * @param httpsKeyBase64 Specifies the Base64-encoded HTTPS personal access token or password that will be used to access the repository.
         * 
         * @return builder
         * 
         */
        public Builder httpsKeyBase64(@Nullable Output httpsKeyBase64) {
            $.httpsKeyBase64 = httpsKeyBase64;
            return this;
        }

        /**
         * @param httpsKeyBase64 Specifies the Base64-encoded HTTPS personal access token or password that will be used to access the repository.
         * 
         * @return builder
         * 
         */
        public Builder httpsKeyBase64(String httpsKeyBase64) {
            return httpsKeyBase64(Output.of(httpsKeyBase64));
        }

        /**
         * @param httpsUser Specifies the plaintext HTTPS username used to access private git repositories over HTTPS.
         * 
         * @return builder
         * 
         */
        public Builder httpsUser(@Nullable Output httpsUser) {
            $.httpsUser = httpsUser;
            return this;
        }

        /**
         * @param httpsUser Specifies the plaintext HTTPS username used to access private git repositories over HTTPS.
         * 
         * @return builder
         * 
         */
        public Builder httpsUser(String httpsUser) {
            return httpsUser(Output.of(httpsUser));
        }

        /**
         * @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. It must be between 1 and 63 characters. It can contain only lowercase letters, numbers, and hyphens (-). It must start and end with a lowercase letter or number.
         * 
         * @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. It must be between 1 and 63 characters. It can contain only lowercase letters, numbers, and hyphens (-). It must start and end with a lowercase letter or number.
         * 
         * @return builder
         * 
         */
        public Builder localAuthReference(String localAuthReference) {
            return localAuthReference(Output.of(localAuthReference));
        }

        /**
         * @param referenceType Specifies the source reference type for the GitRepository object. Possible values are `branch`, `commit`, `semver` and `tag`.
         * 
         * @return builder
         * 
         */
        public Builder referenceType(Output referenceType) {
            $.referenceType = referenceType;
            return this;
        }

        /**
         * @param referenceType Specifies the source reference type for the GitRepository object. Possible values are `branch`, `commit`, `semver` and `tag`.
         * 
         * @return builder
         * 
         */
        public Builder referenceType(String referenceType) {
            return referenceType(Output.of(referenceType));
        }

        /**
         * @param referenceValue Specifies the source reference value for the GitRepository object.
         * 
         * @return builder
         * 
         */
        public Builder referenceValue(Output referenceValue) {
            $.referenceValue = referenceValue;
            return this;
        }

        /**
         * @param referenceValue Specifies the source reference value for the GitRepository object.
         * 
         * @return builder
         * 
         */
        public Builder referenceValue(String referenceValue) {
            return referenceValue(Output.of(referenceValue));
        }

        /**
         * @param sshKnownHostsBase64 Specifies the Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH.
         * 
         * @return builder
         * 
         */
        public Builder sshKnownHostsBase64(@Nullable Output sshKnownHostsBase64) {
            $.sshKnownHostsBase64 = sshKnownHostsBase64;
            return this;
        }

        /**
         * @param sshKnownHostsBase64 Specifies the Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH.
         * 
         * @return builder
         * 
         */
        public Builder sshKnownHostsBase64(String sshKnownHostsBase64) {
            return sshKnownHostsBase64(Output.of(sshKnownHostsBase64));
        }

        /**
         * @param sshPrivateKeyBase64 Specifies the Base64-encoded SSH private key in PEM format.
         * 
         * @return builder
         * 
         */
        public Builder sshPrivateKeyBase64(@Nullable Output sshPrivateKeyBase64) {
            $.sshPrivateKeyBase64 = sshPrivateKeyBase64;
            return this;
        }

        /**
         * @param sshPrivateKeyBase64 Specifies the Base64-encoded SSH private key in PEM format.
         * 
         * @return builder
         * 
         */
        public Builder sshPrivateKeyBase64(String sshPrivateKeyBase64) {
            return sshPrivateKeyBase64(Output.of(sshPrivateKeyBase64));
        }

        /**
         * @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 url Specifies the URL to sync for the flux configuration git repository. It must start with `http://`, `https://`, `git{@literal @}` or `ssh://`.
         * 
         * @return builder
         * 
         */
        public Builder url(Output url) {
            $.url = url;
            return this;
        }

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

        public FluxConfigurationGitRepositoryArgs build() {
            if ($.referenceType == null) {
                throw new MissingRequiredPropertyException("FluxConfigurationGitRepositoryArgs", "referenceType");
            }
            if ($.referenceValue == null) {
                throw new MissingRequiredPropertyException("FluxConfigurationGitRepositoryArgs", "referenceValue");
            }
            if ($.url == null) {
                throw new MissingRequiredPropertyException("FluxConfigurationGitRepositoryArgs", "url");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy