SecretBackendArgs

data class SecretBackendArgs(val allowedManagedKeys: Output<List<String>>? = null, val allowedResponseHeaders: Output<List<String>>? = null, val auditNonHmacRequestKeys: Output<List<String>>? = null, val auditNonHmacResponseKeys: Output<List<String>>? = null, val binddn: Output<String>? = null, val bindpass: Output<String>? = null, val certificate: Output<String>? = null, val clientTlsCert: Output<String>? = null, val clientTlsKey: Output<String>? = null, val connectionTimeout: Output<Int>? = null, val defaultLeaseTtlSeconds: Output<Int>? = null, val delegatedAuthAccessors: Output<List<String>>? = null, val description: Output<String>? = null, val disableAutomatedRotation: Output<Boolean>? = null, val disableRemount: Output<Boolean>? = null, val externalEntropyAccess: Output<Boolean>? = null, val identityTokenKey: Output<String>? = null, val insecureTls: Output<Boolean>? = null, val listingVisibility: Output<String>? = null, val local: Output<Boolean>? = null, val maxLeaseTtlSeconds: Output<Int>? = null, val namespace: Output<String>? = null, val options: Output<Map<String, String>>? = null, val passthroughRequestHeaders: Output<List<String>>? = null, val passwordPolicy: Output<String>? = null, val path: Output<String>? = null, val pluginVersion: Output<String>? = null, val requestTimeout: Output<Int>? = null, val rotationPeriod: Output<Int>? = null, val rotationSchedule: Output<String>? = null, val rotationWindow: Output<Int>? = null, val schema: Output<String>? = null, val sealWrap: Output<Boolean>? = null, val skipStaticRoleImportRotation: Output<Boolean>? = null, val starttls: Output<Boolean>? = null, val upndomain: Output<String>? = null, val url: Output<String>? = null, val userattr: Output<String>? = null, val userdn: Output<String>? = null) : ConvertibleToJava<SecretBackendArgs>

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as vault from "@pulumi/vault";
const config = new vault.ldap.SecretBackend("config", {
path: "my-custom-ldap",
binddn: "CN=Administrator,CN=Users,DC=corp,DC=example,DC=net",
bindpass: "SuperSecretPassw0rd",
url: "ldaps://localhost",
insecureTls: true,
userdn: "CN=Users,DC=corp,DC=example,DC=net",
rotationSchedule: "0 * * * SAT",
rotationWindow: 3600,
});
import pulumi
import pulumi_vault as vault
config = vault.ldap.SecretBackend("config",
path="my-custom-ldap",
binddn="CN=Administrator,CN=Users,DC=corp,DC=example,DC=net",
bindpass="SuperSecretPassw0rd",
url="ldaps://localhost",
insecure_tls=True,
userdn="CN=Users,DC=corp,DC=example,DC=net",
rotation_schedule="0 * * * SAT",
rotation_window=3600)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Vault = Pulumi.Vault;
return await Deployment.RunAsync(() =>
{
var config = new Vault.Ldap.SecretBackend("config", new()
{
Path = "my-custom-ldap",
Binddn = "CN=Administrator,CN=Users,DC=corp,DC=example,DC=net",
Bindpass = "SuperSecretPassw0rd",
Url = "ldaps://localhost",
InsecureTls = true,
Userdn = "CN=Users,DC=corp,DC=example,DC=net",
RotationSchedule = "0 * * * SAT",
RotationWindow = 3600,
});
});
package main
import (
"github.com/pulumi/pulumi-vault/sdk/v6/go/vault/ldap"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := ldap.NewSecretBackend(ctx, "config", &ldap.SecretBackendArgs{
Path: pulumi.String("my-custom-ldap"),
Binddn: pulumi.String("CN=Administrator,CN=Users,DC=corp,DC=example,DC=net"),
Bindpass: pulumi.String("SuperSecretPassw0rd"),
Url: pulumi.String("ldaps://localhost"),
InsecureTls: pulumi.Bool(true),
Userdn: pulumi.String("CN=Users,DC=corp,DC=example,DC=net"),
RotationSchedule: pulumi.String("0 * * * SAT"),
RotationWindow: pulumi.Int(3600),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vault.ldap.SecretBackend;
import com.pulumi.vault.ldap.SecretBackendArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var config = new SecretBackend("config", SecretBackendArgs.builder()
.path("my-custom-ldap")
.binddn("CN=Administrator,CN=Users,DC=corp,DC=example,DC=net")
.bindpass("SuperSecretPassw0rd")
.url("ldaps://localhost")
.insecureTls("true")
.userdn("CN=Users,DC=corp,DC=example,DC=net")
.rotationSchedule("0 * * * SAT")
.rotationWindow(3600)
.build());
}
}
resources:
config:
type: vault:ldap:SecretBackend
properties:
path: my-custom-ldap
binddn: CN=Administrator,CN=Users,DC=corp,DC=example,DC=net
bindpass: SuperSecretPassw0rd
url: ldaps://localhost
insecureTls: 'true'
userdn: CN=Users,DC=corp,DC=example,DC=net
rotationSchedule: 0 * * * SAT
rotationWindow: 3600

Import

LDAP secret backend can be imported using the ${mount}/config, e.g.

$ pulumi import vault:ldap/secretBackend:SecretBackend config ldap/config

Constructors

Link copied to clipboard
constructor(allowedManagedKeys: Output<List<String>>? = null, allowedResponseHeaders: Output<List<String>>? = null, auditNonHmacRequestKeys: Output<List<String>>? = null, auditNonHmacResponseKeys: Output<List<String>>? = null, binddn: Output<String>? = null, bindpass: Output<String>? = null, certificate: Output<String>? = null, clientTlsCert: Output<String>? = null, clientTlsKey: Output<String>? = null, connectionTimeout: Output<Int>? = null, defaultLeaseTtlSeconds: Output<Int>? = null, delegatedAuthAccessors: Output<List<String>>? = null, description: Output<String>? = null, disableAutomatedRotation: Output<Boolean>? = null, disableRemount: Output<Boolean>? = null, externalEntropyAccess: Output<Boolean>? = null, identityTokenKey: Output<String>? = null, insecureTls: Output<Boolean>? = null, listingVisibility: Output<String>? = null, local: Output<Boolean>? = null, maxLeaseTtlSeconds: Output<Int>? = null, namespace: Output<String>? = null, options: Output<Map<String, String>>? = null, passthroughRequestHeaders: Output<List<String>>? = null, passwordPolicy: Output<String>? = null, path: Output<String>? = null, pluginVersion: Output<String>? = null, requestTimeout: Output<Int>? = null, rotationPeriod: Output<Int>? = null, rotationSchedule: Output<String>? = null, rotationWindow: Output<Int>? = null, schema: Output<String>? = null, sealWrap: Output<Boolean>? = null, skipStaticRoleImportRotation: Output<Boolean>? = null, starttls: Output<Boolean>? = null, upndomain: Output<String>? = null, url: Output<String>? = null, userattr: Output<String>? = null, userdn: Output<String>? = null)

Properties

Link copied to clipboard
val allowedManagedKeys: Output<List<String>>? = null

List of managed key registry entry names that the mount in question is allowed to access

Link copied to clipboard
val allowedResponseHeaders: Output<List<String>>? = null

List of headers to allow and pass from the request to the plugin

Link copied to clipboard
val auditNonHmacRequestKeys: Output<List<String>>? = null

Specifies the list of keys that will not be HMAC'd by audit devices in the request data object.

Link copied to clipboard
val auditNonHmacResponseKeys: Output<List<String>>? = null

Specifies the list of keys that will not be HMAC'd by audit devices in the response data object.

Link copied to clipboard
val binddn: Output<String>? = null

Distinguished name of object to bind when performing user and group search.

Link copied to clipboard
val bindpass: Output<String>? = null

Password to use along with binddn when performing user search.

Link copied to clipboard
val certificate: Output<String>? = null

CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded.

Link copied to clipboard
val clientTlsCert: Output<String>? = null

Client certificate to provide to the LDAP server, must be x509 PEM encoded.

Link copied to clipboard
val clientTlsKey: Output<String>? = null

Client certificate key to provide to the LDAP server, must be x509 PEM encoded.

Link copied to clipboard
val connectionTimeout: Output<Int>? = null

Timeout, in seconds, when attempting to connect to the LDAP server before trying the next URL in the configuration.

Link copied to clipboard
val defaultLeaseTtlSeconds: Output<Int>? = null

Default lease duration for secrets in seconds.

Link copied to clipboard
val delegatedAuthAccessors: Output<List<String>>? = null

List of headers to allow and pass from the request to the plugin

Link copied to clipboard
val description: Output<String>? = null

Human-friendly description of the mount for the Active Directory backend.

Link copied to clipboard
val disableAutomatedRotation: Output<Boolean>? = null

Cancels all upcoming rotations of the root credential until unset. Requires Vault Enterprise 1.19+.

Link copied to clipboard
val disableRemount: Output<Boolean>? = null

If set, opts out of mount migration on path updates.

Link copied to clipboard
val externalEntropyAccess: Output<Boolean>? = null

Enable the secrets engine to access Vault's external entropy source

Link copied to clipboard
val identityTokenKey: Output<String>? = null

The key to use for signing plugin workload identity tokens

Link copied to clipboard
val insecureTls: Output<Boolean>? = null

Skip LDAP server SSL Certificate verification. This is not recommended for production. Defaults to false.

Link copied to clipboard
val listingVisibility: Output<String>? = null

Specifies whether to show this mount in the UI-specific listing endpoint

Link copied to clipboard
val local: Output<Boolean>? = null

Mark the secrets engine as local-only. Local engines are not replicated or removed by replication.Tolerance duration to use when checking the last rotation time.

Link copied to clipboard
val maxLeaseTtlSeconds: Output<Int>? = null

Maximum possible lease duration for secrets in seconds.

Link copied to clipboard
val namespace: Output<String>? = null

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. Available only for Vault Enterprise.

Link copied to clipboard
val options: Output<Map<String, String>>? = null

Specifies mount type specific options that are passed to the backend

Link copied to clipboard
val passthroughRequestHeaders: Output<List<String>>? = null

List of headers to allow and pass from the request to the plugin

Link copied to clipboard
val passwordPolicy: Output<String>? = null

Name of the password policy to use to generate passwords.

Link copied to clipboard
val path: Output<String>? = null

The unique path this backend should be mounted at. Must not begin or end with a /. Defaults to ldap.

Link copied to clipboard
val pluginVersion: Output<String>? = null

Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'

Link copied to clipboard
val requestTimeout: Output<Int>? = null

Timeout, in seconds, for the connection when making requests against the server before returning back an error.

Link copied to clipboard
val rotationPeriod: Output<Int>? = null

The amount of time in seconds Vault should wait before rotating the root credential. A zero value tells Vault not to rotate the root credential. The minimum rotation period is 10 seconds. Requires Vault Enterprise 1.19+.

Link copied to clipboard
val rotationSchedule: Output<String>? = null

The schedule, in cron-style time format, defining the schedule on which Vault should rotate the root token. Requires Vault Enterprise 1.19+.

Link copied to clipboard
val rotationWindow: Output<Int>? = null

The maximum amount of time in seconds allowed to complete a rotation when a scheduled token rotation occurs. The default rotation window is unbound and the minimum allowable window is 3600. Requires Vault Enterprise 1.19+.

Link copied to clipboard
val schema: Output<String>? = null

The LDAP schema to use when storing entry passwords. Valid schemas include openldap, ad, and racf. Default is openldap.

Link copied to clipboard
val sealWrap: Output<Boolean>? = null

Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability

Link copied to clipboard

If set to true, static roles will not be rotated during import. Defaults to false. Requires Vault 1.16 or above.

Link copied to clipboard
val starttls: Output<Boolean>? = null

Issue a StartTLS command after establishing unencrypted connection.

Link copied to clipboard
val upndomain: Output<String>? = null

Enables userPrincipalDomain login with username@UPNDomain.

Link copied to clipboard
val url: Output<String>? = null

LDAP URL to connect to. Multiple URLs can be specified by concatenating them with commas; they will be tried in-order. Defaults to ldap://127.0.0.1.

Link copied to clipboard
val userattr: Output<String>? = null

Attribute used when searching users. Defaults to cn.

Link copied to clipboard
val userdn: Output<String>? = null

LDAP domain to use for users (eg: ou=People,dc=example,dc=org)`.

Functions

Link copied to clipboard
open override fun toJava(): SecretBackendArgs