published on Saturday, Aug 15, 2026 by Pulumi
published on Saturday, Aug 15, 2026 by Pulumi
Creates and manages a GCP KMS secrets engine mount in Vault. This resource is self-managing —
it creates the mount point and configures the GCP KMS backend in a single resource. No separate
vault.Mount resource is required.
Important This resource requires Terraform 1.11+ for write-only attribute support. The
credentialsWofield is write-only and will never be stored in Terraform state. See the main provider documentation for more details.
Example Usage
Basic Configuration
import * as pulumi from "@pulumi/pulumi";
import * as std from "@pulumi/std";
import * as vault from "@pulumi/vault";
const gcpkms = new vault.gcp.KmsSecretBackend("gcpkms", {
path: "gcpkms",
credentialsWo: std.file({
input: "gcp-credentials.json",
}).then(invoke => invoke.result),
credentialsWoVersion: 1,
});
import pulumi
import pulumi_std as std
import pulumi_vault as vault
gcpkms = vault.gcp.KmsSecretBackend("gcpkms",
path="gcpkms",
credentials_wo=std.file(input="gcp-credentials.json").result,
credentials_wo_version=1)
package main
import (
"github.com/pulumi/pulumi-std/sdk/go/std"
"github.com/pulumi/pulumi-vault/sdk/v7/go/vault/gcp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
invokeFile, err := std.File(ctx, &std.FileArgs{
Input: "gcp-credentials.json",
}, nil)
if err != nil {
return err
}
_, err = gcp.NewKmsSecretBackend(ctx, "gcpkms", &gcp.KmsSecretBackendArgs{
Path: pulumi.String("gcpkms"),
CredentialsWo: pulumi.String(invokeFile.Result),
CredentialsWoVersion: pulumi.Int(1),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Std = Pulumi.Std;
using Vault = Pulumi.Vault;
return await Deployment.RunAsync(() =>
{
var gcpkms = new Vault.Gcp.KmsSecretBackend("gcpkms", new()
{
Path = "gcpkms",
CredentialsWo = Std.File.Invoke(new()
{
Input = "gcp-credentials.json",
}).Apply(invoke => invoke.Result),
CredentialsWoVersion = 1,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vault.gcp.KmsSecretBackend;
import com.pulumi.vault.gcp.KmsSecretBackendArgs;
import com.pulumi.std.StdFunctions;
import com.pulumi.std.inputs.FileArgs;
import java.util.ArrayList;
import java.util.Arrays;
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 gcpkms = new KmsSecretBackend("gcpkms", KmsSecretBackendArgs.builder()
.path("gcpkms")
.credentialsWo(StdFunctions.file(FileArgs.builder()
.input("gcp-credentials.json")
.build()).result())
.credentialsWoVersion(1)
.build());
}
}
resources:
gcpkms:
type: vault:gcp:KmsSecretBackend
properties:
path: gcpkms
credentialsWo:
fn::invoke:
function: std:file
arguments:
input: gcp-credentials.json
return: result
credentialsWoVersion: 1
pulumi {
required_providers {
std = {
source = "pulumi/std"
}
vault = {
source = "pulumi/vault"
}
}
}
resource "vault_gcp_kmssecretbackend" "gcpkms" {
path = "gcpkms"
credentials_wo = file("gcp-credentials.json")
credentials_wo_version = 1
}
With Custom Scopes
import * as pulumi from "@pulumi/pulumi";
import * as std from "@pulumi/std";
import * as vault from "@pulumi/vault";
const gcpkms = new vault.gcp.KmsSecretBackend("gcpkms", {
path: "gcpkms",
credentialsWo: std.file({
input: "gcp-credentials.json",
}).then(invoke => invoke.result),
credentialsWoVersion: 1,
scopes: [
"https://www.googleapis.com/auth/cloudkms",
"https://www.googleapis.com/auth/cloud-platform",
],
});
import pulumi
import pulumi_std as std
import pulumi_vault as vault
gcpkms = vault.gcp.KmsSecretBackend("gcpkms",
path="gcpkms",
credentials_wo=std.file(input="gcp-credentials.json").result,
credentials_wo_version=1,
scopes=[
"https://www.googleapis.com/auth/cloudkms",
"https://www.googleapis.com/auth/cloud-platform",
])
package main
import (
"github.com/pulumi/pulumi-std/sdk/go/std"
"github.com/pulumi/pulumi-vault/sdk/v7/go/vault/gcp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
invokeFile, err := std.File(ctx, &std.FileArgs{
Input: "gcp-credentials.json",
}, nil)
if err != nil {
return err
}
_, err = gcp.NewKmsSecretBackend(ctx, "gcpkms", &gcp.KmsSecretBackendArgs{
Path: pulumi.String("gcpkms"),
CredentialsWo: pulumi.String(invokeFile.Result),
CredentialsWoVersion: pulumi.Int(1),
Scopes: pulumi.StringArray{
pulumi.String("https://www.googleapis.com/auth/cloudkms"),
pulumi.String("https://www.googleapis.com/auth/cloud-platform"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Std = Pulumi.Std;
using Vault = Pulumi.Vault;
return await Deployment.RunAsync(() =>
{
var gcpkms = new Vault.Gcp.KmsSecretBackend("gcpkms", new()
{
Path = "gcpkms",
CredentialsWo = Std.File.Invoke(new()
{
Input = "gcp-credentials.json",
}).Apply(invoke => invoke.Result),
CredentialsWoVersion = 1,
Scopes = new[]
{
"https://www.googleapis.com/auth/cloudkms",
"https://www.googleapis.com/auth/cloud-platform",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vault.gcp.KmsSecretBackend;
import com.pulumi.vault.gcp.KmsSecretBackendArgs;
import com.pulumi.std.StdFunctions;
import com.pulumi.std.inputs.FileArgs;
import java.util.ArrayList;
import java.util.Arrays;
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 gcpkms = new KmsSecretBackend("gcpkms", KmsSecretBackendArgs.builder()
.path("gcpkms")
.credentialsWo(StdFunctions.file(FileArgs.builder()
.input("gcp-credentials.json")
.build()).result())
.credentialsWoVersion(1)
.scopes(
"https://www.googleapis.com/auth/cloudkms",
"https://www.googleapis.com/auth/cloud-platform")
.build());
}
}
resources:
gcpkms:
type: vault:gcp:KmsSecretBackend
properties:
path: gcpkms
credentialsWo:
fn::invoke:
function: std:file
arguments:
input: gcp-credentials.json
return: result
credentialsWoVersion: 1
scopes:
- https://www.googleapis.com/auth/cloudkms
- https://www.googleapis.com/auth/cloud-platform
pulumi {
required_providers {
std = {
source = "pulumi/std"
}
vault = {
source = "pulumi/vault"
}
}
}
resource "vault_gcp_kmssecretbackend" "gcpkms" {
path = "gcpkms"
credentials_wo = file("gcp-credentials.json")
credentials_wo_version = 1
scopes = ["https://www.googleapis.com/auth/cloudkms", "https://www.googleapis.com/auth/cloud-platform"]
}
Rotating Credentials
To rotate credentials, update credentialsWo and increment credentialsWoVersion.
The version change signals to Terraform that the new credentials should be sent to Vault.
import * as pulumi from "@pulumi/pulumi";
import * as std from "@pulumi/std";
import * as vault from "@pulumi/vault";
const gcpkms = new vault.gcp.KmsSecretBackend("gcpkms", {
path: "gcpkms",
credentialsWo: std.file({
input: "gcp-credentials-new.json",
}).then(invoke => invoke.result),
credentialsWoVersion: 2,
});
import pulumi
import pulumi_std as std
import pulumi_vault as vault
gcpkms = vault.gcp.KmsSecretBackend("gcpkms",
path="gcpkms",
credentials_wo=std.file(input="gcp-credentials-new.json").result,
credentials_wo_version=2)
package main
import (
"github.com/pulumi/pulumi-std/sdk/go/std"
"github.com/pulumi/pulumi-vault/sdk/v7/go/vault/gcp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
invokeFile, err := std.File(ctx, &std.FileArgs{
Input: "gcp-credentials-new.json",
}, nil)
if err != nil {
return err
}
_, err = gcp.NewKmsSecretBackend(ctx, "gcpkms", &gcp.KmsSecretBackendArgs{
Path: pulumi.String("gcpkms"),
CredentialsWo: pulumi.String(invokeFile.Result),
CredentialsWoVersion: pulumi.Int(2),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Std = Pulumi.Std;
using Vault = Pulumi.Vault;
return await Deployment.RunAsync(() =>
{
var gcpkms = new Vault.Gcp.KmsSecretBackend("gcpkms", new()
{
Path = "gcpkms",
CredentialsWo = Std.File.Invoke(new()
{
Input = "gcp-credentials-new.json",
}).Apply(invoke => invoke.Result),
CredentialsWoVersion = 2,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vault.gcp.KmsSecretBackend;
import com.pulumi.vault.gcp.KmsSecretBackendArgs;
import com.pulumi.std.StdFunctions;
import com.pulumi.std.inputs.FileArgs;
import java.util.ArrayList;
import java.util.Arrays;
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 gcpkms = new KmsSecretBackend("gcpkms", KmsSecretBackendArgs.builder()
.path("gcpkms")
.credentialsWo(StdFunctions.file(FileArgs.builder()
.input("gcp-credentials-new.json")
.build()).result())
.credentialsWoVersion(2)
.build());
}
}
resources:
gcpkms:
type: vault:gcp:KmsSecretBackend
properties:
path: gcpkms
credentialsWo:
fn::invoke:
function: std:file
arguments:
input: gcp-credentials-new.json
return: result
credentialsWoVersion: 2
pulumi {
required_providers {
std = {
source = "pulumi/std"
}
vault = {
source = "pulumi/vault"
}
}
}
resource "vault_gcp_kmssecretbackend" "gcpkms" {
path = "gcpkms"
credentials_wo = file("gcp-credentials-new.json")
credentials_wo_version = 2
}
Using Default Application Credentials
Leave credentialsWo empty to have Vault use
Application Default Credentials
(e.g. a Workload Identity or instance metadata service account).
import * as pulumi from "@pulumi/pulumi";
import * as vault from "@pulumi/vault";
const gcpkms = new vault.gcp.KmsSecretBackend("gcpkms", {
path: "gcpkms",
credentialsWo: "",
credentialsWoVersion: 1,
});
import pulumi
import pulumi_vault as vault
gcpkms = vault.gcp.KmsSecretBackend("gcpkms",
path="gcpkms",
credentials_wo="",
credentials_wo_version=1)
package main
import (
"github.com/pulumi/pulumi-vault/sdk/v7/go/vault/gcp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := gcp.NewKmsSecretBackend(ctx, "gcpkms", &gcp.KmsSecretBackendArgs{
Path: pulumi.String("gcpkms"),
CredentialsWo: pulumi.String(""),
CredentialsWoVersion: pulumi.Int(1),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Vault = Pulumi.Vault;
return await Deployment.RunAsync(() =>
{
var gcpkms = new Vault.Gcp.KmsSecretBackend("gcpkms", new()
{
Path = "gcpkms",
CredentialsWo = "",
CredentialsWoVersion = 1,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vault.gcp.KmsSecretBackend;
import com.pulumi.vault.gcp.KmsSecretBackendArgs;
import java.util.ArrayList;
import java.util.Arrays;
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 gcpkms = new KmsSecretBackend("gcpkms", KmsSecretBackendArgs.builder()
.path("gcpkms")
.credentialsWo("")
.credentialsWoVersion(1)
.build());
}
}
resources:
gcpkms:
type: vault:gcp:KmsSecretBackend
properties:
path: gcpkms
credentialsWo: ""
credentialsWoVersion: 1
pulumi {
required_providers {
vault = {
source = "pulumi/vault"
}
}
}
resource "vault_gcp_kmssecretbackend" "gcpkms" {
path = "gcpkms"
credentials_wo = ""
credentials_wo_version = 1
}
Ephemeral Attributes Reference
The following write-only attributes are supported:
credentialsWo- (Optional) JSON-encoded GCP service account credentials. This value is write-only and will not be stored in Terraform state. Leave empty ("") to use Default Application Credentials or instance metadata authentication. The credentials should have thecloudkms.cryptoKeyVersions.useToEncrypt,cloudkms.cryptoKeyVersions.useToDecrypt, andcloudkms.cryptoKeys.getpermissions at minimum. Note: This property is write-only and will not be read from the API. Requires Terraform 1.11+.
Required GCP Permissions
The service account credentials provided must have the following IAM permissions:
cloudkms.cryptoKeyVersions.useToEncrypt- For encryption operationscloudkms.cryptoKeyVersions.useToDecrypt- For decryption operationscloudkms.cryptoKeyVersions.useToSign- For signing operationscloudkms.cryptoKeyVersions.get- For reading key version informationcloudkms.cryptoKeys.get- For reading key informationcloudkms.cryptoKeys.create- For creating new keys (optional)
These permissions are typically granted through the Cloud KMS CryptoKey Encrypter/Decrypter and
Cloud KMS Viewer IAM roles.
Create KmsSecretBackend Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new KmsSecretBackend(name: string, args: KmsSecretBackendArgs, opts?: CustomResourceOptions);@overload
def KmsSecretBackend(resource_name: str,
args: KmsSecretBackendArgs,
opts: Optional[ResourceOptions] = None)
@overload
def KmsSecretBackend(resource_name: str,
opts: Optional[ResourceOptions] = None,
credentials_wo_version: Optional[int] = None,
path: Optional[str] = None,
force_no_cache: Optional[bool] = None,
identity_token_key: Optional[str] = None,
credentials_wo: Optional[str] = None,
audit_non_hmac_request_keys: Optional[Sequence[str]] = None,
default_lease_ttl_seconds: Optional[int] = None,
delegated_auth_accessors: Optional[Sequence[str]] = None,
description: Optional[str] = None,
external_entropy_access: Optional[bool] = None,
allowed_managed_keys: Optional[Sequence[str]] = None,
audit_non_hmac_response_keys: Optional[Sequence[str]] = None,
listing_visibility: Optional[str] = None,
local: Optional[bool] = None,
max_lease_ttl_seconds: Optional[int] = None,
namespace: Optional[str] = None,
options: Optional[Mapping[str, str]] = None,
passthrough_request_headers: Optional[Sequence[str]] = None,
allowed_response_headers: Optional[Sequence[str]] = None,
plugin_version: Optional[str] = None,
scopes: Optional[Sequence[str]] = None,
seal_wrap: Optional[bool] = None)func NewKmsSecretBackend(ctx *Context, name string, args KmsSecretBackendArgs, opts ...ResourceOption) (*KmsSecretBackend, error)public KmsSecretBackend(string name, KmsSecretBackendArgs args, CustomResourceOptions? opts = null)
public KmsSecretBackend(String name, KmsSecretBackendArgs args)
public KmsSecretBackend(String name, KmsSecretBackendArgs args, CustomResourceOptions options)
type: vault:gcp:KmsSecretBackend
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "vault_gcp_kms_secret_backend" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args KmsSecretBackendArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args KmsSecretBackendArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args KmsSecretBackendArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args KmsSecretBackendArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args KmsSecretBackendArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var kmsSecretBackendResource = new Vault.Gcp.KmsSecretBackend("kmsSecretBackendResource", new()
{
CredentialsWoVersion = 0,
Path = "string",
ForceNoCache = false,
IdentityTokenKey = "string",
CredentialsWo = "string",
AuditNonHmacRequestKeys = new[]
{
"string",
},
DefaultLeaseTtlSeconds = 0,
DelegatedAuthAccessors = new[]
{
"string",
},
Description = "string",
ExternalEntropyAccess = false,
AllowedManagedKeys = new[]
{
"string",
},
AuditNonHmacResponseKeys = new[]
{
"string",
},
ListingVisibility = "string",
Local = false,
MaxLeaseTtlSeconds = 0,
Namespace = "string",
Options =
{
{ "string", "string" },
},
PassthroughRequestHeaders = new[]
{
"string",
},
AllowedResponseHeaders = new[]
{
"string",
},
PluginVersion = "string",
Scopes = new[]
{
"string",
},
SealWrap = false,
});
example, err := gcp.NewKmsSecretBackend(ctx, "kmsSecretBackendResource", &gcp.KmsSecretBackendArgs{
CredentialsWoVersion: pulumi.Int(0),
Path: pulumi.String("string"),
ForceNoCache: pulumi.Bool(false),
IdentityTokenKey: pulumi.String("string"),
CredentialsWo: pulumi.String("string"),
AuditNonHmacRequestKeys: pulumi.StringArray{
pulumi.String("string"),
},
DefaultLeaseTtlSeconds: pulumi.Int(0),
DelegatedAuthAccessors: pulumi.StringArray{
pulumi.String("string"),
},
Description: pulumi.String("string"),
ExternalEntropyAccess: pulumi.Bool(false),
AllowedManagedKeys: pulumi.StringArray{
pulumi.String("string"),
},
AuditNonHmacResponseKeys: pulumi.StringArray{
pulumi.String("string"),
},
ListingVisibility: pulumi.String("string"),
Local: pulumi.Bool(false),
MaxLeaseTtlSeconds: pulumi.Int(0),
Namespace: pulumi.String("string"),
Options: pulumi.StringMap{
"string": pulumi.String("string"),
},
PassthroughRequestHeaders: pulumi.StringArray{
pulumi.String("string"),
},
AllowedResponseHeaders: pulumi.StringArray{
pulumi.String("string"),
},
PluginVersion: pulumi.String("string"),
Scopes: pulumi.StringArray{
pulumi.String("string"),
},
SealWrap: pulumi.Bool(false),
})
resource "vault_gcp_kms_secret_backend" "kmsSecretBackendResource" {
lifecycle {
create_before_destroy = true
}
credentials_wo_version = 0
path = "string"
force_no_cache = false
identity_token_key = "string"
credentials_wo = "string"
audit_non_hmac_request_keys = ["string"]
default_lease_ttl_seconds = 0
delegated_auth_accessors = ["string"]
description = "string"
external_entropy_access = false
allowed_managed_keys = ["string"]
audit_non_hmac_response_keys = ["string"]
listing_visibility = "string"
local = false
max_lease_ttl_seconds = 0
namespace = "string"
options = {
"string" = "string"
}
passthrough_request_headers = ["string"]
allowed_response_headers = ["string"]
plugin_version = "string"
scopes = ["string"]
seal_wrap = false
}
var kmsSecretBackendResource = new KmsSecretBackend("kmsSecretBackendResource", KmsSecretBackendArgs.builder()
.credentialsWoVersion(0)
.path("string")
.forceNoCache(false)
.identityTokenKey("string")
.credentialsWo("string")
.auditNonHmacRequestKeys("string")
.defaultLeaseTtlSeconds(0)
.delegatedAuthAccessors("string")
.description("string")
.externalEntropyAccess(false)
.allowedManagedKeys("string")
.auditNonHmacResponseKeys("string")
.listingVisibility("string")
.local(false)
.maxLeaseTtlSeconds(0)
.namespace("string")
.options(Map.of("string", "string"))
.passthroughRequestHeaders("string")
.allowedResponseHeaders("string")
.pluginVersion("string")
.scopes("string")
.sealWrap(false)
.build());
kms_secret_backend_resource = vault.gcp.KmsSecretBackend("kmsSecretBackendResource",
credentials_wo_version=0,
path="string",
force_no_cache=False,
identity_token_key="string",
credentials_wo="string",
audit_non_hmac_request_keys=["string"],
default_lease_ttl_seconds=0,
delegated_auth_accessors=["string"],
description="string",
external_entropy_access=False,
allowed_managed_keys=["string"],
audit_non_hmac_response_keys=["string"],
listing_visibility="string",
local=False,
max_lease_ttl_seconds=0,
namespace="string",
options={
"string": "string",
},
passthrough_request_headers=["string"],
allowed_response_headers=["string"],
plugin_version="string",
scopes=["string"],
seal_wrap=False)
const kmsSecretBackendResource = new vault.gcp.KmsSecretBackend("kmsSecretBackendResource", {
credentialsWoVersion: 0,
path: "string",
forceNoCache: false,
identityTokenKey: "string",
credentialsWo: "string",
auditNonHmacRequestKeys: ["string"],
defaultLeaseTtlSeconds: 0,
delegatedAuthAccessors: ["string"],
description: "string",
externalEntropyAccess: false,
allowedManagedKeys: ["string"],
auditNonHmacResponseKeys: ["string"],
listingVisibility: "string",
local: false,
maxLeaseTtlSeconds: 0,
namespace: "string",
options: {
string: "string",
},
passthroughRequestHeaders: ["string"],
allowedResponseHeaders: ["string"],
pluginVersion: "string",
scopes: ["string"],
sealWrap: false,
});
type: vault:gcp:KmsSecretBackend
properties:
allowedManagedKeys:
- string
allowedResponseHeaders:
- string
auditNonHmacRequestKeys:
- string
auditNonHmacResponseKeys:
- string
credentialsWo: string
credentialsWoVersion: 0
defaultLeaseTtlSeconds: 0
delegatedAuthAccessors:
- string
description: string
externalEntropyAccess: false
forceNoCache: false
identityTokenKey: string
listingVisibility: string
local: false
maxLeaseTtlSeconds: 0
namespace: string
options:
string: string
passthroughRequestHeaders:
- string
path: string
pluginVersion: string
scopes:
- string
sealWrap: false
KmsSecretBackend Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The KmsSecretBackend resource accepts the following input properties:
- Credentials
Wo intVersion - Version number for the write-only credentials. Increment this
value to trigger a credential rotation. Changing this value will cause the credentials to be re-sent
to Vault during the next apply. Requires
credentialsWoto also be set. For more info see updating write-only attributes. - Path string
- Path where the GCP KMS secrets engine will be mounted.
- Allowed
Managed List<string>Keys - List of managed key registry entry names that the mount in question is allowed to access
- Allowed
Response List<string>Headers - List of headers to allow and pass from the plugin to the request
- Audit
Non List<string>Hmac Request Keys - Specifies the list of keys that will not be HMAC'd by audit devices in the request data object
- Audit
Non List<string>Hmac Response Keys - Specifies the list of keys that will not be HMAC'd by audit devices in the response data object
- Credentials
Wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
JSON-encoded GCP service account credentials. Write-only — never stored in Terraform state. Leave this blank (
"") to use Default Application Credentials or instance metadata authentication. Requires Terraform 1.11+. - Default
Lease intTtl Seconds - Default lease duration for tokens and secrets in seconds
- Delegated
Auth List<string>Accessors - List of auth accessor IDs that can delegate authentication to this mount
- Description string
- Human-friendly description of the mount
- External
Entropy boolAccess - Enable the secrets engine to access Vault's external entropy source
- Force
No boolCache - If set to true, disables caching
- Identity
Token stringKey - The key to use for signing plugin workload identity tokens
- Listing
Visibility string - Specifies whether to show this mount in the UI-specific listing endpoint
- Local bool
- Local mount flag that can be explicitly set to true to enforce local mount in HA environment
- Max
Lease intTtl Seconds - Maximum possible lease duration for tokens and secrets in seconds
- Namespace string
- The namespace of the target resource.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - Options Dictionary<string, string>
- Specifies mount type specific options that are passed to the backend
- Passthrough
Request List<string>Headers - List of headers to allow and pass from the request to the plugin
- Plugin
Version string - Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'
- Scopes List<string>
Set of OAuth scopes to use for GCP API requests. Defaults to
["https://www.googleapis.com/auth/cloudkms"]. Common scopes include:https://www.googleapis.com/auth/cloudkms- Cloud KMS accesshttps://www.googleapis.com/auth/cloud-platform- Full cloud platform access
The following mount-level arguments are also supported (see
vault.Mountfor details):description,defaultLeaseTtlSeconds,maxLeaseTtlSeconds,auditNonHmacRequestKeys,auditNonHmacResponseKeys,listingVisibility,passthroughRequestHeaders,allowedResponseHeaders,allowedManagedKeys,local,sealWrap,externalEntropyAccess.- Seal
Wrap bool - Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
- Credentials
Wo intVersion - Version number for the write-only credentials. Increment this
value to trigger a credential rotation. Changing this value will cause the credentials to be re-sent
to Vault during the next apply. Requires
credentialsWoto also be set. For more info see updating write-only attributes. - Path string
- Path where the GCP KMS secrets engine will be mounted.
- Allowed
Managed []stringKeys - List of managed key registry entry names that the mount in question is allowed to access
- Allowed
Response []stringHeaders - List of headers to allow and pass from the plugin to the request
- Audit
Non []stringHmac Request Keys - Specifies the list of keys that will not be HMAC'd by audit devices in the request data object
- Audit
Non []stringHmac Response Keys - Specifies the list of keys that will not be HMAC'd by audit devices in the response data object
- Credentials
Wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
JSON-encoded GCP service account credentials. Write-only — never stored in Terraform state. Leave this blank (
"") to use Default Application Credentials or instance metadata authentication. Requires Terraform 1.11+. - Default
Lease intTtl Seconds - Default lease duration for tokens and secrets in seconds
- Delegated
Auth []stringAccessors - List of auth accessor IDs that can delegate authentication to this mount
- Description string
- Human-friendly description of the mount
- External
Entropy boolAccess - Enable the secrets engine to access Vault's external entropy source
- Force
No boolCache - If set to true, disables caching
- Identity
Token stringKey - The key to use for signing plugin workload identity tokens
- Listing
Visibility string - Specifies whether to show this mount in the UI-specific listing endpoint
- Local bool
- Local mount flag that can be explicitly set to true to enforce local mount in HA environment
- Max
Lease intTtl Seconds - Maximum possible lease duration for tokens and secrets in seconds
- Namespace string
- The namespace of the target resource.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - Options map[string]string
- Specifies mount type specific options that are passed to the backend
- Passthrough
Request []stringHeaders - List of headers to allow and pass from the request to the plugin
- Plugin
Version string - Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'
- Scopes []string
Set of OAuth scopes to use for GCP API requests. Defaults to
["https://www.googleapis.com/auth/cloudkms"]. Common scopes include:https://www.googleapis.com/auth/cloudkms- Cloud KMS accesshttps://www.googleapis.com/auth/cloud-platform- Full cloud platform access
The following mount-level arguments are also supported (see
vault.Mountfor details):description,defaultLeaseTtlSeconds,maxLeaseTtlSeconds,auditNonHmacRequestKeys,auditNonHmacResponseKeys,listingVisibility,passthroughRequestHeaders,allowedResponseHeaders,allowedManagedKeys,local,sealWrap,externalEntropyAccess.- Seal
Wrap bool - Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
- credentials_
wo_ numberversion - Version number for the write-only credentials. Increment this
value to trigger a credential rotation. Changing this value will cause the credentials to be re-sent
to Vault during the next apply. Requires
credentialsWoto also be set. For more info see updating write-only attributes. - path string
- Path where the GCP KMS secrets engine will be mounted.
- allowed_
managed_ list(string)keys - List of managed key registry entry names that the mount in question is allowed to access
- allowed_
response_ list(string)headers - List of headers to allow and pass from the plugin to the request
- audit_
non_ list(string)hmac_ request_ keys - Specifies the list of keys that will not be HMAC'd by audit devices in the request data object
- audit_
non_ list(string)hmac_ response_ keys - Specifies the list of keys that will not be HMAC'd by audit devices in the response data object
- credentials_
wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
JSON-encoded GCP service account credentials. Write-only — never stored in Terraform state. Leave this blank (
"") to use Default Application Credentials or instance metadata authentication. Requires Terraform 1.11+. - default_
lease_ numberttl_ seconds - Default lease duration for tokens and secrets in seconds
- delegated_
auth_ list(string)accessors - List of auth accessor IDs that can delegate authentication to this mount
- description string
- Human-friendly description of the mount
- external_
entropy_ boolaccess - Enable the secrets engine to access Vault's external entropy source
- force_
no_ boolcache - If set to true, disables caching
- identity_
token_ stringkey - The key to use for signing plugin workload identity tokens
- listing_
visibility string - Specifies whether to show this mount in the UI-specific listing endpoint
- local bool
- Local mount flag that can be explicitly set to true to enforce local mount in HA environment
- max_
lease_ numberttl_ seconds - Maximum possible lease duration for tokens and secrets in seconds
- namespace string
- The namespace of the target resource.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - options map(string)
- Specifies mount type specific options that are passed to the backend
- passthrough_
request_ list(string)headers - List of headers to allow and pass from the request to the plugin
- plugin_
version string - Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'
- scopes list(string)
Set of OAuth scopes to use for GCP API requests. Defaults to
["https://www.googleapis.com/auth/cloudkms"]. Common scopes include:https://www.googleapis.com/auth/cloudkms- Cloud KMS accesshttps://www.googleapis.com/auth/cloud-platform- Full cloud platform access
The following mount-level arguments are also supported (see
vault.Mountfor details):description,defaultLeaseTtlSeconds,maxLeaseTtlSeconds,auditNonHmacRequestKeys,auditNonHmacResponseKeys,listingVisibility,passthroughRequestHeaders,allowedResponseHeaders,allowedManagedKeys,local,sealWrap,externalEntropyAccess.- seal_
wrap bool - Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
- credentials
Wo IntegerVersion - Version number for the write-only credentials. Increment this
value to trigger a credential rotation. Changing this value will cause the credentials to be re-sent
to Vault during the next apply. Requires
credentialsWoto also be set. For more info see updating write-only attributes. - path String
- Path where the GCP KMS secrets engine will be mounted.
- allowed
Managed List<String>Keys - List of managed key registry entry names that the mount in question is allowed to access
- allowed
Response List<String>Headers - List of headers to allow and pass from the plugin to the request
- audit
Non List<String>Hmac Request Keys - Specifies the list of keys that will not be HMAC'd by audit devices in the request data object
- audit
Non List<String>Hmac Response Keys - Specifies the list of keys that will not be HMAC'd by audit devices in the response data object
- credentials
Wo String - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
JSON-encoded GCP service account credentials. Write-only — never stored in Terraform state. Leave this blank (
"") to use Default Application Credentials or instance metadata authentication. Requires Terraform 1.11+. - default
Lease IntegerTtl Seconds - Default lease duration for tokens and secrets in seconds
- delegated
Auth List<String>Accessors - List of auth accessor IDs that can delegate authentication to this mount
- description String
- Human-friendly description of the mount
- external
Entropy BooleanAccess - Enable the secrets engine to access Vault's external entropy source
- force
No BooleanCache - If set to true, disables caching
- identity
Token StringKey - The key to use for signing plugin workload identity tokens
- listing
Visibility String - Specifies whether to show this mount in the UI-specific listing endpoint
- local Boolean
- Local mount flag that can be explicitly set to true to enforce local mount in HA environment
- max
Lease IntegerTtl Seconds - Maximum possible lease duration for tokens and secrets in seconds
- namespace String
- The namespace of the target resource.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - options Map<String,String>
- Specifies mount type specific options that are passed to the backend
- passthrough
Request List<String>Headers - List of headers to allow and pass from the request to the plugin
- plugin
Version String - Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'
- scopes List<String>
Set of OAuth scopes to use for GCP API requests. Defaults to
["https://www.googleapis.com/auth/cloudkms"]. Common scopes include:https://www.googleapis.com/auth/cloudkms- Cloud KMS accesshttps://www.googleapis.com/auth/cloud-platform- Full cloud platform access
The following mount-level arguments are also supported (see
vault.Mountfor details):description,defaultLeaseTtlSeconds,maxLeaseTtlSeconds,auditNonHmacRequestKeys,auditNonHmacResponseKeys,listingVisibility,passthroughRequestHeaders,allowedResponseHeaders,allowedManagedKeys,local,sealWrap,externalEntropyAccess.- seal
Wrap Boolean - Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
- credentials
Wo numberVersion - Version number for the write-only credentials. Increment this
value to trigger a credential rotation. Changing this value will cause the credentials to be re-sent
to Vault during the next apply. Requires
credentialsWoto also be set. For more info see updating write-only attributes. - path string
- Path where the GCP KMS secrets engine will be mounted.
- allowed
Managed string[]Keys - List of managed key registry entry names that the mount in question is allowed to access
- allowed
Response string[]Headers - List of headers to allow and pass from the plugin to the request
- audit
Non string[]Hmac Request Keys - Specifies the list of keys that will not be HMAC'd by audit devices in the request data object
- audit
Non string[]Hmac Response Keys - Specifies the list of keys that will not be HMAC'd by audit devices in the response data object
- credentials
Wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
JSON-encoded GCP service account credentials. Write-only — never stored in Terraform state. Leave this blank (
"") to use Default Application Credentials or instance metadata authentication. Requires Terraform 1.11+. - default
Lease numberTtl Seconds - Default lease duration for tokens and secrets in seconds
- delegated
Auth string[]Accessors - List of auth accessor IDs that can delegate authentication to this mount
- description string
- Human-friendly description of the mount
- external
Entropy booleanAccess - Enable the secrets engine to access Vault's external entropy source
- force
No booleanCache - If set to true, disables caching
- identity
Token stringKey - The key to use for signing plugin workload identity tokens
- listing
Visibility string - Specifies whether to show this mount in the UI-specific listing endpoint
- local boolean
- Local mount flag that can be explicitly set to true to enforce local mount in HA environment
- max
Lease numberTtl Seconds - Maximum possible lease duration for tokens and secrets in seconds
- namespace string
- The namespace of the target resource.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - options {[key: string]: string}
- Specifies mount type specific options that are passed to the backend
- passthrough
Request string[]Headers - List of headers to allow and pass from the request to the plugin
- plugin
Version string - Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'
- scopes string[]
Set of OAuth scopes to use for GCP API requests. Defaults to
["https://www.googleapis.com/auth/cloudkms"]. Common scopes include:https://www.googleapis.com/auth/cloudkms- Cloud KMS accesshttps://www.googleapis.com/auth/cloud-platform- Full cloud platform access
The following mount-level arguments are also supported (see
vault.Mountfor details):description,defaultLeaseTtlSeconds,maxLeaseTtlSeconds,auditNonHmacRequestKeys,auditNonHmacResponseKeys,listingVisibility,passthroughRequestHeaders,allowedResponseHeaders,allowedManagedKeys,local,sealWrap,externalEntropyAccess.- seal
Wrap boolean - Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
- credentials_
wo_ intversion - Version number for the write-only credentials. Increment this
value to trigger a credential rotation. Changing this value will cause the credentials to be re-sent
to Vault during the next apply. Requires
credentialsWoto also be set. For more info see updating write-only attributes. - path str
- Path where the GCP KMS secrets engine will be mounted.
- allowed_
managed_ Sequence[str]keys - List of managed key registry entry names that the mount in question is allowed to access
- allowed_
response_ Sequence[str]headers - List of headers to allow and pass from the plugin to the request
- audit_
non_ Sequence[str]hmac_ request_ keys - Specifies the list of keys that will not be HMAC'd by audit devices in the request data object
- audit_
non_ Sequence[str]hmac_ response_ keys - Specifies the list of keys that will not be HMAC'd by audit devices in the response data object
- credentials_
wo str - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
JSON-encoded GCP service account credentials. Write-only — never stored in Terraform state. Leave this blank (
"") to use Default Application Credentials or instance metadata authentication. Requires Terraform 1.11+. - default_
lease_ intttl_ seconds - Default lease duration for tokens and secrets in seconds
- delegated_
auth_ Sequence[str]accessors - List of auth accessor IDs that can delegate authentication to this mount
- description str
- Human-friendly description of the mount
- external_
entropy_ boolaccess - Enable the secrets engine to access Vault's external entropy source
- force_
no_ boolcache - If set to true, disables caching
- identity_
token_ strkey - The key to use for signing plugin workload identity tokens
- listing_
visibility str - Specifies whether to show this mount in the UI-specific listing endpoint
- local bool
- Local mount flag that can be explicitly set to true to enforce local mount in HA environment
- max_
lease_ intttl_ seconds - Maximum possible lease duration for tokens and secrets in seconds
- namespace str
- The namespace of the target resource.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - options Mapping[str, str]
- Specifies mount type specific options that are passed to the backend
- passthrough_
request_ Sequence[str]headers - List of headers to allow and pass from the request to the plugin
- plugin_
version str - Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'
- scopes Sequence[str]
Set of OAuth scopes to use for GCP API requests. Defaults to
["https://www.googleapis.com/auth/cloudkms"]. Common scopes include:https://www.googleapis.com/auth/cloudkms- Cloud KMS accesshttps://www.googleapis.com/auth/cloud-platform- Full cloud platform access
The following mount-level arguments are also supported (see
vault.Mountfor details):description,defaultLeaseTtlSeconds,maxLeaseTtlSeconds,auditNonHmacRequestKeys,auditNonHmacResponseKeys,listingVisibility,passthroughRequestHeaders,allowedResponseHeaders,allowedManagedKeys,local,sealWrap,externalEntropyAccess.- seal_
wrap bool - Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
- credentials
Wo NumberVersion - Version number for the write-only credentials. Increment this
value to trigger a credential rotation. Changing this value will cause the credentials to be re-sent
to Vault during the next apply. Requires
credentialsWoto also be set. For more info see updating write-only attributes. - path String
- Path where the GCP KMS secrets engine will be mounted.
- allowed
Managed List<String>Keys - List of managed key registry entry names that the mount in question is allowed to access
- allowed
Response List<String>Headers - List of headers to allow and pass from the plugin to the request
- audit
Non List<String>Hmac Request Keys - Specifies the list of keys that will not be HMAC'd by audit devices in the request data object
- audit
Non List<String>Hmac Response Keys - Specifies the list of keys that will not be HMAC'd by audit devices in the response data object
- credentials
Wo String - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
JSON-encoded GCP service account credentials. Write-only — never stored in Terraform state. Leave this blank (
"") to use Default Application Credentials or instance metadata authentication. Requires Terraform 1.11+. - default
Lease NumberTtl Seconds - Default lease duration for tokens and secrets in seconds
- delegated
Auth List<String>Accessors - List of auth accessor IDs that can delegate authentication to this mount
- description String
- Human-friendly description of the mount
- external
Entropy BooleanAccess - Enable the secrets engine to access Vault's external entropy source
- force
No BooleanCache - If set to true, disables caching
- identity
Token StringKey - The key to use for signing plugin workload identity tokens
- listing
Visibility String - Specifies whether to show this mount in the UI-specific listing endpoint
- local Boolean
- Local mount flag that can be explicitly set to true to enforce local mount in HA environment
- max
Lease NumberTtl Seconds - Maximum possible lease duration for tokens and secrets in seconds
- namespace String
- The namespace of the target resource.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - options Map<String>
- Specifies mount type specific options that are passed to the backend
- passthrough
Request List<String>Headers - List of headers to allow and pass from the request to the plugin
- plugin
Version String - Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'
- scopes List<String>
Set of OAuth scopes to use for GCP API requests. Defaults to
["https://www.googleapis.com/auth/cloudkms"]. Common scopes include:https://www.googleapis.com/auth/cloudkms- Cloud KMS accesshttps://www.googleapis.com/auth/cloud-platform- Full cloud platform access
The following mount-level arguments are also supported (see
vault.Mountfor details):description,defaultLeaseTtlSeconds,maxLeaseTtlSeconds,auditNonHmacRequestKeys,auditNonHmacResponseKeys,listingVisibility,passthroughRequestHeaders,allowedResponseHeaders,allowedManagedKeys,local,sealWrap,externalEntropyAccess.- seal
Wrap Boolean - Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
Outputs
All input properties are implicitly available as output properties. Additionally, the KmsSecretBackend resource produces the following output properties:
Look up Existing KmsSecretBackend Resource
Get an existing KmsSecretBackend resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: KmsSecretBackendState, opts?: CustomResourceOptions): KmsSecretBackend@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
accessor: Optional[str] = None,
allowed_managed_keys: Optional[Sequence[str]] = None,
allowed_response_headers: Optional[Sequence[str]] = None,
audit_non_hmac_request_keys: Optional[Sequence[str]] = None,
audit_non_hmac_response_keys: Optional[Sequence[str]] = None,
credentials_wo: Optional[str] = None,
credentials_wo_version: Optional[int] = None,
default_lease_ttl_seconds: Optional[int] = None,
delegated_auth_accessors: Optional[Sequence[str]] = None,
description: Optional[str] = None,
external_entropy_access: Optional[bool] = None,
force_no_cache: Optional[bool] = None,
identity_token_key: Optional[str] = None,
listing_visibility: Optional[str] = None,
local: Optional[bool] = None,
max_lease_ttl_seconds: Optional[int] = None,
namespace: Optional[str] = None,
options: Optional[Mapping[str, str]] = None,
passthrough_request_headers: Optional[Sequence[str]] = None,
path: Optional[str] = None,
plugin_version: Optional[str] = None,
scopes: Optional[Sequence[str]] = None,
seal_wrap: Optional[bool] = None,
type: Optional[str] = None) -> KmsSecretBackendfunc GetKmsSecretBackend(ctx *Context, name string, id IDInput, state *KmsSecretBackendState, opts ...ResourceOption) (*KmsSecretBackend, error)public static KmsSecretBackend Get(string name, Input<string> id, KmsSecretBackendState? state, CustomResourceOptions? opts = null)public static KmsSecretBackend get(String name, Output<String> id, KmsSecretBackendState state, CustomResourceOptions options)resources: _: type: vault:gcp:KmsSecretBackend get: id: ${id}import {
to = vault_gcp_kms_secret_backend.example
id = "${id}"
}
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Accessor string
- The mount accessor assigned by Vault.
- Allowed
Managed List<string>Keys - List of managed key registry entry names that the mount in question is allowed to access
- Allowed
Response List<string>Headers - List of headers to allow and pass from the plugin to the request
- Audit
Non List<string>Hmac Request Keys - Specifies the list of keys that will not be HMAC'd by audit devices in the request data object
- Audit
Non List<string>Hmac Response Keys - Specifies the list of keys that will not be HMAC'd by audit devices in the response data object
- Credentials
Wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
JSON-encoded GCP service account credentials. Write-only — never stored in Terraform state. Leave this blank (
"") to use Default Application Credentials or instance metadata authentication. Requires Terraform 1.11+. - Credentials
Wo intVersion - Version number for the write-only credentials. Increment this
value to trigger a credential rotation. Changing this value will cause the credentials to be re-sent
to Vault during the next apply. Requires
credentialsWoto also be set. For more info see updating write-only attributes. - Default
Lease intTtl Seconds - Default lease duration for tokens and secrets in seconds
- Delegated
Auth List<string>Accessors - List of auth accessor IDs that can delegate authentication to this mount
- Description string
- Human-friendly description of the mount
- External
Entropy boolAccess - Enable the secrets engine to access Vault's external entropy source
- Force
No boolCache - If set to true, disables caching
- Identity
Token stringKey - The key to use for signing plugin workload identity tokens
- Listing
Visibility string - Specifies whether to show this mount in the UI-specific listing endpoint
- Local bool
- Local mount flag that can be explicitly set to true to enforce local mount in HA environment
- Max
Lease intTtl Seconds - Maximum possible lease duration for tokens and secrets in seconds
- Namespace string
- The namespace of the target resource.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - Options Dictionary<string, string>
- Specifies mount type specific options that are passed to the backend
- Passthrough
Request List<string>Headers - List of headers to allow and pass from the request to the plugin
- Path string
- Path where the GCP KMS secrets engine will be mounted.
- Plugin
Version string - Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'
- Scopes List<string>
Set of OAuth scopes to use for GCP API requests. Defaults to
["https://www.googleapis.com/auth/cloudkms"]. Common scopes include:https://www.googleapis.com/auth/cloudkms- Cloud KMS accesshttps://www.googleapis.com/auth/cloud-platform- Full cloud platform access
The following mount-level arguments are also supported (see
vault.Mountfor details):description,defaultLeaseTtlSeconds,maxLeaseTtlSeconds,auditNonHmacRequestKeys,auditNonHmacResponseKeys,listingVisibility,passthroughRequestHeaders,allowedResponseHeaders,allowedManagedKeys,local,sealWrap,externalEntropyAccess.- Seal
Wrap bool - Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
- Type string
- Type of the backend, such as 'gcpkms'
- Accessor string
- The mount accessor assigned by Vault.
- Allowed
Managed []stringKeys - List of managed key registry entry names that the mount in question is allowed to access
- Allowed
Response []stringHeaders - List of headers to allow and pass from the plugin to the request
- Audit
Non []stringHmac Request Keys - Specifies the list of keys that will not be HMAC'd by audit devices in the request data object
- Audit
Non []stringHmac Response Keys - Specifies the list of keys that will not be HMAC'd by audit devices in the response data object
- Credentials
Wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
JSON-encoded GCP service account credentials. Write-only — never stored in Terraform state. Leave this blank (
"") to use Default Application Credentials or instance metadata authentication. Requires Terraform 1.11+. - Credentials
Wo intVersion - Version number for the write-only credentials. Increment this
value to trigger a credential rotation. Changing this value will cause the credentials to be re-sent
to Vault during the next apply. Requires
credentialsWoto also be set. For more info see updating write-only attributes. - Default
Lease intTtl Seconds - Default lease duration for tokens and secrets in seconds
- Delegated
Auth []stringAccessors - List of auth accessor IDs that can delegate authentication to this mount
- Description string
- Human-friendly description of the mount
- External
Entropy boolAccess - Enable the secrets engine to access Vault's external entropy source
- Force
No boolCache - If set to true, disables caching
- Identity
Token stringKey - The key to use for signing plugin workload identity tokens
- Listing
Visibility string - Specifies whether to show this mount in the UI-specific listing endpoint
- Local bool
- Local mount flag that can be explicitly set to true to enforce local mount in HA environment
- Max
Lease intTtl Seconds - Maximum possible lease duration for tokens and secrets in seconds
- Namespace string
- The namespace of the target resource.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - Options map[string]string
- Specifies mount type specific options that are passed to the backend
- Passthrough
Request []stringHeaders - List of headers to allow and pass from the request to the plugin
- Path string
- Path where the GCP KMS secrets engine will be mounted.
- Plugin
Version string - Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'
- Scopes []string
Set of OAuth scopes to use for GCP API requests. Defaults to
["https://www.googleapis.com/auth/cloudkms"]. Common scopes include:https://www.googleapis.com/auth/cloudkms- Cloud KMS accesshttps://www.googleapis.com/auth/cloud-platform- Full cloud platform access
The following mount-level arguments are also supported (see
vault.Mountfor details):description,defaultLeaseTtlSeconds,maxLeaseTtlSeconds,auditNonHmacRequestKeys,auditNonHmacResponseKeys,listingVisibility,passthroughRequestHeaders,allowedResponseHeaders,allowedManagedKeys,local,sealWrap,externalEntropyAccess.- Seal
Wrap bool - Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
- Type string
- Type of the backend, such as 'gcpkms'
- accessor string
- The mount accessor assigned by Vault.
- allowed_
managed_ list(string)keys - List of managed key registry entry names that the mount in question is allowed to access
- allowed_
response_ list(string)headers - List of headers to allow and pass from the plugin to the request
- audit_
non_ list(string)hmac_ request_ keys - Specifies the list of keys that will not be HMAC'd by audit devices in the request data object
- audit_
non_ list(string)hmac_ response_ keys - Specifies the list of keys that will not be HMAC'd by audit devices in the response data object
- credentials_
wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
JSON-encoded GCP service account credentials. Write-only — never stored in Terraform state. Leave this blank (
"") to use Default Application Credentials or instance metadata authentication. Requires Terraform 1.11+. - credentials_
wo_ numberversion - Version number for the write-only credentials. Increment this
value to trigger a credential rotation. Changing this value will cause the credentials to be re-sent
to Vault during the next apply. Requires
credentialsWoto also be set. For more info see updating write-only attributes. - default_
lease_ numberttl_ seconds - Default lease duration for tokens and secrets in seconds
- delegated_
auth_ list(string)accessors - List of auth accessor IDs that can delegate authentication to this mount
- description string
- Human-friendly description of the mount
- external_
entropy_ boolaccess - Enable the secrets engine to access Vault's external entropy source
- force_
no_ boolcache - If set to true, disables caching
- identity_
token_ stringkey - The key to use for signing plugin workload identity tokens
- listing_
visibility string - Specifies whether to show this mount in the UI-specific listing endpoint
- local bool
- Local mount flag that can be explicitly set to true to enforce local mount in HA environment
- max_
lease_ numberttl_ seconds - Maximum possible lease duration for tokens and secrets in seconds
- namespace string
- The namespace of the target resource.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - options map(string)
- Specifies mount type specific options that are passed to the backend
- passthrough_
request_ list(string)headers - List of headers to allow and pass from the request to the plugin
- path string
- Path where the GCP KMS secrets engine will be mounted.
- plugin_
version string - Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'
- scopes list(string)
Set of OAuth scopes to use for GCP API requests. Defaults to
["https://www.googleapis.com/auth/cloudkms"]. Common scopes include:https://www.googleapis.com/auth/cloudkms- Cloud KMS accesshttps://www.googleapis.com/auth/cloud-platform- Full cloud platform access
The following mount-level arguments are also supported (see
vault.Mountfor details):description,defaultLeaseTtlSeconds,maxLeaseTtlSeconds,auditNonHmacRequestKeys,auditNonHmacResponseKeys,listingVisibility,passthroughRequestHeaders,allowedResponseHeaders,allowedManagedKeys,local,sealWrap,externalEntropyAccess.- seal_
wrap bool - Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
- type string
- Type of the backend, such as 'gcpkms'
- accessor String
- The mount accessor assigned by Vault.
- allowed
Managed List<String>Keys - List of managed key registry entry names that the mount in question is allowed to access
- allowed
Response List<String>Headers - List of headers to allow and pass from the plugin to the request
- audit
Non List<String>Hmac Request Keys - Specifies the list of keys that will not be HMAC'd by audit devices in the request data object
- audit
Non List<String>Hmac Response Keys - Specifies the list of keys that will not be HMAC'd by audit devices in the response data object
- credentials
Wo String - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
JSON-encoded GCP service account credentials. Write-only — never stored in Terraform state. Leave this blank (
"") to use Default Application Credentials or instance metadata authentication. Requires Terraform 1.11+. - credentials
Wo IntegerVersion - Version number for the write-only credentials. Increment this
value to trigger a credential rotation. Changing this value will cause the credentials to be re-sent
to Vault during the next apply. Requires
credentialsWoto also be set. For more info see updating write-only attributes. - default
Lease IntegerTtl Seconds - Default lease duration for tokens and secrets in seconds
- delegated
Auth List<String>Accessors - List of auth accessor IDs that can delegate authentication to this mount
- description String
- Human-friendly description of the mount
- external
Entropy BooleanAccess - Enable the secrets engine to access Vault's external entropy source
- force
No BooleanCache - If set to true, disables caching
- identity
Token StringKey - The key to use for signing plugin workload identity tokens
- listing
Visibility String - Specifies whether to show this mount in the UI-specific listing endpoint
- local Boolean
- Local mount flag that can be explicitly set to true to enforce local mount in HA environment
- max
Lease IntegerTtl Seconds - Maximum possible lease duration for tokens and secrets in seconds
- namespace String
- The namespace of the target resource.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - options Map<String,String>
- Specifies mount type specific options that are passed to the backend
- passthrough
Request List<String>Headers - List of headers to allow and pass from the request to the plugin
- path String
- Path where the GCP KMS secrets engine will be mounted.
- plugin
Version String - Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'
- scopes List<String>
Set of OAuth scopes to use for GCP API requests. Defaults to
["https://www.googleapis.com/auth/cloudkms"]. Common scopes include:https://www.googleapis.com/auth/cloudkms- Cloud KMS accesshttps://www.googleapis.com/auth/cloud-platform- Full cloud platform access
The following mount-level arguments are also supported (see
vault.Mountfor details):description,defaultLeaseTtlSeconds,maxLeaseTtlSeconds,auditNonHmacRequestKeys,auditNonHmacResponseKeys,listingVisibility,passthroughRequestHeaders,allowedResponseHeaders,allowedManagedKeys,local,sealWrap,externalEntropyAccess.- seal
Wrap Boolean - Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
- type String
- Type of the backend, such as 'gcpkms'
- accessor string
- The mount accessor assigned by Vault.
- allowed
Managed string[]Keys - List of managed key registry entry names that the mount in question is allowed to access
- allowed
Response string[]Headers - List of headers to allow and pass from the plugin to the request
- audit
Non string[]Hmac Request Keys - Specifies the list of keys that will not be HMAC'd by audit devices in the request data object
- audit
Non string[]Hmac Response Keys - Specifies the list of keys that will not be HMAC'd by audit devices in the response data object
- credentials
Wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
JSON-encoded GCP service account credentials. Write-only — never stored in Terraform state. Leave this blank (
"") to use Default Application Credentials or instance metadata authentication. Requires Terraform 1.11+. - credentials
Wo numberVersion - Version number for the write-only credentials. Increment this
value to trigger a credential rotation. Changing this value will cause the credentials to be re-sent
to Vault during the next apply. Requires
credentialsWoto also be set. For more info see updating write-only attributes. - default
Lease numberTtl Seconds - Default lease duration for tokens and secrets in seconds
- delegated
Auth string[]Accessors - List of auth accessor IDs that can delegate authentication to this mount
- description string
- Human-friendly description of the mount
- external
Entropy booleanAccess - Enable the secrets engine to access Vault's external entropy source
- force
No booleanCache - If set to true, disables caching
- identity
Token stringKey - The key to use for signing plugin workload identity tokens
- listing
Visibility string - Specifies whether to show this mount in the UI-specific listing endpoint
- local boolean
- Local mount flag that can be explicitly set to true to enforce local mount in HA environment
- max
Lease numberTtl Seconds - Maximum possible lease duration for tokens and secrets in seconds
- namespace string
- The namespace of the target resource.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - options {[key: string]: string}
- Specifies mount type specific options that are passed to the backend
- passthrough
Request string[]Headers - List of headers to allow and pass from the request to the plugin
- path string
- Path where the GCP KMS secrets engine will be mounted.
- plugin
Version string - Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'
- scopes string[]
Set of OAuth scopes to use for GCP API requests. Defaults to
["https://www.googleapis.com/auth/cloudkms"]. Common scopes include:https://www.googleapis.com/auth/cloudkms- Cloud KMS accesshttps://www.googleapis.com/auth/cloud-platform- Full cloud platform access
The following mount-level arguments are also supported (see
vault.Mountfor details):description,defaultLeaseTtlSeconds,maxLeaseTtlSeconds,auditNonHmacRequestKeys,auditNonHmacResponseKeys,listingVisibility,passthroughRequestHeaders,allowedResponseHeaders,allowedManagedKeys,local,sealWrap,externalEntropyAccess.- seal
Wrap boolean - Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
- type string
- Type of the backend, such as 'gcpkms'
- accessor str
- The mount accessor assigned by Vault.
- allowed_
managed_ Sequence[str]keys - List of managed key registry entry names that the mount in question is allowed to access
- allowed_
response_ Sequence[str]headers - List of headers to allow and pass from the plugin to the request
- audit_
non_ Sequence[str]hmac_ request_ keys - Specifies the list of keys that will not be HMAC'd by audit devices in the request data object
- audit_
non_ Sequence[str]hmac_ response_ keys - Specifies the list of keys that will not be HMAC'd by audit devices in the response data object
- credentials_
wo str - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
JSON-encoded GCP service account credentials. Write-only — never stored in Terraform state. Leave this blank (
"") to use Default Application Credentials or instance metadata authentication. Requires Terraform 1.11+. - credentials_
wo_ intversion - Version number for the write-only credentials. Increment this
value to trigger a credential rotation. Changing this value will cause the credentials to be re-sent
to Vault during the next apply. Requires
credentialsWoto also be set. For more info see updating write-only attributes. - default_
lease_ intttl_ seconds - Default lease duration for tokens and secrets in seconds
- delegated_
auth_ Sequence[str]accessors - List of auth accessor IDs that can delegate authentication to this mount
- description str
- Human-friendly description of the mount
- external_
entropy_ boolaccess - Enable the secrets engine to access Vault's external entropy source
- force_
no_ boolcache - If set to true, disables caching
- identity_
token_ strkey - The key to use for signing plugin workload identity tokens
- listing_
visibility str - Specifies whether to show this mount in the UI-specific listing endpoint
- local bool
- Local mount flag that can be explicitly set to true to enforce local mount in HA environment
- max_
lease_ intttl_ seconds - Maximum possible lease duration for tokens and secrets in seconds
- namespace str
- The namespace of the target resource.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - options Mapping[str, str]
- Specifies mount type specific options that are passed to the backend
- passthrough_
request_ Sequence[str]headers - List of headers to allow and pass from the request to the plugin
- path str
- Path where the GCP KMS secrets engine will be mounted.
- plugin_
version str - Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'
- scopes Sequence[str]
Set of OAuth scopes to use for GCP API requests. Defaults to
["https://www.googleapis.com/auth/cloudkms"]. Common scopes include:https://www.googleapis.com/auth/cloudkms- Cloud KMS accesshttps://www.googleapis.com/auth/cloud-platform- Full cloud platform access
The following mount-level arguments are also supported (see
vault.Mountfor details):description,defaultLeaseTtlSeconds,maxLeaseTtlSeconds,auditNonHmacRequestKeys,auditNonHmacResponseKeys,listingVisibility,passthroughRequestHeaders,allowedResponseHeaders,allowedManagedKeys,local,sealWrap,externalEntropyAccess.- seal_
wrap bool - Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
- type str
- Type of the backend, such as 'gcpkms'
- accessor String
- The mount accessor assigned by Vault.
- allowed
Managed List<String>Keys - List of managed key registry entry names that the mount in question is allowed to access
- allowed
Response List<String>Headers - List of headers to allow and pass from the plugin to the request
- audit
Non List<String>Hmac Request Keys - Specifies the list of keys that will not be HMAC'd by audit devices in the request data object
- audit
Non List<String>Hmac Response Keys - Specifies the list of keys that will not be HMAC'd by audit devices in the response data object
- credentials
Wo String - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
JSON-encoded GCP service account credentials. Write-only — never stored in Terraform state. Leave this blank (
"") to use Default Application Credentials or instance metadata authentication. Requires Terraform 1.11+. - credentials
Wo NumberVersion - Version number for the write-only credentials. Increment this
value to trigger a credential rotation. Changing this value will cause the credentials to be re-sent
to Vault during the next apply. Requires
credentialsWoto also be set. For more info see updating write-only attributes. - default
Lease NumberTtl Seconds - Default lease duration for tokens and secrets in seconds
- delegated
Auth List<String>Accessors - List of auth accessor IDs that can delegate authentication to this mount
- description String
- Human-friendly description of the mount
- external
Entropy BooleanAccess - Enable the secrets engine to access Vault's external entropy source
- force
No BooleanCache - If set to true, disables caching
- identity
Token StringKey - The key to use for signing plugin workload identity tokens
- listing
Visibility String - Specifies whether to show this mount in the UI-specific listing endpoint
- local Boolean
- Local mount flag that can be explicitly set to true to enforce local mount in HA environment
- max
Lease NumberTtl Seconds - Maximum possible lease duration for tokens and secrets in seconds
- namespace String
- The namespace of the target resource.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - options Map<String>
- Specifies mount type specific options that are passed to the backend
- passthrough
Request List<String>Headers - List of headers to allow and pass from the request to the plugin
- path String
- Path where the GCP KMS secrets engine will be mounted.
- plugin
Version String - Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'
- scopes List<String>
Set of OAuth scopes to use for GCP API requests. Defaults to
["https://www.googleapis.com/auth/cloudkms"]. Common scopes include:https://www.googleapis.com/auth/cloudkms- Cloud KMS accesshttps://www.googleapis.com/auth/cloud-platform- Full cloud platform access
The following mount-level arguments are also supported (see
vault.Mountfor details):description,defaultLeaseTtlSeconds,maxLeaseTtlSeconds,auditNonHmacRequestKeys,auditNonHmacResponseKeys,listingVisibility,passthroughRequestHeaders,allowedResponseHeaders,allowedManagedKeys,local,sealWrap,externalEntropyAccess.- seal
Wrap Boolean - Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
- type String
- Type of the backend, such as 'gcpkms'
Import
GCP KMS secret backends can be imported using the mount path, e.g.
$ pulumi import vault:gcp/kmsSecretBackend:KmsSecretBackend gcpkms gcpkms
Note: Import populates all mount-level attributes from Vault. The
credentialsWoandcredentialsWoVersionfields will not be populated as they are not returned by the Vault API. You must supply these values in your configuration after import.
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Vault pulumi/pulumi-vault
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
vaultTerraform Provider.
published on Saturday, Aug 15, 2026 by Pulumi