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

com.pulumi.vault.jwt.inputs.AuthBackendState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing HashiCorp Vault cloud resources.

There is a newer version: 6.5.0-alpha.1732775348
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.vault.jwt.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.vault.jwt.inputs.AuthBackendTuneArgs;
import java.lang.Boolean;
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 AuthBackendState extends com.pulumi.resources.ResourceArgs {

    public static final AuthBackendState Empty = new AuthBackendState();

    /**
     * The accessor for this auth method
     * 
     */
    @Import(name="accessor")
    private @Nullable Output accessor;

    /**
     * @return The accessor for this auth method
     * 
     */
    public Optional> accessor() {
        return Optional.ofNullable(this.accessor);
    }

    /**
     * The value against which to match the iss claim in a JWT
     * 
     */
    @Import(name="boundIssuer")
    private @Nullable Output boundIssuer;

    /**
     * @return The value against which to match the iss claim in a JWT
     * 
     */
    public Optional> boundIssuer() {
        return Optional.ofNullable(this.boundIssuer);
    }

    /**
     * The default role to use if none is provided during login
     * 
     */
    @Import(name="defaultRole")
    private @Nullable Output defaultRole;

    /**
     * @return The default role to use if none is provided during login
     * 
     */
    public Optional> defaultRole() {
        return Optional.ofNullable(this.defaultRole);
    }

    /**
     * The description of the auth backend
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return The description of the auth backend
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * If set, opts out of mount migration on path updates.
     * See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
     * 
     */
    @Import(name="disableRemount")
    private @Nullable Output disableRemount;

    /**
     * @return If set, opts out of mount migration on path updates.
     * See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
     * 
     */
    public Optional> disableRemount() {
        return Optional.ofNullable(this.disableRemount);
    }

    /**
     * The CA certificate or chain of certificates, in PEM format, to use to validate connections to the JWKS URL. If not set, system certificates are used.
     * 
     */
    @Import(name="jwksCaPem")
    private @Nullable Output jwksCaPem;

    /**
     * @return The CA certificate or chain of certificates, in PEM format, to use to validate connections to the JWKS URL. If not set, system certificates are used.
     * 
     */
    public Optional> jwksCaPem() {
        return Optional.ofNullable(this.jwksCaPem);
    }

    /**
     * JWKS URL to use to authenticate signatures. Cannot be used with "oidc_discovery_url" or "jwt_validation_pubkeys".
     * 
     */
    @Import(name="jwksUrl")
    private @Nullable Output jwksUrl;

    /**
     * @return JWKS URL to use to authenticate signatures. Cannot be used with "oidc_discovery_url" or "jwt_validation_pubkeys".
     * 
     */
    public Optional> jwksUrl() {
        return Optional.ofNullable(this.jwksUrl);
    }

    /**
     * A list of supported signing algorithms. Vault 1.1.0 defaults to [RS256] but future or past versions of Vault may differ
     * 
     */
    @Import(name="jwtSupportedAlgs")
    private @Nullable Output> jwtSupportedAlgs;

    /**
     * @return A list of supported signing algorithms. Vault 1.1.0 defaults to [RS256] but future or past versions of Vault may differ
     * 
     */
    public Optional>> jwtSupportedAlgs() {
        return Optional.ofNullable(this.jwtSupportedAlgs);
    }

    /**
     * A list of PEM-encoded public keys to use to authenticate signatures locally. Cannot be used in combination with `oidc_discovery_url`
     * 
     */
    @Import(name="jwtValidationPubkeys")
    private @Nullable Output> jwtValidationPubkeys;

    /**
     * @return A list of PEM-encoded public keys to use to authenticate signatures locally. Cannot be used in combination with `oidc_discovery_url`
     * 
     */
    public Optional>> jwtValidationPubkeys() {
        return Optional.ofNullable(this.jwtValidationPubkeys);
    }

    /**
     * Specifies if the auth method is local only.
     * 
     */
    @Import(name="local")
    private @Nullable Output local;

    /**
     * @return Specifies if the auth method is local only.
     * 
     */
    public Optional> local() {
        return Optional.ofNullable(this.local);
    }

    /**
     * The namespace to provision the resource in.
     * The value should not contain leading or trailing forward slashes.
     * The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
     * *Available only for Vault Enterprise*.
     * 
     */
    @Import(name="namespace")
    private @Nullable Output namespace;

    /**
     * @return The namespace to provision the resource in.
     * The value should not contain leading or trailing forward slashes.
     * The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
     * *Available only for Vault Enterprise*.
     * 
     */
    public Optional> namespace() {
        return Optional.ofNullable(this.namespace);
    }

    /**
     * Pass namespace in the OIDC state parameter instead of as a separate query parameter. With this setting, the allowed redirect URL(s) in Vault and on the provider side should not contain a namespace query parameter. This means only one redirect URL entry needs to be maintained on the OIDC provider side for all vault namespaces that will be authenticating against it. Defaults to true for new configs
     * 
     * * tune - (Optional) Extra configuration block. Structure is documented below.
     * 
     * The `tune` block is used to tune the auth backend:
     * 
     */
    @Import(name="namespaceInState")
    private @Nullable Output namespaceInState;

    /**
     * @return Pass namespace in the OIDC state parameter instead of as a separate query parameter. With this setting, the allowed redirect URL(s) in Vault and on the provider side should not contain a namespace query parameter. This means only one redirect URL entry needs to be maintained on the OIDC provider side for all vault namespaces that will be authenticating against it. Defaults to true for new configs
     * 
     * * tune - (Optional) Extra configuration block. Structure is documented below.
     * 
     * The `tune` block is used to tune the auth backend:
     * 
     */
    public Optional> namespaceInState() {
        return Optional.ofNullable(this.namespaceInState);
    }

    /**
     * Client ID used for OIDC backends
     * 
     */
    @Import(name="oidcClientId")
    private @Nullable Output oidcClientId;

    /**
     * @return Client ID used for OIDC backends
     * 
     */
    public Optional> oidcClientId() {
        return Optional.ofNullable(this.oidcClientId);
    }

    /**
     * Client Secret used for OIDC backends
     * 
     */
    @Import(name="oidcClientSecret")
    private @Nullable Output oidcClientSecret;

    /**
     * @return Client Secret used for OIDC backends
     * 
     */
    public Optional> oidcClientSecret() {
        return Optional.ofNullable(this.oidcClientSecret);
    }

    /**
     * The CA certificate or chain of certificates, in PEM format, to use to validate connections to the OIDC Discovery URL. If not set, system certificates are used
     * 
     */
    @Import(name="oidcDiscoveryCaPem")
    private @Nullable Output oidcDiscoveryCaPem;

    /**
     * @return The CA certificate or chain of certificates, in PEM format, to use to validate connections to the OIDC Discovery URL. If not set, system certificates are used
     * 
     */
    public Optional> oidcDiscoveryCaPem() {
        return Optional.ofNullable(this.oidcDiscoveryCaPem);
    }

    /**
     * The OIDC Discovery URL, without any .well-known component (base path). Cannot be used in combination with `jwt_validation_pubkeys`
     * 
     */
    @Import(name="oidcDiscoveryUrl")
    private @Nullable Output oidcDiscoveryUrl;

    /**
     * @return The OIDC Discovery URL, without any .well-known component (base path). Cannot be used in combination with `jwt_validation_pubkeys`
     * 
     */
    public Optional> oidcDiscoveryUrl() {
        return Optional.ofNullable(this.oidcDiscoveryUrl);
    }

    /**
     * The response mode to be used in the OAuth2 request. Allowed values are `query` and `form_post`. Defaults to `query`. If using Vault namespaces, and `oidc_response_mode` is `form_post`, then `namespace_in_state` should be set to `false`.
     * 
     */
    @Import(name="oidcResponseMode")
    private @Nullable Output oidcResponseMode;

    /**
     * @return The response mode to be used in the OAuth2 request. Allowed values are `query` and `form_post`. Defaults to `query`. If using Vault namespaces, and `oidc_response_mode` is `form_post`, then `namespace_in_state` should be set to `false`.
     * 
     */
    public Optional> oidcResponseMode() {
        return Optional.ofNullable(this.oidcResponseMode);
    }

    /**
     * List of response types to request. Allowed values are 'code' and 'id_token'. Defaults to `["code"]`. Note: `id_token` may only be used if `oidc_response_mode` is set to `form_post`.
     * 
     */
    @Import(name="oidcResponseTypes")
    private @Nullable Output> oidcResponseTypes;

    /**
     * @return List of response types to request. Allowed values are 'code' and 'id_token'. Defaults to `["code"]`. Note: `id_token` may only be used if `oidc_response_mode` is set to `form_post`.
     * 
     */
    public Optional>> oidcResponseTypes() {
        return Optional.ofNullable(this.oidcResponseTypes);
    }

    /**
     * Path to mount the JWT/OIDC auth backend
     * 
     */
    @Import(name="path")
    private @Nullable Output path;

    /**
     * @return Path to mount the JWT/OIDC auth backend
     * 
     */
    public Optional> path() {
        return Optional.ofNullable(this.path);
    }

    /**
     * Provider specific handling configuration. All values may be strings, and the provider will convert to the appropriate type when configuring Vault.
     * 
     */
    @Import(name="providerConfig")
    private @Nullable Output> providerConfig;

    /**
     * @return Provider specific handling configuration. All values may be strings, and the provider will convert to the appropriate type when configuring Vault.
     * 
     */
    public Optional>> providerConfig() {
        return Optional.ofNullable(this.providerConfig);
    }

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

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

    /**
     * Type of auth backend. Should be one of `jwt` or `oidc`. Default - `jwt`
     * 
     */
    @Import(name="type")
    private @Nullable Output type;

    /**
     * @return Type of auth backend. Should be one of `jwt` or `oidc`. Default - `jwt`
     * 
     */
    public Optional> type() {
        return Optional.ofNullable(this.type);
    }

    private AuthBackendState() {}

    private AuthBackendState(AuthBackendState $) {
        this.accessor = $.accessor;
        this.boundIssuer = $.boundIssuer;
        this.defaultRole = $.defaultRole;
        this.description = $.description;
        this.disableRemount = $.disableRemount;
        this.jwksCaPem = $.jwksCaPem;
        this.jwksUrl = $.jwksUrl;
        this.jwtSupportedAlgs = $.jwtSupportedAlgs;
        this.jwtValidationPubkeys = $.jwtValidationPubkeys;
        this.local = $.local;
        this.namespace = $.namespace;
        this.namespaceInState = $.namespaceInState;
        this.oidcClientId = $.oidcClientId;
        this.oidcClientSecret = $.oidcClientSecret;
        this.oidcDiscoveryCaPem = $.oidcDiscoveryCaPem;
        this.oidcDiscoveryUrl = $.oidcDiscoveryUrl;
        this.oidcResponseMode = $.oidcResponseMode;
        this.oidcResponseTypes = $.oidcResponseTypes;
        this.path = $.path;
        this.providerConfig = $.providerConfig;
        this.tune = $.tune;
        this.type = $.type;
    }

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

    public static final class Builder {
        private AuthBackendState $;

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

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

        /**
         * @param accessor The accessor for this auth method
         * 
         * @return builder
         * 
         */
        public Builder accessor(@Nullable Output accessor) {
            $.accessor = accessor;
            return this;
        }

        /**
         * @param accessor The accessor for this auth method
         * 
         * @return builder
         * 
         */
        public Builder accessor(String accessor) {
            return accessor(Output.of(accessor));
        }

        /**
         * @param boundIssuer The value against which to match the iss claim in a JWT
         * 
         * @return builder
         * 
         */
        public Builder boundIssuer(@Nullable Output boundIssuer) {
            $.boundIssuer = boundIssuer;
            return this;
        }

        /**
         * @param boundIssuer The value against which to match the iss claim in a JWT
         * 
         * @return builder
         * 
         */
        public Builder boundIssuer(String boundIssuer) {
            return boundIssuer(Output.of(boundIssuer));
        }

        /**
         * @param defaultRole The default role to use if none is provided during login
         * 
         * @return builder
         * 
         */
        public Builder defaultRole(@Nullable Output defaultRole) {
            $.defaultRole = defaultRole;
            return this;
        }

        /**
         * @param defaultRole The default role to use if none is provided during login
         * 
         * @return builder
         * 
         */
        public Builder defaultRole(String defaultRole) {
            return defaultRole(Output.of(defaultRole));
        }

        /**
         * @param description The description of the auth backend
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description The description of the auth backend
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param disableRemount If set, opts out of mount migration on path updates.
         * See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
         * 
         * @return builder
         * 
         */
        public Builder disableRemount(@Nullable Output disableRemount) {
            $.disableRemount = disableRemount;
            return this;
        }

        /**
         * @param disableRemount If set, opts out of mount migration on path updates.
         * See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
         * 
         * @return builder
         * 
         */
        public Builder disableRemount(Boolean disableRemount) {
            return disableRemount(Output.of(disableRemount));
        }

        /**
         * @param jwksCaPem The CA certificate or chain of certificates, in PEM format, to use to validate connections to the JWKS URL. If not set, system certificates are used.
         * 
         * @return builder
         * 
         */
        public Builder jwksCaPem(@Nullable Output jwksCaPem) {
            $.jwksCaPem = jwksCaPem;
            return this;
        }

        /**
         * @param jwksCaPem The CA certificate or chain of certificates, in PEM format, to use to validate connections to the JWKS URL. If not set, system certificates are used.
         * 
         * @return builder
         * 
         */
        public Builder jwksCaPem(String jwksCaPem) {
            return jwksCaPem(Output.of(jwksCaPem));
        }

        /**
         * @param jwksUrl JWKS URL to use to authenticate signatures. Cannot be used with "oidc_discovery_url" or "jwt_validation_pubkeys".
         * 
         * @return builder
         * 
         */
        public Builder jwksUrl(@Nullable Output jwksUrl) {
            $.jwksUrl = jwksUrl;
            return this;
        }

        /**
         * @param jwksUrl JWKS URL to use to authenticate signatures. Cannot be used with "oidc_discovery_url" or "jwt_validation_pubkeys".
         * 
         * @return builder
         * 
         */
        public Builder jwksUrl(String jwksUrl) {
            return jwksUrl(Output.of(jwksUrl));
        }

        /**
         * @param jwtSupportedAlgs A list of supported signing algorithms. Vault 1.1.0 defaults to [RS256] but future or past versions of Vault may differ
         * 
         * @return builder
         * 
         */
        public Builder jwtSupportedAlgs(@Nullable Output> jwtSupportedAlgs) {
            $.jwtSupportedAlgs = jwtSupportedAlgs;
            return this;
        }

        /**
         * @param jwtSupportedAlgs A list of supported signing algorithms. Vault 1.1.0 defaults to [RS256] but future or past versions of Vault may differ
         * 
         * @return builder
         * 
         */
        public Builder jwtSupportedAlgs(List jwtSupportedAlgs) {
            return jwtSupportedAlgs(Output.of(jwtSupportedAlgs));
        }

        /**
         * @param jwtSupportedAlgs A list of supported signing algorithms. Vault 1.1.0 defaults to [RS256] but future or past versions of Vault may differ
         * 
         * @return builder
         * 
         */
        public Builder jwtSupportedAlgs(String... jwtSupportedAlgs) {
            return jwtSupportedAlgs(List.of(jwtSupportedAlgs));
        }

        /**
         * @param jwtValidationPubkeys A list of PEM-encoded public keys to use to authenticate signatures locally. Cannot be used in combination with `oidc_discovery_url`
         * 
         * @return builder
         * 
         */
        public Builder jwtValidationPubkeys(@Nullable Output> jwtValidationPubkeys) {
            $.jwtValidationPubkeys = jwtValidationPubkeys;
            return this;
        }

        /**
         * @param jwtValidationPubkeys A list of PEM-encoded public keys to use to authenticate signatures locally. Cannot be used in combination with `oidc_discovery_url`
         * 
         * @return builder
         * 
         */
        public Builder jwtValidationPubkeys(List jwtValidationPubkeys) {
            return jwtValidationPubkeys(Output.of(jwtValidationPubkeys));
        }

        /**
         * @param jwtValidationPubkeys A list of PEM-encoded public keys to use to authenticate signatures locally. Cannot be used in combination with `oidc_discovery_url`
         * 
         * @return builder
         * 
         */
        public Builder jwtValidationPubkeys(String... jwtValidationPubkeys) {
            return jwtValidationPubkeys(List.of(jwtValidationPubkeys));
        }

        /**
         * @param local Specifies if the auth method is local only.
         * 
         * @return builder
         * 
         */
        public Builder local(@Nullable Output local) {
            $.local = local;
            return this;
        }

        /**
         * @param local Specifies if the auth method is local only.
         * 
         * @return builder
         * 
         */
        public Builder local(Boolean local) {
            return local(Output.of(local));
        }

        /**
         * @param namespace The namespace to provision the resource in.
         * The value should not contain leading or trailing forward slashes.
         * The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
         * *Available only for Vault Enterprise*.
         * 
         * @return builder
         * 
         */
        public Builder namespace(@Nullable Output namespace) {
            $.namespace = namespace;
            return this;
        }

        /**
         * @param namespace The namespace to provision the resource in.
         * The value should not contain leading or trailing forward slashes.
         * The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
         * *Available only for Vault Enterprise*.
         * 
         * @return builder
         * 
         */
        public Builder namespace(String namespace) {
            return namespace(Output.of(namespace));
        }

        /**
         * @param namespaceInState Pass namespace in the OIDC state parameter instead of as a separate query parameter. With this setting, the allowed redirect URL(s) in Vault and on the provider side should not contain a namespace query parameter. This means only one redirect URL entry needs to be maintained on the OIDC provider side for all vault namespaces that will be authenticating against it. Defaults to true for new configs
         * 
         * * tune - (Optional) Extra configuration block. Structure is documented below.
         * 
         * The `tune` block is used to tune the auth backend:
         * 
         * @return builder
         * 
         */
        public Builder namespaceInState(@Nullable Output namespaceInState) {
            $.namespaceInState = namespaceInState;
            return this;
        }

        /**
         * @param namespaceInState Pass namespace in the OIDC state parameter instead of as a separate query parameter. With this setting, the allowed redirect URL(s) in Vault and on the provider side should not contain a namespace query parameter. This means only one redirect URL entry needs to be maintained on the OIDC provider side for all vault namespaces that will be authenticating against it. Defaults to true for new configs
         * 
         * * tune - (Optional) Extra configuration block. Structure is documented below.
         * 
         * The `tune` block is used to tune the auth backend:
         * 
         * @return builder
         * 
         */
        public Builder namespaceInState(Boolean namespaceInState) {
            return namespaceInState(Output.of(namespaceInState));
        }

        /**
         * @param oidcClientId Client ID used for OIDC backends
         * 
         * @return builder
         * 
         */
        public Builder oidcClientId(@Nullable Output oidcClientId) {
            $.oidcClientId = oidcClientId;
            return this;
        }

        /**
         * @param oidcClientId Client ID used for OIDC backends
         * 
         * @return builder
         * 
         */
        public Builder oidcClientId(String oidcClientId) {
            return oidcClientId(Output.of(oidcClientId));
        }

        /**
         * @param oidcClientSecret Client Secret used for OIDC backends
         * 
         * @return builder
         * 
         */
        public Builder oidcClientSecret(@Nullable Output oidcClientSecret) {
            $.oidcClientSecret = oidcClientSecret;
            return this;
        }

        /**
         * @param oidcClientSecret Client Secret used for OIDC backends
         * 
         * @return builder
         * 
         */
        public Builder oidcClientSecret(String oidcClientSecret) {
            return oidcClientSecret(Output.of(oidcClientSecret));
        }

        /**
         * @param oidcDiscoveryCaPem The CA certificate or chain of certificates, in PEM format, to use to validate connections to the OIDC Discovery URL. If not set, system certificates are used
         * 
         * @return builder
         * 
         */
        public Builder oidcDiscoveryCaPem(@Nullable Output oidcDiscoveryCaPem) {
            $.oidcDiscoveryCaPem = oidcDiscoveryCaPem;
            return this;
        }

        /**
         * @param oidcDiscoveryCaPem The CA certificate or chain of certificates, in PEM format, to use to validate connections to the OIDC Discovery URL. If not set, system certificates are used
         * 
         * @return builder
         * 
         */
        public Builder oidcDiscoveryCaPem(String oidcDiscoveryCaPem) {
            return oidcDiscoveryCaPem(Output.of(oidcDiscoveryCaPem));
        }

        /**
         * @param oidcDiscoveryUrl The OIDC Discovery URL, without any .well-known component (base path). Cannot be used in combination with `jwt_validation_pubkeys`
         * 
         * @return builder
         * 
         */
        public Builder oidcDiscoveryUrl(@Nullable Output oidcDiscoveryUrl) {
            $.oidcDiscoveryUrl = oidcDiscoveryUrl;
            return this;
        }

        /**
         * @param oidcDiscoveryUrl The OIDC Discovery URL, without any .well-known component (base path). Cannot be used in combination with `jwt_validation_pubkeys`
         * 
         * @return builder
         * 
         */
        public Builder oidcDiscoveryUrl(String oidcDiscoveryUrl) {
            return oidcDiscoveryUrl(Output.of(oidcDiscoveryUrl));
        }

        /**
         * @param oidcResponseMode The response mode to be used in the OAuth2 request. Allowed values are `query` and `form_post`. Defaults to `query`. If using Vault namespaces, and `oidc_response_mode` is `form_post`, then `namespace_in_state` should be set to `false`.
         * 
         * @return builder
         * 
         */
        public Builder oidcResponseMode(@Nullable Output oidcResponseMode) {
            $.oidcResponseMode = oidcResponseMode;
            return this;
        }

        /**
         * @param oidcResponseMode The response mode to be used in the OAuth2 request. Allowed values are `query` and `form_post`. Defaults to `query`. If using Vault namespaces, and `oidc_response_mode` is `form_post`, then `namespace_in_state` should be set to `false`.
         * 
         * @return builder
         * 
         */
        public Builder oidcResponseMode(String oidcResponseMode) {
            return oidcResponseMode(Output.of(oidcResponseMode));
        }

        /**
         * @param oidcResponseTypes List of response types to request. Allowed values are 'code' and 'id_token'. Defaults to `["code"]`. Note: `id_token` may only be used if `oidc_response_mode` is set to `form_post`.
         * 
         * @return builder
         * 
         */
        public Builder oidcResponseTypes(@Nullable Output> oidcResponseTypes) {
            $.oidcResponseTypes = oidcResponseTypes;
            return this;
        }

        /**
         * @param oidcResponseTypes List of response types to request. Allowed values are 'code' and 'id_token'. Defaults to `["code"]`. Note: `id_token` may only be used if `oidc_response_mode` is set to `form_post`.
         * 
         * @return builder
         * 
         */
        public Builder oidcResponseTypes(List oidcResponseTypes) {
            return oidcResponseTypes(Output.of(oidcResponseTypes));
        }

        /**
         * @param oidcResponseTypes List of response types to request. Allowed values are 'code' and 'id_token'. Defaults to `["code"]`. Note: `id_token` may only be used if `oidc_response_mode` is set to `form_post`.
         * 
         * @return builder
         * 
         */
        public Builder oidcResponseTypes(String... oidcResponseTypes) {
            return oidcResponseTypes(List.of(oidcResponseTypes));
        }

        /**
         * @param path Path to mount the JWT/OIDC auth backend
         * 
         * @return builder
         * 
         */
        public Builder path(@Nullable Output path) {
            $.path = path;
            return this;
        }

        /**
         * @param path Path to mount the JWT/OIDC auth backend
         * 
         * @return builder
         * 
         */
        public Builder path(String path) {
            return path(Output.of(path));
        }

        /**
         * @param providerConfig Provider specific handling configuration. All values may be strings, and the provider will convert to the appropriate type when configuring Vault.
         * 
         * @return builder
         * 
         */
        public Builder providerConfig(@Nullable Output> providerConfig) {
            $.providerConfig = providerConfig;
            return this;
        }

        /**
         * @param providerConfig Provider specific handling configuration. All values may be strings, and the provider will convert to the appropriate type when configuring Vault.
         * 
         * @return builder
         * 
         */
        public Builder providerConfig(Map providerConfig) {
            return providerConfig(Output.of(providerConfig));
        }

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

        public Builder tune(AuthBackendTuneArgs tune) {
            return tune(Output.of(tune));
        }

        /**
         * @param type Type of auth backend. Should be one of `jwt` or `oidc`. Default - `jwt`
         * 
         * @return builder
         * 
         */
        public Builder type(@Nullable Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type Type of auth backend. Should be one of `jwt` or `oidc`. Default - `jwt`
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        public AuthBackendState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy