UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

221 lines (220 loc) 11.3 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface IntegrationsClientConfig extends cdktf.TerraformMetaArguments { /** * Indicates if sample integrations should be created along with provisioning. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/integrations_client#create_sample_integrations IntegrationsClient#create_sample_integrations} */ readonly createSampleIntegrations?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/integrations_client#id IntegrationsClient#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; /** * Location in which client needs to be provisioned. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/integrations_client#location IntegrationsClient#location} */ readonly location: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/integrations_client#project IntegrationsClient#project} */ readonly project?: string; /** * User input run-as service account, if empty, will bring up a new default service account. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/integrations_client#run_as_service_account IntegrationsClient#run_as_service_account} */ readonly runAsServiceAccount?: string; /** * cloud_kms_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/integrations_client#cloud_kms_config IntegrationsClient#cloud_kms_config} */ readonly cloudKmsConfig?: IntegrationsClientCloudKmsConfig; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/integrations_client#timeouts IntegrationsClient#timeouts} */ readonly timeouts?: IntegrationsClientTimeouts; } export interface IntegrationsClientCloudKmsConfig { /** * A Cloud KMS key is a named object containing one or more key versions, along * with metadata for the key. A key exists on exactly one key ring tied to a * specific location. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/integrations_client#key IntegrationsClient#key} */ readonly key: string; /** * Each version of a key contains key material used for encryption or signing. * A key's version is represented by an integer, starting at 1. To decrypt data * or verify a signature, you must use the same key version that was used to * encrypt or sign the data. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/integrations_client#key_version IntegrationsClient#key_version} */ readonly keyVersion?: string; /** * Location name of the key ring, e.g. "us-west1". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/integrations_client#kms_location IntegrationsClient#kms_location} */ readonly kmsLocation: string; /** * The Google Cloud project id of the project where the kms key stored. If empty, * the kms key is stored at the same project as customer's project and ecrypted * with CMEK, otherwise, the kms key is stored in the tenant project and * encrypted with GMEK. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/integrations_client#kms_project_id IntegrationsClient#kms_project_id} */ readonly kmsProjectId?: string; /** * A key ring organizes keys in a specific Google Cloud location and allows you to * manage access control on groups of keys. A key ring's name does not need to be * unique across a Google Cloud project, but must be unique within a given location. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/integrations_client#kms_ring IntegrationsClient#kms_ring} */ readonly kmsRing: string; } export declare function integrationsClientCloudKmsConfigToTerraform(struct?: IntegrationsClientCloudKmsConfigOutputReference | IntegrationsClientCloudKmsConfig): any; export declare function integrationsClientCloudKmsConfigToHclTerraform(struct?: IntegrationsClientCloudKmsConfigOutputReference | IntegrationsClientCloudKmsConfig): any; export declare class IntegrationsClientCloudKmsConfigOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): IntegrationsClientCloudKmsConfig | undefined; set internalValue(value: IntegrationsClientCloudKmsConfig | undefined); private _key?; get key(): string; set key(value: string); get keyInput(): string | undefined; private _keyVersion?; get keyVersion(): string; set keyVersion(value: string); resetKeyVersion(): void; get keyVersionInput(): string | undefined; private _kmsLocation?; get kmsLocation(): string; set kmsLocation(value: string); get kmsLocationInput(): string | undefined; private _kmsProjectId?; get kmsProjectId(): string; set kmsProjectId(value: string); resetKmsProjectId(): void; get kmsProjectIdInput(): string | undefined; private _kmsRing?; get kmsRing(): string; set kmsRing(value: string); get kmsRingInput(): string | undefined; } export interface IntegrationsClientTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/integrations_client#create IntegrationsClient#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/integrations_client#delete IntegrationsClient#delete} */ readonly delete?: string; } export declare function integrationsClientTimeoutsToTerraform(struct?: IntegrationsClientTimeouts | cdktf.IResolvable): any; export declare function integrationsClientTimeoutsToHclTerraform(struct?: IntegrationsClientTimeouts | cdktf.IResolvable): any; export declare class IntegrationsClientTimeoutsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): IntegrationsClientTimeouts | cdktf.IResolvable | undefined; set internalValue(value: IntegrationsClientTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string | undefined; private _delete?; get delete(): string; set delete(value: string); resetDelete(): void; get deleteInput(): string | undefined; } /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/integrations_client google_integrations_client} */ export declare class IntegrationsClient extends cdktf.TerraformResource { static readonly tfResourceType = "google_integrations_client"; /** * Generates CDKTF code for importing a IntegrationsClient 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 IntegrationsClient to import * @param importFromId The id of the existing IntegrationsClient that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/integrations_client#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the IntegrationsClient 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/integrations_client google_integrations_client} 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 IntegrationsClientConfig */ constructor(scope: Construct, id: string, config: IntegrationsClientConfig); private _createSampleIntegrations?; get createSampleIntegrations(): boolean | cdktf.IResolvable; set createSampleIntegrations(value: boolean | cdktf.IResolvable); resetCreateSampleIntegrations(): void; get createSampleIntegrationsInput(): boolean | cdktf.IResolvable | undefined; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _location?; get location(): string; set location(value: string); get locationInput(): string | undefined; private _project?; get project(): string; set project(value: string); resetProject(): void; get projectInput(): string | undefined; private _runAsServiceAccount?; get runAsServiceAccount(): string; set runAsServiceAccount(value: string); resetRunAsServiceAccount(): void; get runAsServiceAccountInput(): string | undefined; private _cloudKmsConfig; get cloudKmsConfig(): IntegrationsClientCloudKmsConfigOutputReference; putCloudKmsConfig(value: IntegrationsClientCloudKmsConfig): void; resetCloudKmsConfig(): void; get cloudKmsConfigInput(): IntegrationsClientCloudKmsConfig | undefined; private _timeouts; get timeouts(): IntegrationsClientTimeoutsOutputReference; putTimeouts(value: IntegrationsClientTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | IntegrationsClientTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }