@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
852 lines • 60.6 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.13.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.13.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.13.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.13.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.13.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.13.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.13.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.13.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.13.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.13.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.13.0/docs/resources/redis_cluster#transit_encryption_mode RedisCluster#transit_encryption_mode}
*/
readonly transitEncryptionMode?: string;
/**
* cross_cluster_replication_config block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/redis_cluster#cross_cluster_replication_config RedisCluster#cross_cluster_replication_config}
*/
readonly crossClusterReplicationConfig?: RedisClusterCrossClusterReplicationConfig;
/**
* maintenance_policy block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/redis_cluster#maintenance_policy RedisCluster#maintenance_policy}
*/
readonly maintenancePolicy?: RedisClusterMaintenancePolicy;
/**
* persistence_config block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/redis_cluster#persistence_config RedisCluster#persistence_config}
*/
readonly persistenceConfig?: RedisClusterPersistenceConfig;
/**
* psc_configs block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.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.13.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.13.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 RedisClusterCrossClusterReplicationConfigMembershipPrimaryCluster {
}
export declare function redisClusterCrossClusterReplicationConfigMembershipPrimaryClusterToTerraform(struct?: RedisClusterCrossClusterReplicationConfigMembershipPrimaryCluster): any;
export declare function redisClusterCrossClusterReplicationConfigMembershipPrimaryClusterToHclTerraform(struct?: RedisClusterCrossClusterReplicationConfigMembershipPrimaryCluster): any;
export declare class RedisClusterCrossClusterReplicationConfigMembershipPrimaryClusterOutputReference 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(): RedisClusterCrossClusterReplicationConfigMembershipPrimaryCluster | undefined;
set internalValue(value: RedisClusterCrossClusterReplicationConfigMembershipPrimaryCluster | undefined);
get cluster(): string;
get uid(): string;
}
export declare class RedisClusterCrossClusterReplicationConfigMembershipPrimaryClusterList 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): RedisClusterCrossClusterReplicationConfigMembershipPrimaryClusterOutputReference;
}
export interface RedisClusterCrossClusterReplicationConfigMembershipSecondaryClusters {
}
export declare function redisClusterCrossClusterReplicationConfigMembershipSecondaryClustersToTerraform(struct?: RedisClusterCrossClusterReplicationConfigMembershipSecondaryClusters): any;
export declare function redisClusterCrossClusterReplicationConfigMembershipSecondaryClustersToHclTerraform(struct?: RedisClusterCrossClusterReplicationConfigMembershipSecondaryClusters): any;
export declare class RedisClusterCrossClusterReplicationConfigMembershipSecondaryClustersOutputReference 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(): RedisClusterCrossClusterReplicationConfigMembershipSecondaryClusters | undefined;
set internalValue(value: RedisClusterCrossClusterReplicationConfigMembershipSecondaryClusters | undefined);
get cluster(): string;
get uid(): string;
}
export declare class RedisClusterCrossClusterReplicationConfigMembershipSecondaryClustersList 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): RedisClusterCrossClusterReplicationConfigMembershipSecondaryClustersOutputReference;
}
export interface RedisClusterCrossClusterReplicationConfigMembership {
}
export declare function redisClusterCrossClusterReplicationConfigMembershipToTerraform(struct?: RedisClusterCrossClusterReplicationConfigMembership): any;
export declare function redisClusterCrossClusterReplicationConfigMembershipToHclTerraform(struct?: RedisClusterCrossClusterReplicationConfigMembership): any;
export declare class RedisClusterCrossClusterReplicationConfigMembershipOutputReference 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(): RedisClusterCrossClusterReplicationConfigMembership | undefined;
set internalValue(value: RedisClusterCrossClusterReplicationConfigMembership | undefined);
private _primaryCluster;
get primaryCluster(): RedisClusterCrossClusterReplicationConfigMembershipPrimaryClusterList;
private _secondaryClusters;
get secondaryClusters(): RedisClusterCrossClusterReplicationConfigMembershipSecondaryClustersList;
}
export declare class RedisClusterCrossClusterReplicationConfigMembershipList 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): RedisClusterCrossClusterReplicationConfigMembershipOutputReference;
}
export interface RedisClusterCrossClusterReplicationConfigPrimaryCluster {
/**
* The full resource path of the primary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/redis_cluster#cluster RedisCluster#cluster}
*/
readonly cluster?: string;
}
export declare function redisClusterCrossClusterReplicationConfigPrimaryClusterToTerraform(struct?: RedisClusterCrossClusterReplicationConfigPrimaryClusterOutputReference | RedisClusterCrossClusterReplicationConfigPrimaryCluster): any;
export declare function redisClusterCrossClusterReplicationConfigPrimaryClusterToHclTerraform(struct?: RedisClusterCrossClusterReplicationConfigPrimaryClusterOutputReference | RedisClusterCrossClusterReplicationConfigPrimaryCluster): any;
export declare class RedisClusterCrossClusterReplicationConfigPrimaryClusterOutputReference 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(): RedisClusterCrossClusterReplicationConfigPrimaryCluster | undefined;
set internalValue(value: RedisClusterCrossClusterReplicationConfigPrimaryCluster | undefined);
private _cluster?;
get cluster(): string;
set cluster(value: string);
resetCluster(): void;
get clusterInput(): string | undefined;
get uid(): string;
}
export interface RedisClusterCrossClusterReplicationConfigSecondaryClusters {
/**
* The full resource path of the secondary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/redis_cluster#cluster RedisCluster#cluster}
*/
readonly cluster?: string;
}
export declare function redisClusterCrossClusterReplicationConfigSecondaryClustersToTerraform(struct?: RedisClusterCrossClusterReplicationConfigSecondaryClusters | cdktf.IResolvable): any;
export declare function redisClusterCrossClusterReplicationConfigSecondaryClustersToHclTerraform(struct?: RedisClusterCrossClusterReplicationConfigSecondaryClusters | cdktf.IResolvable): any;
export declare class RedisClusterCrossClusterReplicationConfigSecondaryClustersOutputReference 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(): RedisClusterCrossClusterReplicationConfigSecondaryClusters | cdktf.IResolvable | undefined;
set internalValue(value: RedisClusterCrossClusterReplicationConfigSecondaryClusters | cdktf.IResolvable | undefined);
private _cluster?;
get cluster(): string;
set cluster(value: string);
resetCluster(): void;
get clusterInput(): string | undefined;
get uid(): string;
}
export declare class RedisClusterCrossClusterReplicationConfigSecondaryClustersList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: RedisClusterCrossClusterReplicationConfigSecondaryClusters[] | 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): RedisClusterCrossClusterReplicationConfigSecondaryClustersOutputReference;
}
export interface RedisClusterCrossClusterReplicationConfig {
/**
* The role of the cluster in cross cluster replication. Supported values are:
*
* 1. 'CLUSTER_ROLE_UNSPECIFIED': This is an independent cluster that has never participated in cross cluster replication. It allows both reads and writes.
*
* 1. 'NONE': This is an independent cluster that previously participated in cross cluster replication(either as a 'PRIMARY' or 'SECONDARY' cluster). It allows both reads and writes.
*
* 1. 'PRIMARY': This cluster serves as the replication source for secondary clusters that are replicating from it. Any data written to it is automatically replicated to its secondary clusters. It allows both reads and writes.
*
* 1. 'SECONDARY': This cluster replicates data from the primary cluster. It allows only reads. Possible values: ["CLUSTER_ROLE_UNSPECIFIED", "NONE", "PRIMARY", "SECONDARY"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/redis_cluster#cluster_role RedisCluster#cluster_role}
*/
readonly clusterRole?: string;
/**
* primary_cluster block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/redis_cluster#primary_cluster RedisCluster#primary_cluster}
*/
readonly primaryCluster?: RedisClusterCrossClusterReplicationConfigPrimaryCluster;
/**
* secondary_clusters block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/redis_cluster#secondary_clusters RedisCluster#secondary_clusters}
*/
readonly secondaryClusters?: RedisClusterCrossClusterReplicationConfigSecondaryClusters[] | cdktf.IResolvable;
}
export declare function redisClusterCrossClusterReplicationConfigToTerraform(struct?: RedisClusterCrossClusterReplicationConfigOutputReference | RedisClusterCrossClusterReplicationConfig): any;
export declare function redisClusterCrossClusterReplicationConfigToHclTerraform(struct?: RedisClusterCrossClusterReplicationConfigOutputReference | RedisClusterCrossClusterReplicationConfig): any;
export declare class RedisClusterCrossClusterReplicationConfigOutputReference 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(): RedisClusterCrossClusterReplicationConfig | undefined;
set internalValue(value: RedisClusterCrossClusterReplicationConfig | undefined);
private _clusterRole?;
get clusterRole(): string;
set clusterRole(value: string);
resetClusterRole(): void;
get clusterRoleInput(): string | undefined;
private _membership;
get membership(): RedisClusterCrossClusterReplicationConfigMembershipList;
get updateTime(): string;
private _primaryCluster;
get primaryCluster(): RedisClusterCrossClusterReplicationConfigPrimaryClusterOutputReference;
putPrimaryCluster(value: RedisClusterCrossClusterReplicationConfigPrimaryCluster): void;
resetPrimaryCluster(): void;
get primaryClusterInput(): RedisClusterCrossClusterReplicationConfigPrimaryCluster | undefined;
private _secondaryClusters;
get secondaryClusters(): RedisClusterCrossClusterReplicationConfigSecondaryClustersList;
putSecondaryClusters(value: RedisClusterCrossClusterReplicationConfigSecondaryClusters[] | cdktf.IResolvable): void;
resetSecondaryClusters(): void;
get secondaryClustersInput(): cdktf.IResolvable | RedisClusterCrossClusterReplicationConfigSecondaryClusters[] | undefined;
}
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.13.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.13.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.13.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.13.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.13.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.13.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.13.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 RedisClusterPersistenceConfigAofConfig {
/**
* Optional. Available fsync modes.
*
* - NO - Do not explicitly call fsync(). Rely on OS defaults.
* - EVERYSEC - Call fsync() once per second in a background thread. A balance between performance and durability.
* - ALWAYS - Call fsync() for earch write command. Possible values: ["APPEND_FSYNC_UNSPECIFIED", "NO", "EVERYSEC", "ALWAYS"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/redis_cluster#append_fsync RedisCluster#append_fsync}
*/
readonly appendFsync?: string;
}
export declare function redisClusterPersistenceConfigAofConfigToTerraform(struct?: RedisClusterPersistenceConfigAofConfigOutputReference | RedisClusterPersistenceConfigAofConfig): any;
export declare function redisClusterPersistenceConfigAofConfigToHclTerraform(struct?: RedisClusterPersistenceConfigAofConfigOutputReference | RedisClusterPersistenceConfigAofConfig): any;
export declare class RedisClusterPersistenceConfigAofConfigOutputReference 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(): RedisClusterPersistenceConfigAofConfig | undefined;
set internalValue(value: RedisClusterPersistenceConfigAofConfig | undefined);
private _appendFsync?;
get appendFsync(): string;
set appendFsync(value: string);
resetAppendFsync(): void;
get appendFsyncInput(): string | undefined;
}
export interface RedisClusterPersistenceConfigRdbConfig {
/**
* Optional. Available snapshot periods for scheduling.
*
* - ONE_HOUR: Snapshot every 1 hour.
* - SIX_HOURS: Snapshot every 6 hours.
* - TWELVE_HOURS: Snapshot every 12 hours.
* - TWENTY_FOUR_HOURS: Snapshot every 24 hours. Possible values: ["SNAPSHOT_PERIOD_UNSPECIFIED", "ONE_HOUR", "SIX_HOURS", "TWELVE_HOURS", "TWENTY_FOUR_HOURS"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/redis_cluster#rdb_snapshot_period RedisCluster#rdb_snapshot_period}
*/
readonly rdbSnapshotPeriod?: string;
/**
* The time that the first snapshot was/will be attempted, and to which
* future snapshots will be aligned.
* If not provided, the current time will be used.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/redis_cluster#rdb_snapshot_start_time RedisCluster#rdb_snapshot_start_time}
*/
readonly rdbSnapshotStartTime?: string;
}
export declare function redisClusterPersistenceConfigRdbConfigToTerraform(struct?: RedisClusterPersistenceConfigRdbConfigOutputReference | RedisClusterPersistenceConfigRdbConfig): any;
export declare function redisClusterPersistenceConfigRdbConfigToHclTerraform(struct?: RedisClusterPersistenceConfigRdbConfigOutputReference | RedisClusterPersistenceConfigRdbConfig): any;
export declare class RedisClusterPersistenceConfigRdbConfigOutputReference 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(): RedisClusterPersistenceConfigRdbConfig | undefined;
set internalValue(value: RedisClusterPersistenceConfigRdbConfig | undefined);
private _rdbSnapshotPeriod?;
get rdbSnapshotPeriod(): string;
set rdbSnapshotPeriod(value: string);
resetRdbSnapshotPeriod(): void;
get rdbSnapshotPeriodInput(): string | undefined;
private _rdbSnapshotStartTime?;
get rdbSnapshotStartTime(): string;
set rdbSnapshotStartTime(value: string);
resetRdbSnapshotStartTime(): void;
get rdbSnapshotStartTimeInput(): string | undefined;
}
export interface RedisClusterPersistenceConfig {
/**
* Optional. Controls whether Persistence features are enabled. If not provided, the existing value will be used.
*
* - DISABLED: Persistence (both backup and restore) is disabled for the cluster.
* - RDB: RDB based Persistence is enabled.
* - AOF: AOF based Persistence is enabled. Possible values: ["PERSISTENCE_MODE_UNSPECIFIED", "DISABLED", "RDB", "AOF"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/redis_cluster#mode RedisCluster#mode}
*/
readonly mode?: string;
/**
* aof_config block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/redis_cluster#aof_config RedisCluster#aof_config}
*/
readonly aofConfig?: RedisClusterPersistenceConfigAofConfig;
/**
* rdb_config block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/redis_cluster#rdb_config RedisCluster#rdb_config}
*/
readonly rdbConfig?: RedisClusterPersistenceConfigRdbConfig;
}
export declare function redisClusterPersistenceConfigToTerraform(struct?: RedisClusterPersistenceConfigOutputReference | RedisClusterPersistenceConfig): any;
export declare function redisClusterPersistenceConfigToHclTerraform(struct?: RedisClusterPersistenceConfigOutputReference | RedisClusterPersistenceConfig): any;
export declare class RedisClusterPersistenceConfigOutputReference 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(): RedisClusterPersistenceConfig | undefined;
set internalValue(value: RedisClusterPersistenceConfig | undefined);
private _mode?;
get mode(): string;
set mode(value: string);
resetMode(): void;
get modeInput(): string | undefined;
private _aofConfig;
get aofConfig(): RedisClusterPersistenceConfigAofConfigOutputReference;
putAofConfig(value: RedisClusterPersistenceConfigAofConfig): void;
resetAofConfig(): void;
get aofConfigInput(): RedisClusterPersistenceConfigAofConfig | undefined;
private _rdbConfig;
get rdbConfig(): RedisClusterPersistenceConfigRdbConfigOutputReference;
putRdbConfig(value: RedisClusterPersistenceConfigRdbConfig): void;
resetRdbConfig(): void;
get rdbConfigInput(): RedisClusterPersistenceConfigRdbConfig | 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.13.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 ne