import * as pulumi from "@pulumi/pulumi"; /** * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vault from "@pulumi/vault"; * * const config = new vault.NomadSecretBackend("config", { * backend: "nomad", * description: "test description", * defaultLeaseTtlSeconds: 3600, * maxLeaseTtlSeconds: 7200, * maxTtl: 240, * address: "https://127.0.0.1:4646", * token: "ae20ceaa-...", * ttl: 120, * }); * ``` * * ## Import * * Nomad secret backend can be imported using the `backend`, e.g. * * ```sh * $ pulumi import vault:index/nomadSecretBackend:NomadSecretBackend nomad nomad * ``` */ export declare class NomadSecretBackend extends pulumi.CustomResource { /** * Get an existing NomadSecretBackend resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: NomadSecretBackendState, opts?: pulumi.CustomResourceOptions): NomadSecretBackend; /** * Returns true if the given object is an instance of NomadSecretBackend. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is NomadSecretBackend; /** * Specifies the address of the Nomad instance, provided * as "protocol://host:port" like "http://127.0.0.1:4646". */ readonly address: pulumi.Output; /** * The unique path this backend should be mounted at. Must * not begin or end with a `/`. Defaults to `nomad`. */ readonly backend: pulumi.Output; /** * CA certificate to use when verifying the Nomad server certificate, must be * x509 PEM encoded. */ readonly caCert: pulumi.Output; /** * Client certificate to provide to the Nomad server, must be x509 PEM encoded. */ readonly clientCert: pulumi.Output; /** * Client certificate key to provide to the Nomad server, must be x509 PEM encoded. */ readonly clientKey: pulumi.Output; /** * Default lease duration for secrets in seconds. */ readonly defaultLeaseTtlSeconds: pulumi.Output; /** * Human-friendly description of the mount for the Active Directory backend. */ readonly description: pulumi.Output; /** * 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) */ readonly disableRemount: pulumi.Output; /** * 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. */ readonly local: pulumi.Output; /** * Maximum possible lease duration for secrets in seconds. */ readonly maxLeaseTtlSeconds: pulumi.Output; /** * Specifies the maximum length to use for the name of the Nomad token * generated with Generate Credential. If omitted, 0 is used and ignored, defaulting to the max value allowed * by the Nomad version. */ readonly maxTokenNameLength: pulumi.Output; /** * Maximum possible lease duration for secrets in seconds. */ readonly maxTtl: pulumi.Output; /** * 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*. */ readonly namespace: pulumi.Output; /** * Specifies the Nomad Management token to use. */ readonly token: pulumi.Output; /** * Specifies the ttl of the lease for the generated token. */ readonly ttl: pulumi.Output; /** * Create a NomadSecretBackend resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args?: NomadSecretBackendArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering NomadSecretBackend resources. */ export interface NomadSecretBackendState { /** * Specifies the address of the Nomad instance, provided * as "protocol://host:port" like "http://127.0.0.1:4646". */ address?: pulumi.Input; /** * The unique path this backend should be mounted at. Must * not begin or end with a `/`. Defaults to `nomad`. */ backend?: pulumi.Input; /** * CA certificate to use when verifying the Nomad server certificate, must be * x509 PEM encoded. */ caCert?: pulumi.Input; /** * Client certificate to provide to the Nomad server, must be x509 PEM encoded. */ clientCert?: pulumi.Input; /** * Client certificate key to provide to the Nomad server, must be x509 PEM encoded. */ clientKey?: pulumi.Input; /** * Default lease duration for secrets in seconds. */ defaultLeaseTtlSeconds?: pulumi.Input; /** * Human-friendly description of the mount for the Active Directory backend. */ description?: pulumi.Input; /** * 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) */ disableRemount?: pulumi.Input; /** * 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. */ local?: pulumi.Input; /** * Maximum possible lease duration for secrets in seconds. */ maxLeaseTtlSeconds?: pulumi.Input; /** * Specifies the maximum length to use for the name of the Nomad token * generated with Generate Credential. If omitted, 0 is used and ignored, defaulting to the max value allowed * by the Nomad version. */ maxTokenNameLength?: pulumi.Input; /** * Maximum possible lease duration for secrets in seconds. */ maxTtl?: pulumi.Input; /** * 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*. */ namespace?: pulumi.Input; /** * Specifies the Nomad Management token to use. */ token?: pulumi.Input; /** * Specifies the ttl of the lease for the generated token. */ ttl?: pulumi.Input; } /** * The set of arguments for constructing a NomadSecretBackend resource. */ export interface NomadSecretBackendArgs { /** * Specifies the address of the Nomad instance, provided * as "protocol://host:port" like "http://127.0.0.1:4646". */ address?: pulumi.Input; /** * The unique path this backend should be mounted at. Must * not begin or end with a `/`. Defaults to `nomad`. */ backend?: pulumi.Input; /** * CA certificate to use when verifying the Nomad server certificate, must be * x509 PEM encoded. */ caCert?: pulumi.Input; /** * Client certificate to provide to the Nomad server, must be x509 PEM encoded. */ clientCert?: pulumi.Input; /** * Client certificate key to provide to the Nomad server, must be x509 PEM encoded. */ clientKey?: pulumi.Input; /** * Default lease duration for secrets in seconds. */ defaultLeaseTtlSeconds?: pulumi.Input; /** * Human-friendly description of the mount for the Active Directory backend. */ description?: pulumi.Input; /** * 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) */ disableRemount?: pulumi.Input; /** * 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. */ local?: pulumi.Input; /** * Maximum possible lease duration for secrets in seconds. */ maxLeaseTtlSeconds?: pulumi.Input; /** * Specifies the maximum length to use for the name of the Nomad token * generated with Generate Credential. If omitted, 0 is used and ignored, defaulting to the max value allowed * by the Nomad version. */ maxTokenNameLength?: pulumi.Input; /** * Maximum possible lease duration for secrets in seconds. */ maxTtl?: pulumi.Input; /** * 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*. */ namespace?: pulumi.Input; /** * Specifies the Nomad Management token to use. */ token?: pulumi.Input; /** * Specifies the ttl of the lease for the generated token. */ ttl?: pulumi.Input; }