@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
704 lines (703 loc) • 37.3 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface RedisClusterConfig extends cdktf.TerraformMetaArguments {
/**
* Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster. Default value: "AUTH_MODE_DISABLED" Possible values: ["AUTH_MODE_UNSPECIFIED", "AUTH_MODE_IAM_AUTH", "AUTH_MODE_DISABLED"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#authorization_mode RedisCluster#authorization_mode}
*/
readonly authorizationMode?: string;
/**
* Optional. Indicates if the cluster is deletion protected or not.
* If the value if set to true, any delete cluster operation will fail.
* Default value is true.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#deletion_protection_enabled RedisCluster#deletion_protection_enabled}
*/
readonly deletionProtectionEnabled?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#id RedisCluster#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;
/**
* Unique name of the resource in this scope including project and location using the form:
* projects/{projectId}/locations/{locationId}/clusters/{clusterId}
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#name RedisCluster#name}
*/
readonly name?: string;
/**
* The nodeType for the Redis cluster.
* If not provided, REDIS_HIGHMEM_MEDIUM will be used as default Possible values: ["REDIS_SHARED_CORE_NANO", "REDIS_HIGHMEM_MEDIUM", "REDIS_HIGHMEM_XLARGE", "REDIS_STANDARD_SMALL"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#node_type RedisCluster#node_type}
*/
readonly nodeType?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#project RedisCluster#project}
*/
readonly project?: string;
/**
* Configure Redis Cluster behavior using a subset of native Redis configuration parameters.
* Please check Memorystore documentation for the list of supported parameters:
* https://cloud.google.com/memorystore/docs/cluster/supported-instance-configurations
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#redis_configs RedisCluster#redis_configs}
*/
readonly redisConfigs?: {
[key: string]: string;
};
/**
* The name of the region of the Redis cluster.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#region RedisCluster#region}
*/
readonly region?: string;
/**
* Optional. The number of replica nodes per shard.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#replica_count RedisCluster#replica_count}
*/
readonly replicaCount?: number;
/**
* Required. Number of shards for the Redis cluster.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#shard_count RedisCluster#shard_count}
*/
readonly shardCount: number;
/**
* Optional. The in-transit encryption for the Redis cluster.
* If not provided, encryption is disabled for the cluster. Default value: "TRANSIT_ENCRYPTION_MODE_DISABLED" Possible values: ["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED", "TRANSIT_ENCRYPTION_MODE_DISABLED", "TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#transit_encryption_mode RedisCluster#transit_encryption_mode}
*/
readonly transitEncryptionMode?: string;
/**
* maintenance_policy block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#maintenance_policy RedisCluster#maintenance_policy}
*/
readonly maintenancePolicy?: RedisClusterMaintenancePolicy;
/**
* psc_configs block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#psc_configs RedisCluster#psc_configs}
*/
readonly pscConfigs: RedisClusterPscConfigs[] | cdktf.IResolvable;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#timeouts RedisCluster#timeouts}
*/
readonly timeouts?: RedisClusterTimeouts;
/**
* zone_distribution_config block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#zone_distribution_config RedisCluster#zone_distribution_config}
*/
readonly zoneDistributionConfig?: RedisClusterZoneDistributionConfig;
}
export interface RedisClusterDiscoveryEndpointsPscConfig {
}
export declare function redisClusterDiscoveryEndpointsPscConfigToTerraform(struct?: RedisClusterDiscoveryEndpointsPscConfig): any;
export declare function redisClusterDiscoveryEndpointsPscConfigToHclTerraform(struct?: RedisClusterDiscoveryEndpointsPscConfig): any;
export declare class RedisClusterDiscoveryEndpointsPscConfigOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): RedisClusterDiscoveryEndpointsPscConfig | undefined;
set internalValue(value: RedisClusterDiscoveryEndpointsPscConfig | undefined);
get network(): string;
}
export declare class RedisClusterDiscoveryEndpointsPscConfigList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): RedisClusterDiscoveryEndpointsPscConfigOutputReference;
}
export interface RedisClusterDiscoveryEndpoints {
}
export declare function redisClusterDiscoveryEndpointsToTerraform(struct?: RedisClusterDiscoveryEndpoints): any;
export declare function redisClusterDiscoveryEndpointsToHclTerraform(struct?: RedisClusterDiscoveryEndpoints): any;
export declare class RedisClusterDiscoveryEndpointsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): RedisClusterDiscoveryEndpoints | undefined;
set internalValue(value: RedisClusterDiscoveryEndpoints | undefined);
get address(): string;
get port(): number;
private _pscConfig;
get pscConfig(): RedisClusterDiscoveryEndpointsPscConfigList;
}
export declare class RedisClusterDiscoveryEndpointsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): RedisClusterDiscoveryEndpointsOutputReference;
}
export interface RedisClusterMaintenanceSchedule {
}
export declare function redisClusterMaintenanceScheduleToTerraform(struct?: RedisClusterMaintenanceSchedule): any;
export declare function redisClusterMaintenanceScheduleToHclTerraform(struct?: RedisClusterMaintenanceSchedule): any;
export declare class RedisClusterMaintenanceScheduleOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): RedisClusterMaintenanceSchedule | undefined;
set internalValue(value: RedisClusterMaintenanceSchedule | undefined);
get endTime(): string;
get scheduleDeadlineTime(): string;
get startTime(): string;
}
export declare class RedisClusterMaintenanceScheduleList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): RedisClusterMaintenanceScheduleOutputReference;
}
export interface RedisClusterPscConnections {
}
export declare function redisClusterPscConnectionsToTerraform(struct?: RedisClusterPscConnections): any;
export declare function redisClusterPscConnectionsToHclTerraform(struct?: RedisClusterPscConnections): any;
export declare class RedisClusterPscConnectionsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): RedisClusterPscConnections | undefined;
set internalValue(value: RedisClusterPscConnections | undefined);
get address(): string;
get forwardingRule(): string;
get network(): string;
get projectId(): string;
get pscConnectionId(): string;
}
export declare class RedisClusterPscConnectionsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): RedisClusterPscConnectionsOutputReference;
}
export interface RedisClusterStateInfoUpdateInfo {
}
export declare function redisClusterStateInfoUpdateInfoToTerraform(struct?: RedisClusterStateInfoUpdateInfo): any;
export declare function redisClusterStateInfoUpdateInfoToHclTerraform(struct?: RedisClusterStateInfoUpdateInfo): any;
export declare class RedisClusterStateInfoUpdateInfoOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): RedisClusterStateInfoUpdateInfo | undefined;
set internalValue(value: RedisClusterStateInfoUpdateInfo | undefined);
get targetReplicaCount(): number;
get targetShardCount(): number;
}
export declare class RedisClusterStateInfoUpdateInfoList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): RedisClusterStateInfoUpdateInfoOutputReference;
}
export interface RedisClusterStateInfo {
}
export declare function redisClusterStateInfoToTerraform(struct?: RedisClusterStateInfo): any;
export declare function redisClusterStateInfoToHclTerraform(struct?: RedisClusterStateInfo): any;
export declare class RedisClusterStateInfoOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): RedisClusterStateInfo | undefined;
set internalValue(value: RedisClusterStateInfo | undefined);
private _updateInfo;
get updateInfo(): RedisClusterStateInfoUpdateInfoList;
}
export declare class RedisClusterStateInfoList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): RedisClusterStateInfoOutputReference;
}
export interface RedisClusterMaintenancePolicyWeeklyMaintenanceWindowStartTime {
/**
* Hours of day in 24 hour format. Should be from 0 to 23.
* An API may choose to allow the value "24:00:00" for scenarios like business closing time.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#hours RedisCluster#hours}
*/
readonly hours?: number;
/**
* Minutes of hour of day. Must be from 0 to 59.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#minutes RedisCluster#minutes}
*/
readonly minutes?: number;
/**
* Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#nanos RedisCluster#nanos}
*/
readonly nanos?: number;
/**
* Seconds of minutes of the time. Must normally be from 0 to 59.
* An API may allow the value 60 if it allows leap-seconds.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#seconds RedisCluster#seconds}
*/
readonly seconds?: number;
}
export declare function redisClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeToTerraform(struct?: RedisClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeOutputReference | RedisClusterMaintenancePolicyWeeklyMaintenanceWindowStartTime): any;
export declare function redisClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeToHclTerraform(struct?: RedisClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeOutputReference | RedisClusterMaintenancePolicyWeeklyMaintenanceWindowStartTime): any;
export declare class RedisClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeOutputReference 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(): RedisClusterMaintenancePolicyWeeklyMaintenanceWindowStartTime | undefined;
set internalValue(value: RedisClusterMaintenancePolicyWeeklyMaintenanceWindowStartTime | undefined);
private _hours?;
get hours(): number;
set hours(value: number);
resetHours(): void;
get hoursInput(): number | undefined;
private _minutes?;
get minutes(): number;
set minutes(value: number);
resetMinutes(): void;
get minutesInput(): number | undefined;
private _nanos?;
get nanos(): number;
set nanos(value: number);
resetNanos(): void;
get nanosInput(): number | undefined;
private _seconds?;
get seconds(): number;
set seconds(value: number);
resetSeconds(): void;
get secondsInput(): number | undefined;
}
export interface RedisClusterMaintenancePolicyWeeklyMaintenanceWindow {
/**
* Required. The day of week that maintenance updates occur.
*
* - DAY_OF_WEEK_UNSPECIFIED: The day of the week is unspecified.
* - MONDAY: Monday
* - TUESDAY: Tuesday
* - WEDNESDAY: Wednesday
* - THURSDAY: Thursday
* - FRIDAY: Friday
* - SATURDAY: Saturday
* - SUNDAY: Sunday Possible values: ["DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#day RedisCluster#day}
*/
readonly day: string;
/**
* start_time block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#start_time RedisCluster#start_time}
*/
readonly startTime: RedisClusterMaintenancePolicyWeeklyMaintenanceWindowStartTime;
}
export declare function redisClusterMaintenancePolicyWeeklyMaintenanceWindowToTerraform(struct?: RedisClusterMaintenancePolicyWeeklyMaintenanceWindow | cdktf.IResolvable): any;
export declare function redisClusterMaintenancePolicyWeeklyMaintenanceWindowToHclTerraform(struct?: RedisClusterMaintenancePolicyWeeklyMaintenanceWindow | cdktf.IResolvable): any;
export declare class RedisClusterMaintenancePolicyWeeklyMaintenanceWindowOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): RedisClusterMaintenancePolicyWeeklyMaintenanceWindow | cdktf.IResolvable | undefined;
set internalValue(value: RedisClusterMaintenancePolicyWeeklyMaintenanceWindow | cdktf.IResolvable | undefined);
private _day?;
get day(): string;
set day(value: string);
get dayInput(): string | undefined;
get duration(): string;
private _startTime;
get startTime(): RedisClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeOutputReference;
putStartTime(value: RedisClusterMaintenancePolicyWeeklyMaintenanceWindowStartTime): void;
get startTimeInput(): RedisClusterMaintenancePolicyWeeklyMaintenanceWindowStartTime | undefined;
}
export declare class RedisClusterMaintenancePolicyWeeklyMaintenanceWindowList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: RedisClusterMaintenancePolicyWeeklyMaintenanceWindow[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): RedisClusterMaintenancePolicyWeeklyMaintenanceWindowOutputReference;
}
export interface RedisClusterMaintenancePolicy {
/**
* weekly_maintenance_window block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#weekly_maintenance_window RedisCluster#weekly_maintenance_window}
*/
readonly weeklyMaintenanceWindow?: RedisClusterMaintenancePolicyWeeklyMaintenanceWindow[] | cdktf.IResolvable;
}
export declare function redisClusterMaintenancePolicyToTerraform(struct?: RedisClusterMaintenancePolicyOutputReference | RedisClusterMaintenancePolicy): any;
export declare function redisClusterMaintenancePolicyToHclTerraform(struct?: RedisClusterMaintenancePolicyOutputReference | RedisClusterMaintenancePolicy): any;
export declare class RedisClusterMaintenancePolicyOutputReference 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(): RedisClusterMaintenancePolicy | undefined;
set internalValue(value: RedisClusterMaintenancePolicy | undefined);
get createTime(): string;
get updateTime(): string;
private _weeklyMaintenanceWindow;
get weeklyMaintenanceWindow(): RedisClusterMaintenancePolicyWeeklyMaintenanceWindowList;
putWeeklyMaintenanceWindow(value: RedisClusterMaintenancePolicyWeeklyMaintenanceWindow[] | cdktf.IResolvable): void;
resetWeeklyMaintenanceWindow(): void;
get weeklyMaintenanceWindowInput(): cdktf.IResolvable | RedisClusterMaintenancePolicyWeeklyMaintenanceWindow[] | undefined;
}
export interface RedisClusterPscConfigs {
/**
* Required. The consumer network where the network address of
* the discovery endpoint will be reserved, in the form of
* projects/{network_project_id_or_number}/global/networks/{network_id}.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#network RedisCluster#network}
*/
readonly network: string;
}
export declare function redisClusterPscConfigsToTerraform(struct?: RedisClusterPscConfigs | cdktf.IResolvable): any;
export declare function redisClusterPscConfigsToHclTerraform(struct?: RedisClusterPscConfigs | cdktf.IResolvable): any;
export declare class RedisClusterPscConfigsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): RedisClusterPscConfigs | cdktf.IResolvable | undefined;
set internalValue(value: RedisClusterPscConfigs | cdktf.IResolvable | undefined);
private _network?;
get network(): string;
set network(value: string);
get networkInput(): string | undefined;
}
export declare class RedisClusterPscConfigsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: RedisClusterPscConfigs[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): RedisClusterPscConfigsOutputReference;
}
export interface RedisClusterTimeouts {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#create RedisCluster#create}
*/
readonly create?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#delete RedisCluster#delete}
*/
readonly delete?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#update RedisCluster#update}
*/
readonly update?: string;
}
export declare function redisClusterTimeoutsToTerraform(struct?: RedisClusterTimeouts | cdktf.IResolvable): any;
export declare function redisClusterTimeoutsToHclTerraform(struct?: RedisClusterTimeouts | cdktf.IResolvable): any;
export declare class RedisClusterTimeoutsOutputReference 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(): RedisClusterTimeouts | cdktf.IResolvable | undefined;
set internalValue(value: RedisClusterTimeouts | 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;
}
export interface RedisClusterZoneDistributionConfig {
/**
* Immutable. The mode for zone distribution for Memorystore Redis cluster.
* If not provided, MULTI_ZONE will be used as default Possible values: ["MULTI_ZONE", "SINGLE_ZONE"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#mode RedisCluster#mode}
*/
readonly mode?: string;
/**
* Immutable. The zone for single zone Memorystore Redis cluster.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#zone RedisCluster#zone}
*/
readonly zone?: string;
}
export declare function redisClusterZoneDistributionConfigToTerraform(struct?: RedisClusterZoneDistributionConfigOutputReference | RedisClusterZoneDistributionConfig): any;
export declare function redisClusterZoneDistributionConfigToHclTerraform(struct?: RedisClusterZoneDistributionConfigOutputReference | RedisClusterZoneDistributionConfig): any;
export declare class RedisClusterZoneDistributionConfigOutputReference 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(): RedisClusterZoneDistributionConfig | undefined;
set internalValue(value: RedisClusterZoneDistributionConfig | undefined);
private _mode?;
get mode(): string;
set mode(value: string);
resetMode(): void;
get modeInput(): string | undefined;
private _zone?;
get zone(): string;
set zone(value: string);
resetZone(): void;
get zoneInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster google_redis_cluster}
*/
export declare class RedisCluster extends cdktf.TerraformResource {
static readonly tfResourceType = "google_redis_cluster";
/**
* Generates CDKTF code for importing a RedisCluster 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 RedisCluster to import
* @param importFromId The id of the existing RedisCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/redis_cluster#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the RedisCluster 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/redis_cluster google_redis_cluster} 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 RedisClusterConfig
*/
constructor(scope: Construct, id: string, config: RedisClusterConfig);
private _authorizationMode?;
get authorizationMode(): string;
set authorizationMode(value: string);
resetAuthorizationMode(): void;
get authorizationModeInput(): string | undefined;
get createTime(): string;
private _deletionProtectionEnabled?;
get deletionProtectionEnabled(): boolean | cdktf.IResolvable;
set deletionProtectionEnabled(value: boolean | cdktf.IResolvable);
resetDeletionProtectionEnabled(): void;
get deletionProtectionEnabledInput(): boolean | cdktf.IResolvable | undefined;
private _discoveryEndpoints;
get discoveryEndpoints(): RedisClusterDiscoveryEndpointsList;
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
private _maintenanceSchedule;
get maintenanceSchedule(): RedisClusterMaintenanceScheduleList;
private _name?;
get name(): string;
set name(value: string);
resetName(): void;
get nameInput(): string | undefined;
private _nodeType?;
get nodeType(): string;
set nodeType(value: string);
resetNodeType(): void;
get nodeTypeInput(): string | undefined;
get preciseSizeGb(): number;
private _project?;
get project(): string;
set project(value: string);
resetProject(): void;
get projectInput(): string | undefined;
private _pscConnections;
get pscConnections(): RedisClusterPscConnectionsList;
private _redisConfigs?;
get redisConfigs(): {
[key: string]: string;
};
set redisConfigs(value: {
[key: string]: string;
});
resetRedisConfigs(): void;
get redisConfigsInput(): {
[key: string]: string;
} | undefined;
private _region?;
get region(): string;
set region(value: string);
resetRegion(): void;
get regionInput(): string | undefined;
private _replicaCount?;
get replicaCount(): number;
set replicaCount(value: number);
resetReplicaCount(): void;
get replicaCountInput(): number | undefined;
private _shardCount?;
get shardCount(): number;
set shardCount(value: number);
get shardCountInput(): number | undefined;
get sizeGb(): number;
get state(): string;
private _stateInfo;
get stateInfo(): RedisClusterStateInfoList;
private _transitEncryptionMode?;
get transitEncryptionMode(): string;
set transitEncryptionMode(value: string);
resetTransitEncryptionMode(): void;
get transitEncryptionModeInput(): string | undefined;
get uid(): string;
private _maintenancePolicy;
get maintenancePolicy(): RedisClusterMaintenancePolicyOutputReference;
putMaintenancePolicy(value: RedisClusterMaintenancePolicy): void;
resetMaintenancePolicy(): void;
get maintenancePolicyInput(): RedisClusterMaintenancePolicy | undefined;
private _pscConfigs;
get pscConfigs(): RedisClusterPscConfigsList;
putPscConfigs(value: RedisClusterPscConfigs[] | cdktf.IResolvable): void;
get pscConfigsInput(): cdktf.IResolvable | RedisClusterPscConfigs[] | undefined;
private _timeouts;
get timeouts(): RedisClusterTimeoutsOutputReference;
putTimeouts(value: RedisClusterTimeouts): void;
resetTimeouts(): void;
get timeoutsInput(): cdktf.IResolvable | RedisClusterTimeouts | undefined;
private _zoneDistributionConfig;
get zoneDistributionConfig(): RedisClusterZoneDistributionConfigOutputReference;
putZoneDistributionConfig(value: RedisClusterZoneDistributionConfig): void;
resetZoneDistributionConfig(): void;
get zoneDistributionConfigInput(): RedisClusterZoneDistributionConfig | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}