@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
296 lines (295 loc) • 16.5 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface BigtableAppProfileConfig extends cdktf.TerraformMetaArguments {
/**
* The unique name of the app profile in the form '[_a-zA-Z0-9][-_.a-zA-Z0-9]*'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigtable_app_profile#app_profile_id BigtableAppProfile#app_profile_id}
*/
readonly appProfileId: string;
/**
* Long form description of the use case for this app profile.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigtable_app_profile#description BigtableAppProfile#description}
*/
readonly description?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigtable_app_profile#id BigtableAppProfile#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;
/**
* If true, ignore safety checks when deleting/updating the app profile.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigtable_app_profile#ignore_warnings BigtableAppProfile#ignore_warnings}
*/
readonly ignoreWarnings?: boolean | cdktf.IResolvable;
/**
* The name of the instance to create the app profile within.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigtable_app_profile#instance BigtableAppProfile#instance}
*/
readonly instance?: string;
/**
* The set of clusters to route to. The order is ignored; clusters will be tried in order of distance. If left empty, all clusters are eligible.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigtable_app_profile#multi_cluster_routing_cluster_ids BigtableAppProfile#multi_cluster_routing_cluster_ids}
*/
readonly multiClusterRoutingClusterIds?: string[];
/**
* If true, read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available
* in the event of transient errors or delays. Clusters in a region are considered equidistant. Choosing this option sacrifices read-your-writes
* consistency to improve availability.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigtable_app_profile#multi_cluster_routing_use_any BigtableAppProfile#multi_cluster_routing_use_any}
*/
readonly multiClusterRoutingUseAny?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigtable_app_profile#project BigtableAppProfile#project}
*/
readonly project?: string;
/**
* data_boost_isolation_read_only block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigtable_app_profile#data_boost_isolation_read_only BigtableAppProfile#data_boost_isolation_read_only}
*/
readonly dataBoostIsolationReadOnly?: BigtableAppProfileDataBoostIsolationReadOnly;
/**
* single_cluster_routing block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigtable_app_profile#single_cluster_routing BigtableAppProfile#single_cluster_routing}
*/
readonly singleClusterRouting?: BigtableAppProfileSingleClusterRouting;
/**
* standard_isolation block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigtable_app_profile#standard_isolation BigtableAppProfile#standard_isolation}
*/
readonly standardIsolation?: BigtableAppProfileStandardIsolation;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigtable_app_profile#timeouts BigtableAppProfile#timeouts}
*/
readonly timeouts?: BigtableAppProfileTimeouts;
}
export interface BigtableAppProfileDataBoostIsolationReadOnly {
/**
* The Compute Billing Owner for this Data Boost App Profile. Possible values: ["HOST_PAYS"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigtable_app_profile#compute_billing_owner BigtableAppProfile#compute_billing_owner}
*/
readonly computeBillingOwner: string;
}
export declare function bigtableAppProfileDataBoostIsolationReadOnlyToTerraform(struct?: BigtableAppProfileDataBoostIsolationReadOnlyOutputReference | BigtableAppProfileDataBoostIsolationReadOnly): any;
export declare function bigtableAppProfileDataBoostIsolationReadOnlyToHclTerraform(struct?: BigtableAppProfileDataBoostIsolationReadOnlyOutputReference | BigtableAppProfileDataBoostIsolationReadOnly): any;
export declare class BigtableAppProfileDataBoostIsolationReadOnlyOutputReference 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(): BigtableAppProfileDataBoostIsolationReadOnly | undefined;
set internalValue(value: BigtableAppProfileDataBoostIsolationReadOnly | undefined);
private _computeBillingOwner?;
get computeBillingOwner(): string;
set computeBillingOwner(value: string);
get computeBillingOwnerInput(): string | undefined;
}
export interface BigtableAppProfileSingleClusterRouting {
/**
* If true, CheckAndMutateRow and ReadModifyWriteRow requests are allowed by this app profile.
* It is unsafe to send these requests to the same table/row/column in multiple clusters.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigtable_app_profile#allow_transactional_writes BigtableAppProfile#allow_transactional_writes}
*/
readonly allowTransactionalWrites?: boolean | cdktf.IResolvable;
/**
* The cluster to which read/write requests should be routed.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigtable_app_profile#cluster_id BigtableAppProfile#cluster_id}
*/
readonly clusterId: string;
}
export declare function bigtableAppProfileSingleClusterRoutingToTerraform(struct?: BigtableAppProfileSingleClusterRoutingOutputReference | BigtableAppProfileSingleClusterRouting): any;
export declare function bigtableAppProfileSingleClusterRoutingToHclTerraform(struct?: BigtableAppProfileSingleClusterRoutingOutputReference | BigtableAppProfileSingleClusterRouting): any;
export declare class BigtableAppProfileSingleClusterRoutingOutputReference 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(): BigtableAppProfileSingleClusterRouting | undefined;
set internalValue(value: BigtableAppProfileSingleClusterRouting | undefined);
private _allowTransactionalWrites?;
get allowTransactionalWrites(): boolean | cdktf.IResolvable;
set allowTransactionalWrites(value: boolean | cdktf.IResolvable);
resetAllowTransactionalWrites(): void;
get allowTransactionalWritesInput(): boolean | cdktf.IResolvable | undefined;
private _clusterId?;
get clusterId(): string;
set clusterId(value: string);
get clusterIdInput(): string | undefined;
}
export interface BigtableAppProfileStandardIsolation {
/**
* The priority of requests sent using this app profile. Possible values: ["PRIORITY_LOW", "PRIORITY_MEDIUM", "PRIORITY_HIGH"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigtable_app_profile#priority BigtableAppProfile#priority}
*/
readonly priority: string;
}
export declare function bigtableAppProfileStandardIsolationToTerraform(struct?: BigtableAppProfileStandardIsolationOutputReference | BigtableAppProfileStandardIsolation): any;
export declare function bigtableAppProfileStandardIsolationToHclTerraform(struct?: BigtableAppProfileStandardIsolationOutputReference | BigtableAppProfileStandardIsolation): any;
export declare class BigtableAppProfileStandardIsolationOutputReference 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(): BigtableAppProfileStandardIsolation | undefined;
set internalValue(value: BigtableAppProfileStandardIsolation | undefined);
private _priority?;
get priority(): string;
set priority(value: string);
get priorityInput(): string | undefined;
}
export interface BigtableAppProfileTimeouts {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigtable_app_profile#create BigtableAppProfile#create}
*/
readonly create?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigtable_app_profile#delete BigtableAppProfile#delete}
*/
readonly delete?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigtable_app_profile#update BigtableAppProfile#update}
*/
readonly update?: string;
}
export declare function bigtableAppProfileTimeoutsToTerraform(struct?: BigtableAppProfileTimeouts | cdktf.IResolvable): any;
export declare function bigtableAppProfileTimeoutsToHclTerraform(struct?: BigtableAppProfileTimeouts | cdktf.IResolvable): any;
export declare class BigtableAppProfileTimeoutsOutputReference 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(): BigtableAppProfileTimeouts | cdktf.IResolvable | undefined;
set internalValue(value: BigtableAppProfileTimeouts | 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;
private _update?;
get update(): string;
set update(value: string);
resetUpdate(): void;
get updateInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigtable_app_profile google_bigtable_app_profile}
*/
export declare class BigtableAppProfile extends cdktf.TerraformResource {
static readonly tfResourceType = "google_bigtable_app_profile";
/**
* Generates CDKTF code for importing a BigtableAppProfile 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 BigtableAppProfile to import
* @param importFromId The id of the existing BigtableAppProfile that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigtable_app_profile#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the BigtableAppProfile 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.4.0/docs/resources/bigtable_app_profile google_bigtable_app_profile} 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 BigtableAppProfileConfig
*/
constructor(scope: Construct, id: string, config: BigtableAppProfileConfig);
private _appProfileId?;
get appProfileId(): string;
set appProfileId(value: string);
get appProfileIdInput(): string | undefined;
private _description?;
get description(): string;
set description(value: string);
resetDescription(): void;
get descriptionInput(): string | undefined;
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
private _ignoreWarnings?;
get ignoreWarnings(): boolean | cdktf.IResolvable;
set ignoreWarnings(value: boolean | cdktf.IResolvable);
resetIgnoreWarnings(): void;
get ignoreWarningsInput(): boolean | cdktf.IResolvable | undefined;
private _instance?;
get instance(): string;
set instance(value: string);
resetInstance(): void;
get instanceInput(): string | undefined;
private _multiClusterRoutingClusterIds?;
get multiClusterRoutingClusterIds(): string[];
set multiClusterRoutingClusterIds(value: string[]);
resetMultiClusterRoutingClusterIds(): void;
get multiClusterRoutingClusterIdsInput(): string[] | undefined;
private _multiClusterRoutingUseAny?;
get multiClusterRoutingUseAny(): boolean | cdktf.IResolvable;
set multiClusterRoutingUseAny(value: boolean | cdktf.IResolvable);
resetMultiClusterRoutingUseAny(): void;
get multiClusterRoutingUseAnyInput(): boolean | cdktf.IResolvable | undefined;
get name(): string;
private _project?;
get project(): string;
set project(value: string);
resetProject(): void;
get projectInput(): string | undefined;
private _dataBoostIsolationReadOnly;
get dataBoostIsolationReadOnly(): BigtableAppProfileDataBoostIsolationReadOnlyOutputReference;
putDataBoostIsolationReadOnly(value: BigtableAppProfileDataBoostIsolationReadOnly): void;
resetDataBoostIsolationReadOnly(): void;
get dataBoostIsolationReadOnlyInput(): BigtableAppProfileDataBoostIsolationReadOnly | undefined;
private _singleClusterRouting;
get singleClusterRouting(): BigtableAppProfileSingleClusterRoutingOutputReference;
putSingleClusterRouting(value: BigtableAppProfileSingleClusterRouting): void;
resetSingleClusterRouting(): void;
get singleClusterRoutingInput(): BigtableAppProfileSingleClusterRouting | undefined;
private _standardIsolation;
get standardIsolation(): BigtableAppProfileStandardIsolationOutputReference;
putStandardIsolation(value: BigtableAppProfileStandardIsolation): void;
resetStandardIsolation(): void;
get standardIsolationInput(): BigtableAppProfileStandardIsolation | undefined;
private _timeouts;
get timeouts(): BigtableAppProfileTimeoutsOutputReference;
putTimeouts(value: BigtableAppProfileTimeouts): void;
resetTimeouts(): void;
get timeoutsInput(): cdktf.IResolvable | BigtableAppProfileTimeouts | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}