@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
845 lines (844 loc) • 73.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.36.1/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.36.1/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.36.1/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;
/**
* The KMS key used to encrypt the at-rest data of the cluster.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/redis_cluster#kms_key RedisCluster#kms_key}
*/
readonly kmsKey?: 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.36.1/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.36.1/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.36.1/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.36.1/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.36.1/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.36.1/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.36.1/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.36.1/docs/resources/redis_cluster#transit_encryption_mode RedisCluster#transit_encryption_mode}
*/
readonly transitEncryptionMode?: string;
/**
* automated_backup_config block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/redis_cluster#automated_backup_config RedisCluster#automated_backup_config}
*/
readonly automatedBackupConfig?: RedisClusterAutomatedBackupConfig;
/**
* cross_cluster_replication_config block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/redis_cluster#cross_cluster_replication_config RedisCluster#cross_cluster_replication_config}
*/
readonly crossClusterReplicationConfig?: RedisClusterCrossClusterReplicationConfig;
/**
* gcs_source block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/redis_cluster#gcs_source RedisCluster#gcs_source}
*/
readonly gcsSource?: RedisClusterGcsSource;
/**
* maintenance_policy block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/redis_cluster#maintenance_policy RedisCluster#maintenance_policy}
*/
readonly maintenancePolicy?: RedisClusterMaintenancePolicy;
/**
* managed_backup_source block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/redis_cluster#managed_backup_source RedisCluster#managed_backup_source}
*/
readonly managedBackupSource?: RedisClusterManagedBackupSource;
/**
* persistence_config block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/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.36.1/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.36.1/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.36.1/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 RedisClusterPscServiceAttachments {
}
export declare function redisClusterPscServiceAttachmentsToTerraform(struct?: RedisClusterPscServiceAttachments): any;
export declare function redisClusterPscServiceAttachmentsToHclTerraform(struct?: RedisClusterPscServiceAttachments): any;
export declare class RedisClusterPscServiceAttachmentsOutputReference 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(): RedisClusterPscServiceAttachments | undefined;
set internalValue(value: RedisClusterPscServiceAttachments | undefined);
get connectionType(): string;
get serviceAttachment(): string;
}
export declare class RedisClusterPscServiceAttachmentsList 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): RedisClusterPscServiceAttachmentsOutputReference;
}
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 RedisClusterAutomatedBackupConfigFixedFrequencyScheduleStartTime {
/**
* Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal 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.36.1/docs/resources/redis_cluster#hours RedisCluster#hours}
*/
readonly hours: number;
}
export declare function redisClusterAutomatedBackupConfigFixedFrequencyScheduleStartTimeToTerraform(struct?: RedisClusterAutomatedBackupConfigFixedFrequencyScheduleStartTimeOutputReference | RedisClusterAutomatedBackupConfigFixedFrequencyScheduleStartTime): any;
export declare function redisClusterAutomatedBackupConfigFixedFrequencyScheduleStartTimeToHclTerraform(struct?: RedisClusterAutomatedBackupConfigFixedFrequencyScheduleStartTimeOutputReference | RedisClusterAutomatedBackupConfigFixedFrequencyScheduleStartTime): any;
export declare class RedisClusterAutomatedBackupConfigFixedFrequencyScheduleStartTimeOutputReference 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(): RedisClusterAutomatedBackupConfigFixedFrequencyScheduleStartTime | undefined;
set internalValue(value: RedisClusterAutomatedBackupConfigFixedFrequencyScheduleStartTime | undefined);
private _hours?;
get hours(): number;
set hours(value: number);
get hoursInput(): number | undefined;
}
export interface RedisClusterAutomatedBackupConfigFixedFrequencySchedule {
/**
* start_time block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/redis_cluster#start_time RedisCluster#start_time}
*/
readonly startTime: RedisClusterAutomatedBackupConfigFixedFrequencyScheduleStartTime;
}
export declare function redisClusterAutomatedBackupConfigFixedFrequencyScheduleToTerraform(struct?: RedisClusterAutomatedBackupConfigFixedFrequencyScheduleOutputReference | RedisClusterAutomatedBackupConfigFixedFrequencySchedule): any;
export declare function redisClusterAutomatedBackupConfigFixedFrequencyScheduleToHclTerraform(struct?: RedisClusterAutomatedBackupConfigFixedFrequencyScheduleOutputReference | RedisClusterAutomatedBackupConfigFixedFrequencySchedule): any;
export declare class RedisClusterAutomatedBackupConfigFixedFrequencyScheduleOutputReference 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(): RedisClusterAutomatedBackupConfigFixedFrequencySchedule | undefined;
set internalValue(value: RedisClusterAutomatedBackupConfigFixedFrequencySchedule | undefined);
private _startTime;
get startTime(): RedisClusterAutomatedBackupConfigFixedFrequencyScheduleStartTimeOutputReference;
putStartTime(value: RedisClusterAutomatedBackupConfigFixedFrequencyScheduleStartTime): void;
get startTimeInput(): RedisClusterAutomatedBackupConfigFixedFrequencyScheduleStartTime | undefined;
}
export interface RedisClusterAutomatedBackupConfig {
/**
* How long to keep automated backups before the backups are deleted.
* The value should be between 1 day and 365 days. If not specified, the default value is 35 days.
* A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/redis_cluster#retention RedisCluster#retention}
*/
readonly retention: string;
/**
* fixed_frequency_schedule block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/redis_cluster#fixed_frequency_schedule RedisCluster#fixed_frequency_schedule}
*/
readonly fixedFrequencySchedule: RedisClusterAutomatedBackupConfigFixedFrequencySchedule;
}
export declare function redisClusterAutomatedBackupConfigToTerraform(struct?: RedisClusterAutomatedBackupConfigOutputReference | RedisClusterAutomatedBackupConfig): any;
export declare function redisClusterAutomatedBackupConfigToHclTerraform(struct?: RedisClusterAutomatedBackupConfigOutputReference | RedisClusterAutomatedBackupConfig): any;
export declare class RedisClusterAutomatedBackupConfigOutputReference 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(): RedisClusterAutomatedBackupConfig | undefined;
set internalValue(value: RedisClusterAutomatedBackupConfig | undefined);
private _retention?;
get retention(): string;
set retention(value: string);
get retentionInput(): string | undefined;
private _fixedFrequencySchedule;
get fixedFrequencySchedule(): RedisClusterAutomatedBackupConfigFixedFrequencyScheduleOutputReference;
putFixedFrequencySchedule(value: RedisClusterAutomatedBackupConfigFixedFrequencySchedule): void;
get fixedFrequencyScheduleInput(): RedisClusterAutomatedBackupConfigFixedFrequencySchedule | undefined;
}
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.36.1/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.36.1/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.36.1/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.36.1/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.36.1/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 RedisClusterGcsSource {
/**
* URIs of the GCS objects to import. Example: gs://bucket1/object1, gs://bucket2/folder2/object2
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/redis_cluster#uris RedisCluster#uris}
*/
readonly uris: string[];
}
export declare function redisClusterGcsSourceToTerraform(struct?: RedisClusterGcsSourceOutputReference | RedisClusterGcsSource): any;
export declare function redisClusterGcsSourceToHclTerraform(struct?: RedisClusterGcsSourceOutputReference | RedisClusterGcsSource): any;
export declare class RedisClusterGcsSourceOutputReference 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(): RedisClusterGcsSource | undefined;
set internalValue(value: RedisClusterGcsSource | undefined);
private _uris?;
get uris(): string[];
set uris(value: string[]);
get urisInput(): string[] | 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.36.1/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.36.1/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.36.1/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.36.1/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.36.1/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.36.1/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
*