import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; /** * Creates a new API key. NOTE: Key is a global resource; hence the only supported value for location is `global`. * Auto-naming is currently not supported for this resource. */ export declare class Key extends pulumi.CustomResource { /** * Get an existing Key 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 opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Key; /** * Returns true if the given object is an instance of Key. 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 Key; /** * Annotations is an unstructured key-value map stored with a policy that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. */ readonly annotations: pulumi.Output<{ [key: string]: string; }>; /** * A timestamp identifying the time this key was originally created. */ readonly createTime: pulumi.Output; /** * A timestamp when this key was deleted. If the resource is not deleted, this must be empty. */ readonly deleteTime: pulumi.Output; /** * Human-readable display name of this key that you can modify. The maximum length is 63 characters. */ readonly displayName: pulumi.Output; /** * A checksum computed by the server based on the current value of the Key resource. This may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. See https://google.aip.dev/154. */ readonly etag: pulumi.Output; /** * User specified key id (optional). If specified, it will become the final component of the key resource name. The id must be unique within the project, must conform with RFC-1034, is restricted to lower-cased letters, and has a maximum length of 63 characters. In another word, the id must match the regular expression: `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. The id must NOT be a UUID-like string. */ readonly keyId: pulumi.Output; /** * An encrypted and signed value held by this key. This field can be accessed only through the `GetKeyString` method. */ readonly keyString: pulumi.Output; readonly location: pulumi.Output; /** * The resource name of the key. The `name` has the form: `projects//locations/global/keys/`. For example: `projects/123456867718/locations/global/keys/b7ff1f9f-8275-410a-94dd-3855ee9b5dd2` NOTE: Key is a global resource; hence the only supported value for location is `global`. */ readonly name: pulumi.Output; readonly project: pulumi.Output; /** * Key restrictions. */ readonly restrictions: pulumi.Output; /** * Unique id in UUID4 format. */ readonly uid: pulumi.Output; /** * A timestamp identifying the time this key was last updated. */ readonly updateTime: pulumi.Output; /** * Create a Key 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?: KeyArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Key resource. */ export interface KeyArgs { /** * Annotations is an unstructured key-value map stored with a policy that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Human-readable display name of this key that you can modify. The maximum length is 63 characters. */ displayName?: pulumi.Input; /** * User specified key id (optional). If specified, it will become the final component of the key resource name. The id must be unique within the project, must conform with RFC-1034, is restricted to lower-cased letters, and has a maximum length of 63 characters. In another word, the id must match the regular expression: `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. The id must NOT be a UUID-like string. */ keyId?: pulumi.Input; location?: pulumi.Input; project?: pulumi.Input; /** * Key restrictions. */ restrictions?: pulumi.Input; }