@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
123 lines (122 loc) • 6.24 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface ServiceAccountKeyConfig extends cdktf.TerraformMetaArguments {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/service_account_key#id ServiceAccountKey#id}
*
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
*/
readonly id?: string;
/**
* Arbitrary map of values that, when changed, will trigger recreation of resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/service_account_key#keepers ServiceAccountKey#keepers}
*/
readonly keepers?: {
[key: string]: string;
};
/**
* The algorithm used to generate the key, used only on create. KEY_ALG_RSA_2048 is the default algorithm. Valid values are: "KEY_ALG_RSA_1024", "KEY_ALG_RSA_2048".
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/service_account_key#key_algorithm ServiceAccountKey#key_algorithm}
*/
readonly keyAlgorithm?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/service_account_key#private_key_type ServiceAccountKey#private_key_type}
*/
readonly privateKeyType?: string;
/**
* A field that allows clients to upload their own public key. If set, use this public key data to create a service account key for given service account. Please note, the expected format for this field is a base64 encoded X509_PEM.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/service_account_key#public_key_data ServiceAccountKey#public_key_data}
*/
readonly publicKeyData?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/service_account_key#public_key_type ServiceAccountKey#public_key_type}
*/
readonly publicKeyType?: string;
/**
* The ID of the parent service account of the key. This can be a string in the format {ACCOUNT} or projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}, where {ACCOUNT} is the email address or unique id of the service account. If the {ACCOUNT} syntax is used, the project will be inferred from the provider's configuration.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/service_account_key#service_account_id ServiceAccountKey#service_account_id}
*/
readonly serviceAccountId: string;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/service_account_key google_service_account_key}
*/
export declare class ServiceAccountKey extends cdktf.TerraformResource {
static readonly tfResourceType = "google_service_account_key";
/**
* Generates CDKTF code for importing a ServiceAccountKey resource upon running "cdktf plan <stack-name>"
* @param scope The scope in which to define this construct
* @param importToId The construct id used in the generated config for the ServiceAccountKey to import
* @param importFromId The id of the existing ServiceAccountKey that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/service_account_key#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the ServiceAccountKey to import is found
*/
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/service_account_key google_service_account_key} Resource
*
* @param scope The scope in which to define this construct
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
* @param options ServiceAccountKeyConfig
*/
constructor(scope: Construct, id: string, config: ServiceAccountKeyConfig);
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
private _keepers?;
get keepers(): {
[key: string]: string;
};
set keepers(value: {
[key: string]: string;
});
resetKeepers(): void;
get keepersInput(): {
[key: string]: string;
} | undefined;
private _keyAlgorithm?;
get keyAlgorithm(): string;
set keyAlgorithm(value: string);
resetKeyAlgorithm(): void;
get keyAlgorithmInput(): string | undefined;
get name(): string;
get privateKey(): string;
private _privateKeyType?;
get privateKeyType(): string;
set privateKeyType(value: string);
resetPrivateKeyType(): void;
get privateKeyTypeInput(): string | undefined;
get publicKey(): string;
private _publicKeyData?;
get publicKeyData(): string;
set publicKeyData(value: string);
resetPublicKeyData(): void;
get publicKeyDataInput(): string | undefined;
private _publicKeyType?;
get publicKeyType(): string;
set publicKeyType(value: string);
resetPublicKeyType(): void;
get publicKeyTypeInput(): string | undefined;
private _serviceAccountId?;
get serviceAccountId(): string;
set serviceAccountId(value: string);
get serviceAccountIdInput(): string | undefined;
get validAfter(): string;
get validBefore(): string;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}