import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Creates and manages [customer managed keys](https://aiven.io/docs/platform/howto/bring-your-own-key) (CMKs) for encrypting service data. Use your own CMKs from your cloud provider's key management service (KMS) to encrypt data for all services in an Aiven project. This gives you complete control over your encryption keys, meaning you can independently manage the key lifecycle and access policies. * * > **Warning** * If you remove a CMK, the services linked to the key will stop working. Migrate the services to another CMK or an Aiven-managed key before removing the CMK. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aiven from "@pulumi/aiven"; * * const example = new aiven.Cmk("example", { * project: "my-project", * cmkProvider: "aws", * resource: "my-resource", * defaultCmk: false, * }); * ``` * * ## Import * * ```sh * $ pulumi import aiven:index/cmk:Cmk example PROJECT/CMK_ID * ``` */ export declare class Cmk extends pulumi.CustomResource { /** * Get an existing Cmk resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: CmkState, opts?: pulumi.CustomResourceOptions): Cmk; /** * Returns true if the given object is an instance of Cmk. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Cmk; /** * Customer Managed Key identifier (CMK ID). */ readonly cmkId: pulumi.Output; /** * The cloud provider hosting the key management service (KMS). The possible values are `aws`, `azure`, `gcp` and `oci`. Changing this property forces recreation of the resource. */ readonly cmkProvider: pulumi.Output; /** * Created At. */ readonly createdAt: pulumi.Output; /** * Mark the created CMK as default for all newly created services. */ readonly defaultCmk: pulumi.Output; /** * Project name. Changing this property forces recreation of the resource. */ readonly project: pulumi.Output; /** * The unique identifier for the CMK in the cloud provider's KMS. In AWS, this is the Key ARN; in Google Cloud the Resource Name; and in Oracle Cloud the Key OCID. Length must be between `1` and `512`. Changing this property forces recreation of the resource. */ readonly resource: pulumi.Output; /** * Status. The possible values are `current`, `deleted` and `old`. */ readonly status: pulumi.Output; readonly timeouts: pulumi.Output; /** * Updated At. */ readonly updatedAt: pulumi.Output; /** * Create a Cmk resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: CmkArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Cmk resources. */ export interface CmkState { /** * Customer Managed Key identifier (CMK ID). */ cmkId?: pulumi.Input; /** * The cloud provider hosting the key management service (KMS). The possible values are `aws`, `azure`, `gcp` and `oci`. Changing this property forces recreation of the resource. */ cmkProvider?: pulumi.Input; /** * Created At. */ createdAt?: pulumi.Input; /** * Mark the created CMK as default for all newly created services. */ defaultCmk?: pulumi.Input; /** * Project name. Changing this property forces recreation of the resource. */ project?: pulumi.Input; /** * The unique identifier for the CMK in the cloud provider's KMS. In AWS, this is the Key ARN; in Google Cloud the Resource Name; and in Oracle Cloud the Key OCID. Length must be between `1` and `512`. Changing this property forces recreation of the resource. */ resource?: pulumi.Input; /** * Status. The possible values are `current`, `deleted` and `old`. */ status?: pulumi.Input; timeouts?: pulumi.Input; /** * Updated At. */ updatedAt?: pulumi.Input; } /** * The set of arguments for constructing a Cmk resource. */ export interface CmkArgs { /** * The cloud provider hosting the key management service (KMS). The possible values are `aws`, `azure`, `gcp` and `oci`. Changing this property forces recreation of the resource. */ cmkProvider: pulumi.Input; /** * Mark the created CMK as default for all newly created services. */ defaultCmk?: pulumi.Input; /** * Project name. Changing this property forces recreation of the resource. */ project: pulumi.Input; /** * The unique identifier for the CMK in the cloud provider's KMS. In AWS, this is the Key ARN; in Google Cloud the Resource Name; and in Oracle Cloud the Key OCID. Length must be between `1` and `512`. Changing this property forces recreation of the resource. */ resource: pulumi.Input; timeouts?: pulumi.Input; } //# sourceMappingURL=cmk.d.ts.map