Kmsconfig

class Kmsconfig : KotlinCustomResource

NetApp Volumes always encrypts your data at rest using volume-specific keys. A CMEK policy (customer-managed encryption key) warps such volume-specific keys in a key stored in Cloud Key Management Service (KMS). To get more information about kmsconfig, see:

Example Usage

Kms Config Create

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const kmsConfig = new gcp.netapp.Kmsconfig("kmsConfig", {
name: "kms-test",
description: "this is a test description",
cryptoKeyName: "crypto-name",
location: "us-central1",
});
import pulumi
import pulumi_gcp as gcp
kms_config = gcp.netapp.Kmsconfig("kmsConfig",
name="kms-test",
description="this is a test description",
crypto_key_name="crypto-name",
location="us-central1")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var kmsConfig = new Gcp.Netapp.Kmsconfig("kmsConfig", new()
{
Name = "kms-test",
Description = "this is a test description",
CryptoKeyName = "crypto-name",
Location = "us-central1",
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/netapp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := netapp.NewKmsconfig(ctx, "kmsConfig", &netapp.KmsconfigArgs{
Name: pulumi.String("kms-test"),
Description: pulumi.String("this is a test description"),
CryptoKeyName: pulumi.String("crypto-name"),
Location: pulumi.String("us-central1"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.netapp.Kmsconfig;
import com.pulumi.gcp.netapp.KmsconfigArgs;
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 kmsConfig = new Kmsconfig("kmsConfig", KmsconfigArgs.builder()
.name("kms-test")
.description("this is a test description")
.cryptoKeyName("crypto-name")
.location("us-central1")
.build());
}
}
resources:
kmsConfig:
type: gcp:netapp:Kmsconfig
properties:
name: kms-test
description: this is a test description
cryptoKeyName: crypto-name
location: us-central1

Import

kmsconfig can be imported using any of these accepted formats:

  • projects/{{project}}/locations/{{location}}/kmsConfigs/{{name}}

  • {{project}}/{{location}}/{{name}}

  • {{location}}/{{name}} When using the pulumi import command, kmsconfig can be imported using one of the formats above. For example:

$ pulumi import gcp:netapp/kmsconfig:Kmsconfig default projects/{{project}}/locations/{{location}}/kmsConfigs/{{name}}
$ pulumi import gcp:netapp/kmsconfig:Kmsconfig default {{project}}/{{location}}/{{name}}
$ pulumi import gcp:netapp/kmsconfig:Kmsconfig default {{location}}/{{name}}

Properties

Link copied to clipboard
val cryptoKeyName: Output<String>

Resource name of the KMS key to use. Only regional keys are supported. Format: projects/{{project}}/locations/{{location}}/keyRings/{{key_ring}}/cryptoKeys/{{key}}.

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

Description for the CMEK policy.

Link copied to clipboard

All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val instructions: Output<String>

Access to the key needs to be granted. The instructions contain gcloud commands to run to grant access. To make the policy work, a CMEK policy check is required, which verifies key access.

Link copied to clipboard
val labels: Output<Map<String, String>>?

Labels as key value pairs. Example: { "owner": "Bob", "department": "finance", "purpose": "testing" }. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

Link copied to clipboard
val location: Output<String>

Name of the policy location. CMEK policies apply to the whole region.

Link copied to clipboard
val name: Output<String>

Name of the CMEK policy.

Link copied to clipboard
val project: Output<String>

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
val pulumiLabels: Output<Map<String, String>>

The combination of labels configured directly on the resource and default labels configured on the provider.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val serviceAccount: Output<String>

The Service account which needs to have access to the provided KMS key.

Link copied to clipboard
val urn: Output<String>