Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.vault.kotlin
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.vault.MountArgs.builder
import kotlin.Any
import kotlin.Boolean
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* This resource enables a new secrets engine at the given path.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as vault from "@pulumi/vault";
* const example = new vault.Mount("example", {
* path: "dummy",
* type: "generic",
* description: "This is an example mount",
* });
* ```
* ```python
* import pulumi
* import pulumi_vault as vault
* example = vault.Mount("example",
* path="dummy",
* type="generic",
* description="This is an example mount")
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Vault = Pulumi.Vault;
* return await Deployment.RunAsync(() =>
* {
* var example = new Vault.Mount("example", new()
* {
* Path = "dummy",
* Type = "generic",
* Description = "This is an example mount",
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-vault/sdk/v6/go/vault"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := vault.NewMount(ctx, "example", &vault.MountArgs{
* Path: pulumi.String("dummy"),
* Type: pulumi.String("generic"),
* Description: pulumi.String("This is an example mount"),
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.vault.Mount;
* import com.pulumi.vault.MountArgs;
* 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 example = new Mount("example", MountArgs.builder()
* .path("dummy")
* .type("generic")
* .description("This is an example mount")
* .build());
* }
* }
* ```
* ```yaml
* resources:
* example:
* type: vault:Mount
* properties:
* path: dummy
* type: generic
* description: This is an example mount
* ```
*
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as vault from "@pulumi/vault";
* const kvv2_example = new vault.Mount("kvv2-example", {
* path: "version2-example",
* type: "kv-v2",
* options: {
* version: "2",
* type: "kv-v2",
* },
* description: "This is an example KV Version 2 secret engine mount",
* });
* ```
* ```python
* import pulumi
* import pulumi_vault as vault
* kvv2_example = vault.Mount("kvv2-example",
* path="version2-example",
* type="kv-v2",
* options={
* "version": "2",
* "type": "kv-v2",
* },
* description="This is an example KV Version 2 secret engine mount")
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Vault = Pulumi.Vault;
* return await Deployment.RunAsync(() =>
* {
* var kvv2_example = new Vault.Mount("kvv2-example", new()
* {
* Path = "version2-example",
* Type = "kv-v2",
* Options =
* {
* { "version", "2" },
* { "type", "kv-v2" },
* },
* Description = "This is an example KV Version 2 secret engine mount",
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-vault/sdk/v6/go/vault"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := vault.NewMount(ctx, "kvv2-example", &vault.MountArgs{
* Path: pulumi.String("version2-example"),
* Type: pulumi.String("kv-v2"),
* Options: pulumi.Map{
* "version": pulumi.Any("2"),
* "type": pulumi.Any("kv-v2"),
* },
* Description: pulumi.String("This is an example KV Version 2 secret engine mount"),
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.vault.Mount;
* import com.pulumi.vault.MountArgs;
* 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 kvv2_example = new Mount("kvv2-example", MountArgs.builder()
* .path("version2-example")
* .type("kv-v2")
* .options(Map.ofEntries(
* Map.entry("version", "2"),
* Map.entry("type", "kv-v2")
* ))
* .description("This is an example KV Version 2 secret engine mount")
* .build());
* }
* }
* ```
* ```yaml
* resources:
* kvv2-example:
* type: vault:Mount
* properties:
* path: version2-example
* type: kv-v2
* options:
* version: '2'
* type: kv-v2
* description: This is an example KV Version 2 secret engine mount
* ```
*
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as vault from "@pulumi/vault";
* const transit_example = new vault.Mount("transit-example", {
* path: "transit-example",
* type: "transit",
* description: "This is an example transit secret engine mount",
* options: {
* convergent_encryption: false,
* },
* });
* ```
* ```python
* import pulumi
* import pulumi_vault as vault
* transit_example = vault.Mount("transit-example",
* path="transit-example",
* type="transit",
* description="This is an example transit secret engine mount",
* options={
* "convergent_encryption": False,
* })
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Vault = Pulumi.Vault;
* return await Deployment.RunAsync(() =>
* {
* var transit_example = new Vault.Mount("transit-example", new()
* {
* Path = "transit-example",
* Type = "transit",
* Description = "This is an example transit secret engine mount",
* Options =
* {
* { "convergent_encryption", false },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-vault/sdk/v6/go/vault"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := vault.NewMount(ctx, "transit-example", &vault.MountArgs{
* Path: pulumi.String("transit-example"),
* Type: pulumi.String("transit"),
* Description: pulumi.String("This is an example transit secret engine mount"),
* Options: pulumi.Map{
* "convergent_encryption": pulumi.Any(false),
* },
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.vault.Mount;
* import com.pulumi.vault.MountArgs;
* 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 transit_example = new Mount("transit-example", MountArgs.builder()
* .path("transit-example")
* .type("transit")
* .description("This is an example transit secret engine mount")
* .options(Map.of("convergent_encryption", false))
* .build());
* }
* }
* ```
* ```yaml
* resources:
* transit-example:
* type: vault:Mount
* properties:
* path: transit-example
* type: transit
* description: This is an example transit secret engine mount
* options:
* convergent_encryption: false
* ```
*
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as vault from "@pulumi/vault";
* const pki_example = new vault.Mount("pki-example", {
* path: "pki-example",
* type: "pki",
* description: "This is an example PKI mount",
* defaultLeaseTtlSeconds: 3600,
* maxLeaseTtlSeconds: 86400,
* });
* ```
* ```python
* import pulumi
* import pulumi_vault as vault
* pki_example = vault.Mount("pki-example",
* path="pki-example",
* type="pki",
* description="This is an example PKI mount",
* default_lease_ttl_seconds=3600,
* max_lease_ttl_seconds=86400)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Vault = Pulumi.Vault;
* return await Deployment.RunAsync(() =>
* {
* var pki_example = new Vault.Mount("pki-example", new()
* {
* Path = "pki-example",
* Type = "pki",
* Description = "This is an example PKI mount",
* DefaultLeaseTtlSeconds = 3600,
* MaxLeaseTtlSeconds = 86400,
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-vault/sdk/v6/go/vault"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := vault.NewMount(ctx, "pki-example", &vault.MountArgs{
* Path: pulumi.String("pki-example"),
* Type: pulumi.String("pki"),
* Description: pulumi.String("This is an example PKI mount"),
* DefaultLeaseTtlSeconds: pulumi.Int(3600),
* MaxLeaseTtlSeconds: pulumi.Int(86400),
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.vault.Mount;
* import com.pulumi.vault.MountArgs;
* 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 pki_example = new Mount("pki-example", MountArgs.builder()
* .path("pki-example")
* .type("pki")
* .description("This is an example PKI mount")
* .defaultLeaseTtlSeconds(3600)
* .maxLeaseTtlSeconds(86400)
* .build());
* }
* }
* ```
* ```yaml
* resources:
* pki-example:
* type: vault:Mount
* properties:
* path: pki-example
* type: pki
* description: This is an example PKI mount
* defaultLeaseTtlSeconds: 3600
* maxLeaseTtlSeconds: 86400
* ```
*
* ## Import
* Mounts can be imported using the `path`, e.g.
* ```sh
* $ pulumi import vault:index/mount:Mount example dummy
* ```
* @property allowedManagedKeys Set of managed key registry entry names that the mount in question is allowed to access
* @property allowedResponseHeaders List of headers to allow, allowing a plugin to include
* them in the response.
* @property auditNonHmacRequestKeys Specifies the list of keys that will not be HMAC'd by audit devices in the request data object.
* @property auditNonHmacResponseKeys Specifies the list of keys that will not be HMAC'd by audit devices in the response data object.
* @property defaultLeaseTtlSeconds Default lease duration for tokens and secrets in seconds
* @property delegatedAuthAccessors List of allowed authentication mount accessors the
* backend can request delegated authentication for.
* @property description Human-friendly description of the mount
* @property externalEntropyAccess Boolean flag that can be explicitly set to true to enable the secrets engine to access Vault's external entropy source
* @property identityTokenKey The key to use for signing plugin workload identity tokens. If
* not provided, this will default to Vault's OIDC default key.
* @property listingVisibility Specifies whether to show this mount in the UI-specific
* listing endpoint. Valid values are `unauth` or `hidden`. If not set, behaves like `hidden`.
* @property local Boolean flag that can be explicitly set to true to enforce local mount in HA environment
* @property maxLeaseTtlSeconds Maximum possible lease duration for tokens and secrets in seconds
* @property 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*.
* @property options Specifies mount type specific options that are passed to the backend
* @property passthroughRequestHeaders List of headers to allow and pass from the request to
* the plugin.
* @property path Where the secret backend will be mounted
* @property pluginVersion Specifies the semantic version of the plugin to use, e.g. "v1.0.0".
* If unspecified, the server will select any matching unversioned plugin that may have been
* registered, the latest versioned plugin registered, or a built-in plugin in that order of precedence.
* @property sealWrap Boolean flag that can be explicitly set to true to enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
* @property type Type of the backend, such as "aws"
*/
public data class MountArgs(
public val allowedManagedKeys: Output>? = null,
public val allowedResponseHeaders: Output>? = null,
public val auditNonHmacRequestKeys: Output>? = null,
public val auditNonHmacResponseKeys: Output>? = null,
public val defaultLeaseTtlSeconds: Output? = null,
public val delegatedAuthAccessors: Output>? = null,
public val description: Output? = null,
public val externalEntropyAccess: Output? = null,
public val identityTokenKey: Output? = null,
public val listingVisibility: Output? = null,
public val local: Output? = null,
public val maxLeaseTtlSeconds: Output? = null,
public val namespace: Output? = null,
public val options: Output