@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
221 lines (220 loc) • 11.3 kB
TypeScript
/**
* 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;
};
}