import * as pulumi from "@pulumi/pulumi"; import * as enums from "../../types/enums"; /** * Creates a ServiceAccountKey. * 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; /** * The key status. */ readonly disabled: pulumi.Output; /** * Specifies the algorithm (and possibly key size) for the key. */ readonly keyAlgorithm: pulumi.Output; /** * The key origin. */ readonly keyOrigin: pulumi.Output; /** * The key type. */ readonly keyType: pulumi.Output; /** * The resource name of the service account key in the following format `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. */ readonly name: pulumi.Output; /** * The private key data. Only provided in `CreateServiceAccountKey` responses. Make sure to keep the private key data secure because it allows for the assertion of the service account identity. When base64 decoded, the private key data can be used to authenticate with Google API client libraries and with gcloud auth activate-service-account. */ readonly privateKeyData: pulumi.Output; /** * The output format for the private key. Only provided in `CreateServiceAccountKey` responses, not in `GetServiceAccountKey` or `ListServiceAccountKey` responses. Google never exposes system-managed private keys, and never retains user-managed private keys. */ readonly privateKeyType: pulumi.Output; readonly project: pulumi.Output; /** * The public key data. Only provided in `GetServiceAccountKey` responses. */ readonly publicKeyData: pulumi.Output; readonly serviceAccountId: pulumi.Output; /** * The key can be used after this timestamp. */ readonly validAfterTime: pulumi.Output; /** * The key can be used before this timestamp. For system-managed key pairs, this timestamp is the end time for the private key signing operation. The public key could still be used for verification for a few hours after this time. */ readonly validBeforeTime: 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 { /** * Which type of key and algorithm to use for the key. The default is currently a 2K RSA key. However this may change in the future. */ keyAlgorithm?: pulumi.Input; /** * The output format of the private key. The default value is `TYPE_GOOGLE_CREDENTIALS_FILE`, which is the Google Credentials File format. */ privateKeyType?: pulumi.Input; project?: pulumi.Input; serviceAccountId: pulumi.Input; }