gcp.redis.Cluster
Explore with Pulumi AI
Example Usage
Redis Cluster Ha
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const consumerNet = new gcp.compute.Network("consumer_net", {
    name: "my-network",
    autoCreateSubnetworks: false,
});
const consumerSubnet = new gcp.compute.Subnetwork("consumer_subnet", {
    name: "my-subnet",
    ipCidrRange: "10.0.0.248/29",
    region: "us-central1",
    network: consumerNet.id,
});
const _default = new gcp.networkconnectivity.ServiceConnectionPolicy("default", {
    name: "my-policy",
    location: "us-central1",
    serviceClass: "gcp-memorystore-redis",
    description: "my basic service connection policy",
    network: consumerNet.id,
    pscConfig: {
        subnetworks: [consumerSubnet.id],
    },
});
const cluster_ha = new gcp.redis.Cluster("cluster-ha", {
    name: "ha-cluster",
    shardCount: 3,
    pscConfigs: [{
        network: consumerNet.id,
    }],
    region: "us-central1",
    replicaCount: 1,
    nodeType: "REDIS_SHARED_CORE_NANO",
    transitEncryptionMode: "TRANSIT_ENCRYPTION_MODE_DISABLED",
    authorizationMode: "AUTH_MODE_DISABLED",
    redisConfigs: {
        "maxmemory-policy": "volatile-ttl",
    },
    deletionProtectionEnabled: true,
    zoneDistributionConfig: {
        mode: "MULTI_ZONE",
    },
    maintenancePolicy: {
        weeklyMaintenanceWindows: [{
            day: "MONDAY",
            startTime: {
                hours: 1,
                minutes: 0,
                seconds: 0,
                nanos: 0,
            },
        }],
    },
}, {
    dependsOn: [_default],
});
import pulumi
import pulumi_gcp as gcp
consumer_net = gcp.compute.Network("consumer_net",
    name="my-network",
    auto_create_subnetworks=False)
consumer_subnet = gcp.compute.Subnetwork("consumer_subnet",
    name="my-subnet",
    ip_cidr_range="10.0.0.248/29",
    region="us-central1",
    network=consumer_net.id)
default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
    name="my-policy",
    location="us-central1",
    service_class="gcp-memorystore-redis",
    description="my basic service connection policy",
    network=consumer_net.id,
    psc_config={
        "subnetworks": [consumer_subnet.id],
    })
cluster_ha = gcp.redis.Cluster("cluster-ha",
    name="ha-cluster",
    shard_count=3,
    psc_configs=[{
        "network": consumer_net.id,
    }],
    region="us-central1",
    replica_count=1,
    node_type="REDIS_SHARED_CORE_NANO",
    transit_encryption_mode="TRANSIT_ENCRYPTION_MODE_DISABLED",
    authorization_mode="AUTH_MODE_DISABLED",
    redis_configs={
        "maxmemory-policy": "volatile-ttl",
    },
    deletion_protection_enabled=True,
    zone_distribution_config={
        "mode": "MULTI_ZONE",
    },
    maintenance_policy={
        "weekly_maintenance_windows": [{
            "day": "MONDAY",
            "start_time": {
                "hours": 1,
                "minutes": 0,
                "seconds": 0,
                "nanos": 0,
            },
        }],
    },
    opts = pulumi.ResourceOptions(depends_on=[default]))
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/networkconnectivity"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/redis"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		consumerNet, err := compute.NewNetwork(ctx, "consumer_net", &compute.NetworkArgs{
			Name:                  pulumi.String("my-network"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		consumerSubnet, err := compute.NewSubnetwork(ctx, "consumer_subnet", &compute.SubnetworkArgs{
			Name:        pulumi.String("my-subnet"),
			IpCidrRange: pulumi.String("10.0.0.248/29"),
			Region:      pulumi.String("us-central1"),
			Network:     consumerNet.ID(),
		})
		if err != nil {
			return err
		}
		_default, err := networkconnectivity.NewServiceConnectionPolicy(ctx, "default", &networkconnectivity.ServiceConnectionPolicyArgs{
			Name:         pulumi.String("my-policy"),
			Location:     pulumi.String("us-central1"),
			ServiceClass: pulumi.String("gcp-memorystore-redis"),
			Description:  pulumi.String("my basic service connection policy"),
			Network:      consumerNet.ID(),
			PscConfig: &networkconnectivity.ServiceConnectionPolicyPscConfigArgs{
				Subnetworks: pulumi.StringArray{
					consumerSubnet.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = redis.NewCluster(ctx, "cluster-ha", &redis.ClusterArgs{
			Name:       pulumi.String("ha-cluster"),
			ShardCount: pulumi.Int(3),
			PscConfigs: redis.ClusterPscConfigArray{
				&redis.ClusterPscConfigArgs{
					Network: consumerNet.ID(),
				},
			},
			Region:                pulumi.String("us-central1"),
			ReplicaCount:          pulumi.Int(1),
			NodeType:              pulumi.String("REDIS_SHARED_CORE_NANO"),
			TransitEncryptionMode: pulumi.String("TRANSIT_ENCRYPTION_MODE_DISABLED"),
			AuthorizationMode:     pulumi.String("AUTH_MODE_DISABLED"),
			RedisConfigs: pulumi.StringMap{
				"maxmemory-policy": pulumi.String("volatile-ttl"),
			},
			DeletionProtectionEnabled: pulumi.Bool(true),
			ZoneDistributionConfig: &redis.ClusterZoneDistributionConfigArgs{
				Mode: pulumi.String("MULTI_ZONE"),
			},
			MaintenancePolicy: &redis.ClusterMaintenancePolicyArgs{
				WeeklyMaintenanceWindows: redis.ClusterMaintenancePolicyWeeklyMaintenanceWindowArray{
					&redis.ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs{
						Day: pulumi.String("MONDAY"),
						StartTime: &redis.ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs{
							Hours:   pulumi.Int(1),
							Minutes: pulumi.Int(0),
							Seconds: pulumi.Int(0),
							Nanos:   pulumi.Int(0),
						},
					},
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			_default,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() => 
{
    var consumerNet = new Gcp.Compute.Network("consumer_net", new()
    {
        Name = "my-network",
        AutoCreateSubnetworks = false,
    });
    var consumerSubnet = new Gcp.Compute.Subnetwork("consumer_subnet", new()
    {
        Name = "my-subnet",
        IpCidrRange = "10.0.0.248/29",
        Region = "us-central1",
        Network = consumerNet.Id,
    });
    var @default = new Gcp.NetworkConnectivity.ServiceConnectionPolicy("default", new()
    {
        Name = "my-policy",
        Location = "us-central1",
        ServiceClass = "gcp-memorystore-redis",
        Description = "my basic service connection policy",
        Network = consumerNet.Id,
        PscConfig = new Gcp.NetworkConnectivity.Inputs.ServiceConnectionPolicyPscConfigArgs
        {
            Subnetworks = new[]
            {
                consumerSubnet.Id,
            },
        },
    });
    var cluster_ha = new Gcp.Redis.Cluster("cluster-ha", new()
    {
        Name = "ha-cluster",
        ShardCount = 3,
        PscConfigs = new[]
        {
            new Gcp.Redis.Inputs.ClusterPscConfigArgs
            {
                Network = consumerNet.Id,
            },
        },
        Region = "us-central1",
        ReplicaCount = 1,
        NodeType = "REDIS_SHARED_CORE_NANO",
        TransitEncryptionMode = "TRANSIT_ENCRYPTION_MODE_DISABLED",
        AuthorizationMode = "AUTH_MODE_DISABLED",
        RedisConfigs = 
        {
            { "maxmemory-policy", "volatile-ttl" },
        },
        DeletionProtectionEnabled = true,
        ZoneDistributionConfig = new Gcp.Redis.Inputs.ClusterZoneDistributionConfigArgs
        {
            Mode = "MULTI_ZONE",
        },
        MaintenancePolicy = new Gcp.Redis.Inputs.ClusterMaintenancePolicyArgs
        {
            WeeklyMaintenanceWindows = new[]
            {
                new Gcp.Redis.Inputs.ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs
                {
                    Day = "MONDAY",
                    StartTime = new Gcp.Redis.Inputs.ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs
                    {
                        Hours = 1,
                        Minutes = 0,
                        Seconds = 0,
                        Nanos = 0,
                    },
                },
            },
        },
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            @default,
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.compute.NetworkArgs;
import com.pulumi.gcp.compute.Subnetwork;
import com.pulumi.gcp.compute.SubnetworkArgs;
import com.pulumi.gcp.networkconnectivity.ServiceConnectionPolicy;
import com.pulumi.gcp.networkconnectivity.ServiceConnectionPolicyArgs;
import com.pulumi.gcp.networkconnectivity.inputs.ServiceConnectionPolicyPscConfigArgs;
import com.pulumi.gcp.redis.Cluster;
import com.pulumi.gcp.redis.ClusterArgs;
import com.pulumi.gcp.redis.inputs.ClusterPscConfigArgs;
import com.pulumi.gcp.redis.inputs.ClusterZoneDistributionConfigArgs;
import com.pulumi.gcp.redis.inputs.ClusterMaintenancePolicyArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var consumerNet = new Network("consumerNet", NetworkArgs.builder()
            .name("my-network")
            .autoCreateSubnetworks(false)
            .build());
        var consumerSubnet = new Subnetwork("consumerSubnet", SubnetworkArgs.builder()
            .name("my-subnet")
            .ipCidrRange("10.0.0.248/29")
            .region("us-central1")
            .network(consumerNet.id())
            .build());
        var default_ = new ServiceConnectionPolicy("default", ServiceConnectionPolicyArgs.builder()
            .name("my-policy")
            .location("us-central1")
            .serviceClass("gcp-memorystore-redis")
            .description("my basic service connection policy")
            .network(consumerNet.id())
            .pscConfig(ServiceConnectionPolicyPscConfigArgs.builder()
                .subnetworks(consumerSubnet.id())
                .build())
            .build());
        var cluster_ha = new Cluster("cluster-ha", ClusterArgs.builder()
            .name("ha-cluster")
            .shardCount(3)
            .pscConfigs(ClusterPscConfigArgs.builder()
                .network(consumerNet.id())
                .build())
            .region("us-central1")
            .replicaCount(1)
            .nodeType("REDIS_SHARED_CORE_NANO")
            .transitEncryptionMode("TRANSIT_ENCRYPTION_MODE_DISABLED")
            .authorizationMode("AUTH_MODE_DISABLED")
            .redisConfigs(Map.of("maxmemory-policy", "volatile-ttl"))
            .deletionProtectionEnabled(true)
            .zoneDistributionConfig(ClusterZoneDistributionConfigArgs.builder()
                .mode("MULTI_ZONE")
                .build())
            .maintenancePolicy(ClusterMaintenancePolicyArgs.builder()
                .weeklyMaintenanceWindows(ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs.builder()
                    .day("MONDAY")
                    .startTime(ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs.builder()
                        .hours(1)
                        .minutes(0)
                        .seconds(0)
                        .nanos(0)
                        .build())
                    .build())
                .build())
            .build(), CustomResourceOptions.builder()
                .dependsOn(default_)
                .build());
    }
}
resources:
  cluster-ha:
    type: gcp:redis:Cluster
    properties:
      name: ha-cluster
      shardCount: 3
      pscConfigs:
        - network: ${consumerNet.id}
      region: us-central1
      replicaCount: 1
      nodeType: REDIS_SHARED_CORE_NANO
      transitEncryptionMode: TRANSIT_ENCRYPTION_MODE_DISABLED
      authorizationMode: AUTH_MODE_DISABLED
      redisConfigs:
        maxmemory-policy: volatile-ttl
      deletionProtectionEnabled: true
      zoneDistributionConfig:
        mode: MULTI_ZONE
      maintenancePolicy:
        weeklyMaintenanceWindows:
          - day: MONDAY
            startTime:
              hours: 1
              minutes: 0
              seconds: 0
              nanos: 0
    options:
      dependsOn:
        - ${default}
  default:
    type: gcp:networkconnectivity:ServiceConnectionPolicy
    properties:
      name: my-policy
      location: us-central1
      serviceClass: gcp-memorystore-redis
      description: my basic service connection policy
      network: ${consumerNet.id}
      pscConfig:
        subnetworks:
          - ${consumerSubnet.id}
  consumerSubnet:
    type: gcp:compute:Subnetwork
    name: consumer_subnet
    properties:
      name: my-subnet
      ipCidrRange: 10.0.0.248/29
      region: us-central1
      network: ${consumerNet.id}
  consumerNet:
    type: gcp:compute:Network
    name: consumer_net
    properties:
      name: my-network
      autoCreateSubnetworks: false
Redis Cluster Ha Single Zone
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const consumerNet = new gcp.compute.Network("consumer_net", {
    name: "my-network",
    autoCreateSubnetworks: false,
});
const consumerSubnet = new gcp.compute.Subnetwork("consumer_subnet", {
    name: "my-subnet",
    ipCidrRange: "10.0.0.248/29",
    region: "us-central1",
    network: consumerNet.id,
});
const _default = new gcp.networkconnectivity.ServiceConnectionPolicy("default", {
    name: "my-policy",
    location: "us-central1",
    serviceClass: "gcp-memorystore-redis",
    description: "my basic service connection policy",
    network: consumerNet.id,
    pscConfig: {
        subnetworks: [consumerSubnet.id],
    },
});
const cluster_ha_single_zone = new gcp.redis.Cluster("cluster-ha-single-zone", {
    name: "ha-cluster-single-zone",
    shardCount: 3,
    pscConfigs: [{
        network: consumerNet.id,
    }],
    region: "us-central1",
    zoneDistributionConfig: {
        mode: "SINGLE_ZONE",
        zone: "us-central1-f",
    },
    maintenancePolicy: {
        weeklyMaintenanceWindows: [{
            day: "MONDAY",
            startTime: {
                hours: 1,
                minutes: 0,
                seconds: 0,
                nanos: 0,
            },
        }],
    },
    deletionProtectionEnabled: true,
}, {
    dependsOn: [_default],
});
import pulumi
import pulumi_gcp as gcp
consumer_net = gcp.compute.Network("consumer_net",
    name="my-network",
    auto_create_subnetworks=False)
consumer_subnet = gcp.compute.Subnetwork("consumer_subnet",
    name="my-subnet",
    ip_cidr_range="10.0.0.248/29",
    region="us-central1",
    network=consumer_net.id)
default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
    name="my-policy",
    location="us-central1",
    service_class="gcp-memorystore-redis",
    description="my basic service connection policy",
    network=consumer_net.id,
    psc_config={
        "subnetworks": [consumer_subnet.id],
    })
cluster_ha_single_zone = gcp.redis.Cluster("cluster-ha-single-zone",
    name="ha-cluster-single-zone",
    shard_count=3,
    psc_configs=[{
        "network": consumer_net.id,
    }],
    region="us-central1",
    zone_distribution_config={
        "mode": "SINGLE_ZONE",
        "zone": "us-central1-f",
    },
    maintenance_policy={
        "weekly_maintenance_windows": [{
            "day": "MONDAY",
            "start_time": {
                "hours": 1,
                "minutes": 0,
                "seconds": 0,
                "nanos": 0,
            },
        }],
    },
    deletion_protection_enabled=True,
    opts = pulumi.ResourceOptions(depends_on=[default]))
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/networkconnectivity"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/redis"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		consumerNet, err := compute.NewNetwork(ctx, "consumer_net", &compute.NetworkArgs{
			Name:                  pulumi.String("my-network"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		consumerSubnet, err := compute.NewSubnetwork(ctx, "consumer_subnet", &compute.SubnetworkArgs{
			Name:        pulumi.String("my-subnet"),
			IpCidrRange: pulumi.String("10.0.0.248/29"),
			Region:      pulumi.String("us-central1"),
			Network:     consumerNet.ID(),
		})
		if err != nil {
			return err
		}
		_default, err := networkconnectivity.NewServiceConnectionPolicy(ctx, "default", &networkconnectivity.ServiceConnectionPolicyArgs{
			Name:         pulumi.String("my-policy"),
			Location:     pulumi.String("us-central1"),
			ServiceClass: pulumi.String("gcp-memorystore-redis"),
			Description:  pulumi.String("my basic service connection policy"),
			Network:      consumerNet.ID(),
			PscConfig: &networkconnectivity.ServiceConnectionPolicyPscConfigArgs{
				Subnetworks: pulumi.StringArray{
					consumerSubnet.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = redis.NewCluster(ctx, "cluster-ha-single-zone", &redis.ClusterArgs{
			Name:       pulumi.String("ha-cluster-single-zone"),
			ShardCount: pulumi.Int(3),
			PscConfigs: redis.ClusterPscConfigArray{
				&redis.ClusterPscConfigArgs{
					Network: consumerNet.ID(),
				},
			},
			Region: pulumi.String("us-central1"),
			ZoneDistributionConfig: &redis.ClusterZoneDistributionConfigArgs{
				Mode: pulumi.String("SINGLE_ZONE"),
				Zone: pulumi.String("us-central1-f"),
			},
			MaintenancePolicy: &redis.ClusterMaintenancePolicyArgs{
				WeeklyMaintenanceWindows: redis.ClusterMaintenancePolicyWeeklyMaintenanceWindowArray{
					&redis.ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs{
						Day: pulumi.String("MONDAY"),
						StartTime: &redis.ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs{
							Hours:   pulumi.Int(1),
							Minutes: pulumi.Int(0),
							Seconds: pulumi.Int(0),
							Nanos:   pulumi.Int(0),
						},
					},
				},
			},
			DeletionProtectionEnabled: pulumi.Bool(true),
		}, pulumi.DependsOn([]pulumi.Resource{
			_default,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() => 
{
    var consumerNet = new Gcp.Compute.Network("consumer_net", new()
    {
        Name = "my-network",
        AutoCreateSubnetworks = false,
    });
    var consumerSubnet = new Gcp.Compute.Subnetwork("consumer_subnet", new()
    {
        Name = "my-subnet",
        IpCidrRange = "10.0.0.248/29",
        Region = "us-central1",
        Network = consumerNet.Id,
    });
    var @default = new Gcp.NetworkConnectivity.ServiceConnectionPolicy("default", new()
    {
        Name = "my-policy",
        Location = "us-central1",
        ServiceClass = "gcp-memorystore-redis",
        Description = "my basic service connection policy",
        Network = consumerNet.Id,
        PscConfig = new Gcp.NetworkConnectivity.Inputs.ServiceConnectionPolicyPscConfigArgs
        {
            Subnetworks = new[]
            {
                consumerSubnet.Id,
            },
        },
    });
    var cluster_ha_single_zone = new Gcp.Redis.Cluster("cluster-ha-single-zone", new()
    {
        Name = "ha-cluster-single-zone",
        ShardCount = 3,
        PscConfigs = new[]
        {
            new Gcp.Redis.Inputs.ClusterPscConfigArgs
            {
                Network = consumerNet.Id,
            },
        },
        Region = "us-central1",
        ZoneDistributionConfig = new Gcp.Redis.Inputs.ClusterZoneDistributionConfigArgs
        {
            Mode = "SINGLE_ZONE",
            Zone = "us-central1-f",
        },
        MaintenancePolicy = new Gcp.Redis.Inputs.ClusterMaintenancePolicyArgs
        {
            WeeklyMaintenanceWindows = new[]
            {
                new Gcp.Redis.Inputs.ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs
                {
                    Day = "MONDAY",
                    StartTime = new Gcp.Redis.Inputs.ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs
                    {
                        Hours = 1,
                        Minutes = 0,
                        Seconds = 0,
                        Nanos = 0,
                    },
                },
            },
        },
        DeletionProtectionEnabled = true,
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            @default,
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.compute.NetworkArgs;
import com.pulumi.gcp.compute.Subnetwork;
import com.pulumi.gcp.compute.SubnetworkArgs;
import com.pulumi.gcp.networkconnectivity.ServiceConnectionPolicy;
import com.pulumi.gcp.networkconnectivity.ServiceConnectionPolicyArgs;
import com.pulumi.gcp.networkconnectivity.inputs.ServiceConnectionPolicyPscConfigArgs;
import com.pulumi.gcp.redis.Cluster;
import com.pulumi.gcp.redis.ClusterArgs;
import com.pulumi.gcp.redis.inputs.ClusterPscConfigArgs;
import com.pulumi.gcp.redis.inputs.ClusterZoneDistributionConfigArgs;
import com.pulumi.gcp.redis.inputs.ClusterMaintenancePolicyArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var consumerNet = new Network("consumerNet", NetworkArgs.builder()
            .name("my-network")
            .autoCreateSubnetworks(false)
            .build());
        var consumerSubnet = new Subnetwork("consumerSubnet", SubnetworkArgs.builder()
            .name("my-subnet")
            .ipCidrRange("10.0.0.248/29")
            .region("us-central1")
            .network(consumerNet.id())
            .build());
        var default_ = new ServiceConnectionPolicy("default", ServiceConnectionPolicyArgs.builder()
            .name("my-policy")
            .location("us-central1")
            .serviceClass("gcp-memorystore-redis")
            .description("my basic service connection policy")
            .network(consumerNet.id())
            .pscConfig(ServiceConnectionPolicyPscConfigArgs.builder()
                .subnetworks(consumerSubnet.id())
                .build())
            .build());
        var cluster_ha_single_zone = new Cluster("cluster-ha-single-zone", ClusterArgs.builder()
            .name("ha-cluster-single-zone")
            .shardCount(3)
            .pscConfigs(ClusterPscConfigArgs.builder()
                .network(consumerNet.id())
                .build())
            .region("us-central1")
            .zoneDistributionConfig(ClusterZoneDistributionConfigArgs.builder()
                .mode("SINGLE_ZONE")
                .zone("us-central1-f")
                .build())
            .maintenancePolicy(ClusterMaintenancePolicyArgs.builder()
                .weeklyMaintenanceWindows(ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs.builder()
                    .day("MONDAY")
                    .startTime(ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs.builder()
                        .hours(1)
                        .minutes(0)
                        .seconds(0)
                        .nanos(0)
                        .build())
                    .build())
                .build())
            .deletionProtectionEnabled(true)
            .build(), CustomResourceOptions.builder()
                .dependsOn(default_)
                .build());
    }
}
resources:
  cluster-ha-single-zone:
    type: gcp:redis:Cluster
    properties:
      name: ha-cluster-single-zone
      shardCount: 3
      pscConfigs:
        - network: ${consumerNet.id}
      region: us-central1
      zoneDistributionConfig:
        mode: SINGLE_ZONE
        zone: us-central1-f
      maintenancePolicy:
        weeklyMaintenanceWindows:
          - day: MONDAY
            startTime:
              hours: 1
              minutes: 0
              seconds: 0
              nanos: 0
      deletionProtectionEnabled: true
    options:
      dependsOn:
        - ${default}
  default:
    type: gcp:networkconnectivity:ServiceConnectionPolicy
    properties:
      name: my-policy
      location: us-central1
      serviceClass: gcp-memorystore-redis
      description: my basic service connection policy
      network: ${consumerNet.id}
      pscConfig:
        subnetworks:
          - ${consumerSubnet.id}
  consumerSubnet:
    type: gcp:compute:Subnetwork
    name: consumer_subnet
    properties:
      name: my-subnet
      ipCidrRange: 10.0.0.248/29
      region: us-central1
      network: ${consumerNet.id}
  consumerNet:
    type: gcp:compute:Network
    name: consumer_net
    properties:
      name: my-network
      autoCreateSubnetworks: false
Redis Cluster Secondary
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const consumerNet = new gcp.compute.Network("consumer_net", {
    name: "mynetwork",
    autoCreateSubnetworks: false,
});
const primaryClusterConsumerSubnet = new gcp.compute.Subnetwork("primary_cluster_consumer_subnet", {
    name: "mysubnet-primary-cluster",
    ipCidrRange: "10.0.1.0/29",
    region: "us-east1",
    network: consumerNet.id,
});
const primaryClusterRegionScp = new gcp.networkconnectivity.ServiceConnectionPolicy("primary_cluster_region_scp", {
    name: "mypolicy-primary-cluster",
    location: "us-east1",
    serviceClass: "gcp-memorystore-redis",
    description: "Primary cluster service connection policy",
    network: consumerNet.id,
    pscConfig: {
        subnetworks: [primaryClusterConsumerSubnet.id],
    },
});
// Primary cluster
const primaryCluster = new gcp.redis.Cluster("primary_cluster", {
    name: "my-primary-cluster",
    region: "us-east1",
    pscConfigs: [{
        network: consumerNet.id,
    }],
    authorizationMode: "AUTH_MODE_DISABLED",
    transitEncryptionMode: "TRANSIT_ENCRYPTION_MODE_DISABLED",
    shardCount: 3,
    redisConfigs: {
        "maxmemory-policy": "volatile-ttl",
    },
    nodeType: "REDIS_HIGHMEM_MEDIUM",
    persistenceConfig: {
        mode: "RDB",
        rdbConfig: {
            rdbSnapshotPeriod: "ONE_HOUR",
            rdbSnapshotStartTime: "2024-10-02T15:01:23Z",
        },
    },
    zoneDistributionConfig: {
        mode: "MULTI_ZONE",
    },
    replicaCount: 1,
    maintenancePolicy: {
        weeklyMaintenanceWindows: [{
            day: "MONDAY",
            startTime: {
                hours: 1,
                minutes: 0,
                seconds: 0,
                nanos: 0,
            },
        }],
    },
    deletionProtectionEnabled: true,
}, {
    dependsOn: [primaryClusterRegionScp],
});
const secondaryClusterConsumerSubnet = new gcp.compute.Subnetwork("secondary_cluster_consumer_subnet", {
    name: "mysubnet-secondary-cluster",
    ipCidrRange: "10.0.2.0/29",
    region: "europe-west1",
    network: consumerNet.id,
});
const secondaryClusterRegionScp = new gcp.networkconnectivity.ServiceConnectionPolicy("secondary_cluster_region_scp", {
    name: "mypolicy-secondary-cluster",
    location: "europe-west1",
    serviceClass: "gcp-memorystore-redis",
    description: "Secondary cluster service connection policy",
    network: consumerNet.id,
    pscConfig: {
        subnetworks: [secondaryClusterConsumerSubnet.id],
    },
});
// Secondary cluster
const secondaryCluster = new gcp.redis.Cluster("secondary_cluster", {
    name: "my-secondary-cluster",
    region: "europe-west1",
    pscConfigs: [{
        network: consumerNet.id,
    }],
    authorizationMode: "AUTH_MODE_DISABLED",
    transitEncryptionMode: "TRANSIT_ENCRYPTION_MODE_DISABLED",
    shardCount: 3,
    redisConfigs: {
        "maxmemory-policy": "volatile-ttl",
    },
    nodeType: "REDIS_HIGHMEM_MEDIUM",
    persistenceConfig: {
        mode: "RDB",
        rdbConfig: {
            rdbSnapshotPeriod: "ONE_HOUR",
            rdbSnapshotStartTime: "2024-10-02T15:01:23Z",
        },
    },
    zoneDistributionConfig: {
        mode: "MULTI_ZONE",
    },
    replicaCount: 2,
    maintenancePolicy: {
        weeklyMaintenanceWindows: [{
            day: "WEDNESDAY",
            startTime: {
                hours: 1,
                minutes: 0,
                seconds: 0,
                nanos: 0,
            },
        }],
    },
    deletionProtectionEnabled: true,
    crossClusterReplicationConfig: {
        clusterRole: "SECONDARY",
        primaryCluster: {
            cluster: primaryCluster.id,
        },
    },
}, {
    dependsOn: [secondaryClusterRegionScp],
});
import pulumi
import pulumi_gcp as gcp
consumer_net = gcp.compute.Network("consumer_net",
    name="mynetwork",
    auto_create_subnetworks=False)
primary_cluster_consumer_subnet = gcp.compute.Subnetwork("primary_cluster_consumer_subnet",
    name="mysubnet-primary-cluster",
    ip_cidr_range="10.0.1.0/29",
    region="us-east1",
    network=consumer_net.id)
primary_cluster_region_scp = gcp.networkconnectivity.ServiceConnectionPolicy("primary_cluster_region_scp",
    name="mypolicy-primary-cluster",
    location="us-east1",
    service_class="gcp-memorystore-redis",
    description="Primary cluster service connection policy",
    network=consumer_net.id,
    psc_config={
        "subnetworks": [primary_cluster_consumer_subnet.id],
    })
# Primary cluster
primary_cluster = gcp.redis.Cluster("primary_cluster",
    name="my-primary-cluster",
    region="us-east1",
    psc_configs=[{
        "network": consumer_net.id,
    }],
    authorization_mode="AUTH_MODE_DISABLED",
    transit_encryption_mode="TRANSIT_ENCRYPTION_MODE_DISABLED",
    shard_count=3,
    redis_configs={
        "maxmemory-policy": "volatile-ttl",
    },
    node_type="REDIS_HIGHMEM_MEDIUM",
    persistence_config={
        "mode": "RDB",
        "rdb_config": {
            "rdb_snapshot_period": "ONE_HOUR",
            "rdb_snapshot_start_time": "2024-10-02T15:01:23Z",
        },
    },
    zone_distribution_config={
        "mode": "MULTI_ZONE",
    },
    replica_count=1,
    maintenance_policy={
        "weekly_maintenance_windows": [{
            "day": "MONDAY",
            "start_time": {
                "hours": 1,
                "minutes": 0,
                "seconds": 0,
                "nanos": 0,
            },
        }],
    },
    deletion_protection_enabled=True,
    opts = pulumi.ResourceOptions(depends_on=[primary_cluster_region_scp]))
secondary_cluster_consumer_subnet = gcp.compute.Subnetwork("secondary_cluster_consumer_subnet",
    name="mysubnet-secondary-cluster",
    ip_cidr_range="10.0.2.0/29",
    region="europe-west1",
    network=consumer_net.id)
secondary_cluster_region_scp = gcp.networkconnectivity.ServiceConnectionPolicy("secondary_cluster_region_scp",
    name="mypolicy-secondary-cluster",
    location="europe-west1",
    service_class="gcp-memorystore-redis",
    description="Secondary cluster service connection policy",
    network=consumer_net.id,
    psc_config={
        "subnetworks": [secondary_cluster_consumer_subnet.id],
    })
# Secondary cluster
secondary_cluster = gcp.redis.Cluster("secondary_cluster",
    name="my-secondary-cluster",
    region="europe-west1",
    psc_configs=[{
        "network": consumer_net.id,
    }],
    authorization_mode="AUTH_MODE_DISABLED",
    transit_encryption_mode="TRANSIT_ENCRYPTION_MODE_DISABLED",
    shard_count=3,
    redis_configs={
        "maxmemory-policy": "volatile-ttl",
    },
    node_type="REDIS_HIGHMEM_MEDIUM",
    persistence_config={
        "mode": "RDB",
        "rdb_config": {
            "rdb_snapshot_period": "ONE_HOUR",
            "rdb_snapshot_start_time": "2024-10-02T15:01:23Z",
        },
    },
    zone_distribution_config={
        "mode": "MULTI_ZONE",
    },
    replica_count=2,
    maintenance_policy={
        "weekly_maintenance_windows": [{
            "day": "WEDNESDAY",
            "start_time": {
                "hours": 1,
                "minutes": 0,
                "seconds": 0,
                "nanos": 0,
            },
        }],
    },
    deletion_protection_enabled=True,
    cross_cluster_replication_config={
        "cluster_role": "SECONDARY",
        "primary_cluster": {
            "cluster": primary_cluster.id,
        },
    },
    opts = pulumi.ResourceOptions(depends_on=[secondary_cluster_region_scp]))
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/networkconnectivity"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/redis"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		consumerNet, err := compute.NewNetwork(ctx, "consumer_net", &compute.NetworkArgs{
			Name:                  pulumi.String("mynetwork"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		primaryClusterConsumerSubnet, err := compute.NewSubnetwork(ctx, "primary_cluster_consumer_subnet", &compute.SubnetworkArgs{
			Name:        pulumi.String("mysubnet-primary-cluster"),
			IpCidrRange: pulumi.String("10.0.1.0/29"),
			Region:      pulumi.String("us-east1"),
			Network:     consumerNet.ID(),
		})
		if err != nil {
			return err
		}
		primaryClusterRegionScp, err := networkconnectivity.NewServiceConnectionPolicy(ctx, "primary_cluster_region_scp", &networkconnectivity.ServiceConnectionPolicyArgs{
			Name:         pulumi.String("mypolicy-primary-cluster"),
			Location:     pulumi.String("us-east1"),
			ServiceClass: pulumi.String("gcp-memorystore-redis"),
			Description:  pulumi.String("Primary cluster service connection policy"),
			Network:      consumerNet.ID(),
			PscConfig: &networkconnectivity.ServiceConnectionPolicyPscConfigArgs{
				Subnetworks: pulumi.StringArray{
					primaryClusterConsumerSubnet.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		// Primary cluster
		primaryCluster, err := redis.NewCluster(ctx, "primary_cluster", &redis.ClusterArgs{
			Name:   pulumi.String("my-primary-cluster"),
			Region: pulumi.String("us-east1"),
			PscConfigs: redis.ClusterPscConfigArray{
				&redis.ClusterPscConfigArgs{
					Network: consumerNet.ID(),
				},
			},
			AuthorizationMode:     pulumi.String("AUTH_MODE_DISABLED"),
			TransitEncryptionMode: pulumi.String("TRANSIT_ENCRYPTION_MODE_DISABLED"),
			ShardCount:            pulumi.Int(3),
			RedisConfigs: pulumi.StringMap{
				"maxmemory-policy": pulumi.String("volatile-ttl"),
			},
			NodeType: pulumi.String("REDIS_HIGHMEM_MEDIUM"),
			PersistenceConfig: &redis.ClusterPersistenceConfigArgs{
				Mode: pulumi.String("RDB"),
				RdbConfig: &redis.ClusterPersistenceConfigRdbConfigArgs{
					RdbSnapshotPeriod:    pulumi.String("ONE_HOUR"),
					RdbSnapshotStartTime: pulumi.String("2024-10-02T15:01:23Z"),
				},
			},
			ZoneDistributionConfig: &redis.ClusterZoneDistributionConfigArgs{
				Mode: pulumi.String("MULTI_ZONE"),
			},
			ReplicaCount: pulumi.Int(1),
			MaintenancePolicy: &redis.ClusterMaintenancePolicyArgs{
				WeeklyMaintenanceWindows: redis.ClusterMaintenancePolicyWeeklyMaintenanceWindowArray{
					&redis.ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs{
						Day: pulumi.String("MONDAY"),
						StartTime: &redis.ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs{
							Hours:   pulumi.Int(1),
							Minutes: pulumi.Int(0),
							Seconds: pulumi.Int(0),
							Nanos:   pulumi.Int(0),
						},
					},
				},
			},
			DeletionProtectionEnabled: pulumi.Bool(true),
		}, pulumi.DependsOn([]pulumi.Resource{
			primaryClusterRegionScp,
		}))
		if err != nil {
			return err
		}
		secondaryClusterConsumerSubnet, err := compute.NewSubnetwork(ctx, "secondary_cluster_consumer_subnet", &compute.SubnetworkArgs{
			Name:        pulumi.String("mysubnet-secondary-cluster"),
			IpCidrRange: pulumi.String("10.0.2.0/29"),
			Region:      pulumi.String("europe-west1"),
			Network:     consumerNet.ID(),
		})
		if err != nil {
			return err
		}
		secondaryClusterRegionScp, err := networkconnectivity.NewServiceConnectionPolicy(ctx, "secondary_cluster_region_scp", &networkconnectivity.ServiceConnectionPolicyArgs{
			Name:         pulumi.String("mypolicy-secondary-cluster"),
			Location:     pulumi.String("europe-west1"),
			ServiceClass: pulumi.String("gcp-memorystore-redis"),
			Description:  pulumi.String("Secondary cluster service connection policy"),
			Network:      consumerNet.ID(),
			PscConfig: &networkconnectivity.ServiceConnectionPolicyPscConfigArgs{
				Subnetworks: pulumi.StringArray{
					secondaryClusterConsumerSubnet.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		// Secondary cluster
		_, err = redis.NewCluster(ctx, "secondary_cluster", &redis.ClusterArgs{
			Name:   pulumi.String("my-secondary-cluster"),
			Region: pulumi.String("europe-west1"),
			PscConfigs: redis.ClusterPscConfigArray{
				&redis.ClusterPscConfigArgs{
					Network: consumerNet.ID(),
				},
			},
			AuthorizationMode:     pulumi.String("AUTH_MODE_DISABLED"),
			TransitEncryptionMode: pulumi.String("TRANSIT_ENCRYPTION_MODE_DISABLED"),
			ShardCount:            pulumi.Int(3),
			RedisConfigs: pulumi.StringMap{
				"maxmemory-policy": pulumi.String("volatile-ttl"),
			},
			NodeType: pulumi.String("REDIS_HIGHMEM_MEDIUM"),
			PersistenceConfig: &redis.ClusterPersistenceConfigArgs{
				Mode: pulumi.String("RDB"),
				RdbConfig: &redis.ClusterPersistenceConfigRdbConfigArgs{
					RdbSnapshotPeriod:    pulumi.String("ONE_HOUR"),
					RdbSnapshotStartTime: pulumi.String("2024-10-02T15:01:23Z"),
				},
			},
			ZoneDistributionConfig: &redis.ClusterZoneDistributionConfigArgs{
				Mode: pulumi.String("MULTI_ZONE"),
			},
			ReplicaCount: pulumi.Int(2),
			MaintenancePolicy: &redis.ClusterMaintenancePolicyArgs{
				WeeklyMaintenanceWindows: redis.ClusterMaintenancePolicyWeeklyMaintenanceWindowArray{
					&redis.ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs{
						Day: pulumi.String("WEDNESDAY"),
						StartTime: &redis.ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs{
							Hours:   pulumi.Int(1),
							Minutes: pulumi.Int(0),
							Seconds: pulumi.Int(0),
							Nanos:   pulumi.Int(0),
						},
					},
				},
			},
			DeletionProtectionEnabled: pulumi.Bool(true),
			CrossClusterReplicationConfig: &redis.ClusterCrossClusterReplicationConfigArgs{
				ClusterRole: pulumi.String("SECONDARY"),
				PrimaryCluster: &redis.ClusterCrossClusterReplicationConfigPrimaryClusterArgs{
					Cluster: primaryCluster.ID(),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			secondaryClusterRegionScp,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() => 
{
    var consumerNet = new Gcp.Compute.Network("consumer_net", new()
    {
        Name = "mynetwork",
        AutoCreateSubnetworks = false,
    });
    var primaryClusterConsumerSubnet = new Gcp.Compute.Subnetwork("primary_cluster_consumer_subnet", new()
    {
        Name = "mysubnet-primary-cluster",
        IpCidrRange = "10.0.1.0/29",
        Region = "us-east1",
        Network = consumerNet.Id,
    });
    var primaryClusterRegionScp = new Gcp.NetworkConnectivity.ServiceConnectionPolicy("primary_cluster_region_scp", new()
    {
        Name = "mypolicy-primary-cluster",
        Location = "us-east1",
        ServiceClass = "gcp-memorystore-redis",
        Description = "Primary cluster service connection policy",
        Network = consumerNet.Id,
        PscConfig = new Gcp.NetworkConnectivity.Inputs.ServiceConnectionPolicyPscConfigArgs
        {
            Subnetworks = new[]
            {
                primaryClusterConsumerSubnet.Id,
            },
        },
    });
    // Primary cluster
    var primaryCluster = new Gcp.Redis.Cluster("primary_cluster", new()
    {
        Name = "my-primary-cluster",
        Region = "us-east1",
        PscConfigs = new[]
        {
            new Gcp.Redis.Inputs.ClusterPscConfigArgs
            {
                Network = consumerNet.Id,
            },
        },
        AuthorizationMode = "AUTH_MODE_DISABLED",
        TransitEncryptionMode = "TRANSIT_ENCRYPTION_MODE_DISABLED",
        ShardCount = 3,
        RedisConfigs = 
        {
            { "maxmemory-policy", "volatile-ttl" },
        },
        NodeType = "REDIS_HIGHMEM_MEDIUM",
        PersistenceConfig = new Gcp.Redis.Inputs.ClusterPersistenceConfigArgs
        {
            Mode = "RDB",
            RdbConfig = new Gcp.Redis.Inputs.ClusterPersistenceConfigRdbConfigArgs
            {
                RdbSnapshotPeriod = "ONE_HOUR",
                RdbSnapshotStartTime = "2024-10-02T15:01:23Z",
            },
        },
        ZoneDistributionConfig = new Gcp.Redis.Inputs.ClusterZoneDistributionConfigArgs
        {
            Mode = "MULTI_ZONE",
        },
        ReplicaCount = 1,
        MaintenancePolicy = new Gcp.Redis.Inputs.ClusterMaintenancePolicyArgs
        {
            WeeklyMaintenanceWindows = new[]
            {
                new Gcp.Redis.Inputs.ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs
                {
                    Day = "MONDAY",
                    StartTime = new Gcp.Redis.Inputs.ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs
                    {
                        Hours = 1,
                        Minutes = 0,
                        Seconds = 0,
                        Nanos = 0,
                    },
                },
            },
        },
        DeletionProtectionEnabled = true,
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            primaryClusterRegionScp,
        },
    });
    var secondaryClusterConsumerSubnet = new Gcp.Compute.Subnetwork("secondary_cluster_consumer_subnet", new()
    {
        Name = "mysubnet-secondary-cluster",
        IpCidrRange = "10.0.2.0/29",
        Region = "europe-west1",
        Network = consumerNet.Id,
    });
    var secondaryClusterRegionScp = new Gcp.NetworkConnectivity.ServiceConnectionPolicy("secondary_cluster_region_scp", new()
    {
        Name = "mypolicy-secondary-cluster",
        Location = "europe-west1",
        ServiceClass = "gcp-memorystore-redis",
        Description = "Secondary cluster service connection policy",
        Network = consumerNet.Id,
        PscConfig = new Gcp.NetworkConnectivity.Inputs.ServiceConnectionPolicyPscConfigArgs
        {
            Subnetworks = new[]
            {
                secondaryClusterConsumerSubnet.Id,
            },
        },
    });
    // Secondary cluster
    var secondaryCluster = new Gcp.Redis.Cluster("secondary_cluster", new()
    {
        Name = "my-secondary-cluster",
        Region = "europe-west1",
        PscConfigs = new[]
        {
            new Gcp.Redis.Inputs.ClusterPscConfigArgs
            {
                Network = consumerNet.Id,
            },
        },
        AuthorizationMode = "AUTH_MODE_DISABLED",
        TransitEncryptionMode = "TRANSIT_ENCRYPTION_MODE_DISABLED",
        ShardCount = 3,
        RedisConfigs = 
        {
            { "maxmemory-policy", "volatile-ttl" },
        },
        NodeType = "REDIS_HIGHMEM_MEDIUM",
        PersistenceConfig = new Gcp.Redis.Inputs.ClusterPersistenceConfigArgs
        {
            Mode = "RDB",
            RdbConfig = new Gcp.Redis.Inputs.ClusterPersistenceConfigRdbConfigArgs
            {
                RdbSnapshotPeriod = "ONE_HOUR",
                RdbSnapshotStartTime = "2024-10-02T15:01:23Z",
            },
        },
        ZoneDistributionConfig = new Gcp.Redis.Inputs.ClusterZoneDistributionConfigArgs
        {
            Mode = "MULTI_ZONE",
        },
        ReplicaCount = 2,
        MaintenancePolicy = new Gcp.Redis.Inputs.ClusterMaintenancePolicyArgs
        {
            WeeklyMaintenanceWindows = new[]
            {
                new Gcp.Redis.Inputs.ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs
                {
                    Day = "WEDNESDAY",
                    StartTime = new Gcp.Redis.Inputs.ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs
                    {
                        Hours = 1,
                        Minutes = 0,
                        Seconds = 0,
                        Nanos = 0,
                    },
                },
            },
        },
        DeletionProtectionEnabled = true,
        CrossClusterReplicationConfig = new Gcp.Redis.Inputs.ClusterCrossClusterReplicationConfigArgs
        {
            ClusterRole = "SECONDARY",
            PrimaryCluster = new Gcp.Redis.Inputs.ClusterCrossClusterReplicationConfigPrimaryClusterArgs
            {
                Cluster = primaryCluster.Id,
            },
        },
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            secondaryClusterRegionScp,
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.compute.NetworkArgs;
import com.pulumi.gcp.compute.Subnetwork;
import com.pulumi.gcp.compute.SubnetworkArgs;
import com.pulumi.gcp.networkconnectivity.ServiceConnectionPolicy;
import com.pulumi.gcp.networkconnectivity.ServiceConnectionPolicyArgs;
import com.pulumi.gcp.networkconnectivity.inputs.ServiceConnectionPolicyPscConfigArgs;
import com.pulumi.gcp.redis.Cluster;
import com.pulumi.gcp.redis.ClusterArgs;
import com.pulumi.gcp.redis.inputs.ClusterPscConfigArgs;
import com.pulumi.gcp.redis.inputs.ClusterPersistenceConfigArgs;
import com.pulumi.gcp.redis.inputs.ClusterPersistenceConfigRdbConfigArgs;
import com.pulumi.gcp.redis.inputs.ClusterZoneDistributionConfigArgs;
import com.pulumi.gcp.redis.inputs.ClusterMaintenancePolicyArgs;
import com.pulumi.gcp.redis.inputs.ClusterCrossClusterReplicationConfigArgs;
import com.pulumi.gcp.redis.inputs.ClusterCrossClusterReplicationConfigPrimaryClusterArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var consumerNet = new Network("consumerNet", NetworkArgs.builder()
            .name("mynetwork")
            .autoCreateSubnetworks(false)
            .build());
        var primaryClusterConsumerSubnet = new Subnetwork("primaryClusterConsumerSubnet", SubnetworkArgs.builder()
            .name("mysubnet-primary-cluster")
            .ipCidrRange("10.0.1.0/29")
            .region("us-east1")
            .network(consumerNet.id())
            .build());
        var primaryClusterRegionScp = new ServiceConnectionPolicy("primaryClusterRegionScp", ServiceConnectionPolicyArgs.builder()
            .name("mypolicy-primary-cluster")
            .location("us-east1")
            .serviceClass("gcp-memorystore-redis")
            .description("Primary cluster service connection policy")
            .network(consumerNet.id())
            .pscConfig(ServiceConnectionPolicyPscConfigArgs.builder()
                .subnetworks(primaryClusterConsumerSubnet.id())
                .build())
            .build());
        // Primary cluster
        var primaryCluster = new Cluster("primaryCluster", ClusterArgs.builder()
            .name("my-primary-cluster")
            .region("us-east1")
            .pscConfigs(ClusterPscConfigArgs.builder()
                .network(consumerNet.id())
                .build())
            .authorizationMode("AUTH_MODE_DISABLED")
            .transitEncryptionMode("TRANSIT_ENCRYPTION_MODE_DISABLED")
            .shardCount(3)
            .redisConfigs(Map.of("maxmemory-policy", "volatile-ttl"))
            .nodeType("REDIS_HIGHMEM_MEDIUM")
            .persistenceConfig(ClusterPersistenceConfigArgs.builder()
                .mode("RDB")
                .rdbConfig(ClusterPersistenceConfigRdbConfigArgs.builder()
                    .rdbSnapshotPeriod("ONE_HOUR")
                    .rdbSnapshotStartTime("2024-10-02T15:01:23Z")
                    .build())
                .build())
            .zoneDistributionConfig(ClusterZoneDistributionConfigArgs.builder()
                .mode("MULTI_ZONE")
                .build())
            .replicaCount(1)
            .maintenancePolicy(ClusterMaintenancePolicyArgs.builder()
                .weeklyMaintenanceWindows(ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs.builder()
                    .day("MONDAY")
                    .startTime(ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs.builder()
                        .hours(1)
                        .minutes(0)
                        .seconds(0)
                        .nanos(0)
                        .build())
                    .build())
                .build())
            .deletionProtectionEnabled(true)
            .build(), CustomResourceOptions.builder()
                .dependsOn(primaryClusterRegionScp)
                .build());
        var secondaryClusterConsumerSubnet = new Subnetwork("secondaryClusterConsumerSubnet", SubnetworkArgs.builder()
            .name("mysubnet-secondary-cluster")
            .ipCidrRange("10.0.2.0/29")
            .region("europe-west1")
            .network(consumerNet.id())
            .build());
        var secondaryClusterRegionScp = new ServiceConnectionPolicy("secondaryClusterRegionScp", ServiceConnectionPolicyArgs.builder()
            .name("mypolicy-secondary-cluster")
            .location("europe-west1")
            .serviceClass("gcp-memorystore-redis")
            .description("Secondary cluster service connection policy")
            .network(consumerNet.id())
            .pscConfig(ServiceConnectionPolicyPscConfigArgs.builder()
                .subnetworks(secondaryClusterConsumerSubnet.id())
                .build())
            .build());
        // Secondary cluster
        var secondaryCluster = new Cluster("secondaryCluster", ClusterArgs.builder()
            .name("my-secondary-cluster")
            .region("europe-west1")
            .pscConfigs(ClusterPscConfigArgs.builder()
                .network(consumerNet.id())
                .build())
            .authorizationMode("AUTH_MODE_DISABLED")
            .transitEncryptionMode("TRANSIT_ENCRYPTION_MODE_DISABLED")
            .shardCount(3)
            .redisConfigs(Map.of("maxmemory-policy", "volatile-ttl"))
            .nodeType("REDIS_HIGHMEM_MEDIUM")
            .persistenceConfig(ClusterPersistenceConfigArgs.builder()
                .mode("RDB")
                .rdbConfig(ClusterPersistenceConfigRdbConfigArgs.builder()
                    .rdbSnapshotPeriod("ONE_HOUR")
                    .rdbSnapshotStartTime("2024-10-02T15:01:23Z")
                    .build())
                .build())
            .zoneDistributionConfig(ClusterZoneDistributionConfigArgs.builder()
                .mode("MULTI_ZONE")
                .build())
            .replicaCount(2)
            .maintenancePolicy(ClusterMaintenancePolicyArgs.builder()
                .weeklyMaintenanceWindows(ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs.builder()
                    .day("WEDNESDAY")
                    .startTime(ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs.builder()
                        .hours(1)
                        .minutes(0)
                        .seconds(0)
                        .nanos(0)
                        .build())
                    .build())
                .build())
            .deletionProtectionEnabled(true)
            .crossClusterReplicationConfig(ClusterCrossClusterReplicationConfigArgs.builder()
                .clusterRole("SECONDARY")
                .primaryCluster(ClusterCrossClusterReplicationConfigPrimaryClusterArgs.builder()
                    .cluster(primaryCluster.id())
                    .build())
                .build())
            .build(), CustomResourceOptions.builder()
                .dependsOn(secondaryClusterRegionScp)
                .build());
    }
}
resources:
  # Primary cluster
  primaryCluster:
    type: gcp:redis:Cluster
    name: primary_cluster
    properties:
      name: my-primary-cluster
      region: us-east1
      pscConfigs:
        - network: ${consumerNet.id}
      authorizationMode: AUTH_MODE_DISABLED
      transitEncryptionMode: TRANSIT_ENCRYPTION_MODE_DISABLED
      shardCount: 3
      redisConfigs:
        maxmemory-policy: volatile-ttl
      nodeType: REDIS_HIGHMEM_MEDIUM
      persistenceConfig:
        mode: RDB
        rdbConfig:
          rdbSnapshotPeriod: ONE_HOUR
          rdbSnapshotStartTime: 2024-10-02T15:01:23Z
      zoneDistributionConfig:
        mode: MULTI_ZONE
      replicaCount: 1
      maintenancePolicy:
        weeklyMaintenanceWindows:
          - day: MONDAY
            startTime:
              hours: 1
              minutes: 0
              seconds: 0
              nanos: 0
      deletionProtectionEnabled: true
    options:
      dependsOn:
        - ${primaryClusterRegionScp}
  # Secondary cluster
  secondaryCluster:
    type: gcp:redis:Cluster
    name: secondary_cluster
    properties:
      name: my-secondary-cluster
      region: europe-west1
      pscConfigs:
        - network: ${consumerNet.id}
      authorizationMode: AUTH_MODE_DISABLED
      transitEncryptionMode: TRANSIT_ENCRYPTION_MODE_DISABLED
      shardCount: 3
      redisConfigs:
        maxmemory-policy: volatile-ttl
      nodeType: REDIS_HIGHMEM_MEDIUM
      persistenceConfig:
        mode: RDB
        rdbConfig:
          rdbSnapshotPeriod: ONE_HOUR
          rdbSnapshotStartTime: 2024-10-02T15:01:23Z
      zoneDistributionConfig:
        mode: MULTI_ZONE
      replicaCount: 2
      maintenancePolicy:
        weeklyMaintenanceWindows:
          - day: WEDNESDAY
            startTime:
              hours: 1
              minutes: 0
              seconds: 0
              nanos: 0
      deletionProtectionEnabled: true # Cross cluster replication config
      crossClusterReplicationConfig:
        clusterRole: SECONDARY
        primaryCluster:
          cluster: ${primaryCluster.id}
    options:
      dependsOn:
        - ${secondaryClusterRegionScp}
  primaryClusterRegionScp:
    type: gcp:networkconnectivity:ServiceConnectionPolicy
    name: primary_cluster_region_scp
    properties:
      name: mypolicy-primary-cluster
      location: us-east1
      serviceClass: gcp-memorystore-redis
      description: Primary cluster service connection policy
      network: ${consumerNet.id}
      pscConfig:
        subnetworks:
          - ${primaryClusterConsumerSubnet.id}
  primaryClusterConsumerSubnet:
    type: gcp:compute:Subnetwork
    name: primary_cluster_consumer_subnet
    properties:
      name: mysubnet-primary-cluster
      ipCidrRange: 10.0.1.0/29
      region: us-east1
      network: ${consumerNet.id}
  secondaryClusterRegionScp:
    type: gcp:networkconnectivity:ServiceConnectionPolicy
    name: secondary_cluster_region_scp
    properties:
      name: mypolicy-secondary-cluster
      location: europe-west1
      serviceClass: gcp-memorystore-redis
      description: Secondary cluster service connection policy
      network: ${consumerNet.id}
      pscConfig:
        subnetworks:
          - ${secondaryClusterConsumerSubnet.id}
  secondaryClusterConsumerSubnet:
    type: gcp:compute:Subnetwork
    name: secondary_cluster_consumer_subnet
    properties:
      name: mysubnet-secondary-cluster
      ipCidrRange: 10.0.2.0/29
      region: europe-west1
      network: ${consumerNet.id}
  consumerNet:
    type: gcp:compute:Network
    name: consumer_net
    properties:
      name: mynetwork
      autoCreateSubnetworks: false
Redis Cluster Rdb
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const consumerNet = new gcp.compute.Network("consumer_net", {
    name: "my-network",
    autoCreateSubnetworks: false,
});
const consumerSubnet = new gcp.compute.Subnetwork("consumer_subnet", {
    name: "my-subnet",
    ipCidrRange: "10.0.0.248/29",
    region: "us-central1",
    network: consumerNet.id,
});
const _default = new gcp.networkconnectivity.ServiceConnectionPolicy("default", {
    name: "my-policy",
    location: "us-central1",
    serviceClass: "gcp-memorystore-redis",
    description: "my basic service connection policy",
    network: consumerNet.id,
    pscConfig: {
        subnetworks: [consumerSubnet.id],
    },
});
const cluster_rdb = new gcp.redis.Cluster("cluster-rdb", {
    name: "rdb-cluster",
    shardCount: 3,
    pscConfigs: [{
        network: consumerNet.id,
    }],
    region: "us-central1",
    replicaCount: 0,
    nodeType: "REDIS_SHARED_CORE_NANO",
    transitEncryptionMode: "TRANSIT_ENCRYPTION_MODE_DISABLED",
    authorizationMode: "AUTH_MODE_DISABLED",
    redisConfigs: {
        "maxmemory-policy": "volatile-ttl",
    },
    deletionProtectionEnabled: true,
    zoneDistributionConfig: {
        mode: "MULTI_ZONE",
    },
    maintenancePolicy: {
        weeklyMaintenanceWindows: [{
            day: "MONDAY",
            startTime: {
                hours: 1,
                minutes: 0,
                seconds: 0,
                nanos: 0,
            },
        }],
    },
    persistenceConfig: {
        mode: "RDB",
        rdbConfig: {
            rdbSnapshotPeriod: "ONE_HOUR",
            rdbSnapshotStartTime: "2024-10-02T15:01:23Z",
        },
    },
}, {
    dependsOn: [_default],
});
import pulumi
import pulumi_gcp as gcp
consumer_net = gcp.compute.Network("consumer_net",
    name="my-network",
    auto_create_subnetworks=False)
consumer_subnet = gcp.compute.Subnetwork("consumer_subnet",
    name="my-subnet",
    ip_cidr_range="10.0.0.248/29",
    region="us-central1",
    network=consumer_net.id)
default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
    name="my-policy",
    location="us-central1",
    service_class="gcp-memorystore-redis",
    description="my basic service connection policy",
    network=consumer_net.id,
    psc_config={
        "subnetworks": [consumer_subnet.id],
    })
cluster_rdb = gcp.redis.Cluster("cluster-rdb",
    name="rdb-cluster",
    shard_count=3,
    psc_configs=[{
        "network": consumer_net.id,
    }],
    region="us-central1",
    replica_count=0,
    node_type="REDIS_SHARED_CORE_NANO",
    transit_encryption_mode="TRANSIT_ENCRYPTION_MODE_DISABLED",
    authorization_mode="AUTH_MODE_DISABLED",
    redis_configs={
        "maxmemory-policy": "volatile-ttl",
    },
    deletion_protection_enabled=True,
    zone_distribution_config={
        "mode": "MULTI_ZONE",
    },
    maintenance_policy={
        "weekly_maintenance_windows": [{
            "day": "MONDAY",
            "start_time": {
                "hours": 1,
                "minutes": 0,
                "seconds": 0,
                "nanos": 0,
            },
        }],
    },
    persistence_config={
        "mode": "RDB",
        "rdb_config": {
            "rdb_snapshot_period": "ONE_HOUR",
            "rdb_snapshot_start_time": "2024-10-02T15:01:23Z",
        },
    },
    opts = pulumi.ResourceOptions(depends_on=[default]))
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/networkconnectivity"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/redis"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		consumerNet, err := compute.NewNetwork(ctx, "consumer_net", &compute.NetworkArgs{
			Name:                  pulumi.String("my-network"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		consumerSubnet, err := compute.NewSubnetwork(ctx, "consumer_subnet", &compute.SubnetworkArgs{
			Name:        pulumi.String("my-subnet"),
			IpCidrRange: pulumi.String("10.0.0.248/29"),
			Region:      pulumi.String("us-central1"),
			Network:     consumerNet.ID(),
		})
		if err != nil {
			return err
		}
		_default, err := networkconnectivity.NewServiceConnectionPolicy(ctx, "default", &networkconnectivity.ServiceConnectionPolicyArgs{
			Name:         pulumi.String("my-policy"),
			Location:     pulumi.String("us-central1"),
			ServiceClass: pulumi.String("gcp-memorystore-redis"),
			Description:  pulumi.String("my basic service connection policy"),
			Network:      consumerNet.ID(),
			PscConfig: &networkconnectivity.ServiceConnectionPolicyPscConfigArgs{
				Subnetworks: pulumi.StringArray{
					consumerSubnet.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = redis.NewCluster(ctx, "cluster-rdb", &redis.ClusterArgs{
			Name:       pulumi.String("rdb-cluster"),
			ShardCount: pulumi.Int(3),
			PscConfigs: redis.ClusterPscConfigArray{
				&redis.ClusterPscConfigArgs{
					Network: consumerNet.ID(),
				},
			},
			Region:                pulumi.String("us-central1"),
			ReplicaCount:          pulumi.Int(0),
			NodeType:              pulumi.String("REDIS_SHARED_CORE_NANO"),
			TransitEncryptionMode: pulumi.String("TRANSIT_ENCRYPTION_MODE_DISABLED"),
			AuthorizationMode:     pulumi.String("AUTH_MODE_DISABLED"),
			RedisConfigs: pulumi.StringMap{
				"maxmemory-policy": pulumi.String("volatile-ttl"),
			},
			DeletionProtectionEnabled: pulumi.Bool(true),
			ZoneDistributionConfig: &redis.ClusterZoneDistributionConfigArgs{
				Mode: pulumi.String("MULTI_ZONE"),
			},
			MaintenancePolicy: &redis.ClusterMaintenancePolicyArgs{
				WeeklyMaintenanceWindows: redis.ClusterMaintenancePolicyWeeklyMaintenanceWindowArray{
					&redis.ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs{
						Day: pulumi.String("MONDAY"),
						StartTime: &redis.ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs{
							Hours:   pulumi.Int(1),
							Minutes: pulumi.Int(0),
							Seconds: pulumi.Int(0),
							Nanos:   pulumi.Int(0),
						},
					},
				},
			},
			PersistenceConfig: &redis.ClusterPersistenceConfigArgs{
				Mode: pulumi.String("RDB"),
				RdbConfig: &redis.ClusterPersistenceConfigRdbConfigArgs{
					RdbSnapshotPeriod:    pulumi.String("ONE_HOUR"),
					RdbSnapshotStartTime: pulumi.String("2024-10-02T15:01:23Z"),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			_default,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() => 
{
    var consumerNet = new Gcp.Compute.Network("consumer_net", new()
    {
        Name = "my-network",
        AutoCreateSubnetworks = false,
    });
    var consumerSubnet = new Gcp.Compute.Subnetwork("consumer_subnet", new()
    {
        Name = "my-subnet",
        IpCidrRange = "10.0.0.248/29",
        Region = "us-central1",
        Network = consumerNet.Id,
    });
    var @default = new Gcp.NetworkConnectivity.ServiceConnectionPolicy("default", new()
    {
        Name = "my-policy",
        Location = "us-central1",
        ServiceClass = "gcp-memorystore-redis",
        Description = "my basic service connection policy",
        Network = consumerNet.Id,
        PscConfig = new Gcp.NetworkConnectivity.Inputs.ServiceConnectionPolicyPscConfigArgs
        {
            Subnetworks = new[]
            {
                consumerSubnet.Id,
            },
        },
    });
    var cluster_rdb = new Gcp.Redis.Cluster("cluster-rdb", new()
    {
        Name = "rdb-cluster",
        ShardCount = 3,
        PscConfigs = new[]
        {
            new Gcp.Redis.Inputs.ClusterPscConfigArgs
            {
                Network = consumerNet.Id,
            },
        },
        Region = "us-central1",
        ReplicaCount = 0,
        NodeType = "REDIS_SHARED_CORE_NANO",
        TransitEncryptionMode = "TRANSIT_ENCRYPTION_MODE_DISABLED",
        AuthorizationMode = "AUTH_MODE_DISABLED",
        RedisConfigs = 
        {
            { "maxmemory-policy", "volatile-ttl" },
        },
        DeletionProtectionEnabled = true,
        ZoneDistributionConfig = new Gcp.Redis.Inputs.ClusterZoneDistributionConfigArgs
        {
            Mode = "MULTI_ZONE",
        },
        MaintenancePolicy = new Gcp.Redis.Inputs.ClusterMaintenancePolicyArgs
        {
            WeeklyMaintenanceWindows = new[]
            {
                new Gcp.Redis.Inputs.ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs
                {
                    Day = "MONDAY",
                    StartTime = new Gcp.Redis.Inputs.ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs
                    {
                        Hours = 1,
                        Minutes = 0,
                        Seconds = 0,
                        Nanos = 0,
                    },
                },
            },
        },
        PersistenceConfig = new Gcp.Redis.Inputs.ClusterPersistenceConfigArgs
        {
            Mode = "RDB",
            RdbConfig = new Gcp.Redis.Inputs.ClusterPersistenceConfigRdbConfigArgs
            {
                RdbSnapshotPeriod = "ONE_HOUR",
                RdbSnapshotStartTime = "2024-10-02T15:01:23Z",
            },
        },
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            @default,
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.compute.NetworkArgs;
import com.pulumi.gcp.compute.Subnetwork;
import com.pulumi.gcp.compute.SubnetworkArgs;
import com.pulumi.gcp.networkconnectivity.ServiceConnectionPolicy;
import com.pulumi.gcp.networkconnectivity.ServiceConnectionPolicyArgs;
import com.pulumi.gcp.networkconnectivity.inputs.ServiceConnectionPolicyPscConfigArgs;
import com.pulumi.gcp.redis.Cluster;
import com.pulumi.gcp.redis.ClusterArgs;
import com.pulumi.gcp.redis.inputs.ClusterPscConfigArgs;
import com.pulumi.gcp.redis.inputs.ClusterZoneDistributionConfigArgs;
import com.pulumi.gcp.redis.inputs.ClusterMaintenancePolicyArgs;
import com.pulumi.gcp.redis.inputs.ClusterPersistenceConfigArgs;
import com.pulumi.gcp.redis.inputs.ClusterPersistenceConfigRdbConfigArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var consumerNet = new Network("consumerNet", NetworkArgs.builder()
            .name("my-network")
            .autoCreateSubnetworks(false)
            .build());
        var consumerSubnet = new Subnetwork("consumerSubnet", SubnetworkArgs.builder()
            .name("my-subnet")
            .ipCidrRange("10.0.0.248/29")
            .region("us-central1")
            .network(consumerNet.id())
            .build());
        var default_ = new ServiceConnectionPolicy("default", ServiceConnectionPolicyArgs.builder()
            .name("my-policy")
            .location("us-central1")
            .serviceClass("gcp-memorystore-redis")
            .description("my basic service connection policy")
            .network(consumerNet.id())
            .pscConfig(ServiceConnectionPolicyPscConfigArgs.builder()
                .subnetworks(consumerSubnet.id())
                .build())
            .build());
        var cluster_rdb = new Cluster("cluster-rdb", ClusterArgs.builder()
            .name("rdb-cluster")
            .shardCount(3)
            .pscConfigs(ClusterPscConfigArgs.builder()
                .network(consumerNet.id())
                .build())
            .region("us-central1")
            .replicaCount(0)
            .nodeType("REDIS_SHARED_CORE_NANO")
            .transitEncryptionMode("TRANSIT_ENCRYPTION_MODE_DISABLED")
            .authorizationMode("AUTH_MODE_DISABLED")
            .redisConfigs(Map.of("maxmemory-policy", "volatile-ttl"))
            .deletionProtectionEnabled(true)
            .zoneDistributionConfig(ClusterZoneDistributionConfigArgs.builder()
                .mode("MULTI_ZONE")
                .build())
            .maintenancePolicy(ClusterMaintenancePolicyArgs.builder()
                .weeklyMaintenanceWindows(ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs.builder()
                    .day("MONDAY")
                    .startTime(ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs.builder()
                        .hours(1)
                        .minutes(0)
                        .seconds(0)
                        .nanos(0)
                        .build())
                    .build())
                .build())
            .persistenceConfig(ClusterPersistenceConfigArgs.builder()
                .mode("RDB")
                .rdbConfig(ClusterPersistenceConfigRdbConfigArgs.builder()
                    .rdbSnapshotPeriod("ONE_HOUR")
                    .rdbSnapshotStartTime("2024-10-02T15:01:23Z")
                    .build())
                .build())
            .build(), CustomResourceOptions.builder()
                .dependsOn(default_)
                .build());
    }
}
resources:
  cluster-rdb:
    type: gcp:redis:Cluster
    properties:
      name: rdb-cluster
      shardCount: 3
      pscConfigs:
        - network: ${consumerNet.id}
      region: us-central1
      replicaCount: 0
      nodeType: REDIS_SHARED_CORE_NANO
      transitEncryptionMode: TRANSIT_ENCRYPTION_MODE_DISABLED
      authorizationMode: AUTH_MODE_DISABLED
      redisConfigs:
        maxmemory-policy: volatile-ttl
      deletionProtectionEnabled: true
      zoneDistributionConfig:
        mode: MULTI_ZONE
      maintenancePolicy:
        weeklyMaintenanceWindows:
          - day: MONDAY
            startTime:
              hours: 1
              minutes: 0
              seconds: 0
              nanos: 0
      persistenceConfig:
        mode: RDB
        rdbConfig:
          rdbSnapshotPeriod: ONE_HOUR
          rdbSnapshotStartTime: 2024-10-02T15:01:23Z
    options:
      dependsOn:
        - ${default}
  default:
    type: gcp:networkconnectivity:ServiceConnectionPolicy
    properties:
      name: my-policy
      location: us-central1
      serviceClass: gcp-memorystore-redis
      description: my basic service connection policy
      network: ${consumerNet.id}
      pscConfig:
        subnetworks:
          - ${consumerSubnet.id}
  consumerSubnet:
    type: gcp:compute:Subnetwork
    name: consumer_subnet
    properties:
      name: my-subnet
      ipCidrRange: 10.0.0.248/29
      region: us-central1
      network: ${consumerNet.id}
  consumerNet:
    type: gcp:compute:Network
    name: consumer_net
    properties:
      name: my-network
      autoCreateSubnetworks: false
Redis Cluster Aof
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const consumerNet = new gcp.compute.Network("consumer_net", {
    name: "my-network",
    autoCreateSubnetworks: false,
});
const consumerSubnet = new gcp.compute.Subnetwork("consumer_subnet", {
    name: "my-subnet",
    ipCidrRange: "10.0.0.248/29",
    region: "us-central1",
    network: consumerNet.id,
});
const _default = new gcp.networkconnectivity.ServiceConnectionPolicy("default", {
    name: "my-policy",
    location: "us-central1",
    serviceClass: "gcp-memorystore-redis",
    description: "my basic service connection policy",
    network: consumerNet.id,
    pscConfig: {
        subnetworks: [consumerSubnet.id],
    },
});
const cluster_aof = new gcp.redis.Cluster("cluster-aof", {
    name: "aof-cluster",
    shardCount: 3,
    pscConfigs: [{
        network: consumerNet.id,
    }],
    region: "us-central1",
    replicaCount: 0,
    nodeType: "REDIS_SHARED_CORE_NANO",
    transitEncryptionMode: "TRANSIT_ENCRYPTION_MODE_DISABLED",
    authorizationMode: "AUTH_MODE_DISABLED",
    redisConfigs: {
        "maxmemory-policy": "volatile-ttl",
    },
    deletionProtectionEnabled: true,
    zoneDistributionConfig: {
        mode: "MULTI_ZONE",
    },
    maintenancePolicy: {
        weeklyMaintenanceWindows: [{
            day: "MONDAY",
            startTime: {
                hours: 1,
                minutes: 0,
                seconds: 0,
                nanos: 0,
            },
        }],
    },
    persistenceConfig: {
        mode: "AOF",
        aofConfig: {
            appendFsync: "EVERYSEC",
        },
    },
}, {
    dependsOn: [_default],
});
import pulumi
import pulumi_gcp as gcp
consumer_net = gcp.compute.Network("consumer_net",
    name="my-network",
    auto_create_subnetworks=False)
consumer_subnet = gcp.compute.Subnetwork("consumer_subnet",
    name="my-subnet",
    ip_cidr_range="10.0.0.248/29",
    region="us-central1",
    network=consumer_net.id)
default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
    name="my-policy",
    location="us-central1",
    service_class="gcp-memorystore-redis",
    description="my basic service connection policy",
    network=consumer_net.id,
    psc_config={
        "subnetworks": [consumer_subnet.id],
    })
cluster_aof = gcp.redis.Cluster("cluster-aof",
    name="aof-cluster",
    shard_count=3,
    psc_configs=[{
        "network": consumer_net.id,
    }],
    region="us-central1",
    replica_count=0,
    node_type="REDIS_SHARED_CORE_NANO",
    transit_encryption_mode="TRANSIT_ENCRYPTION_MODE_DISABLED",
    authorization_mode="AUTH_MODE_DISABLED",
    redis_configs={
        "maxmemory-policy": "volatile-ttl",
    },
    deletion_protection_enabled=True,
    zone_distribution_config={
        "mode": "MULTI_ZONE",
    },
    maintenance_policy={
        "weekly_maintenance_windows": [{
            "day": "MONDAY",
            "start_time": {
                "hours": 1,
                "minutes": 0,
                "seconds": 0,
                "nanos": 0,
            },
        }],
    },
    persistence_config={
        "mode": "AOF",
        "aof_config": {
            "append_fsync": "EVERYSEC",
        },
    },
    opts = pulumi.ResourceOptions(depends_on=[default]))
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/networkconnectivity"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/redis"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		consumerNet, err := compute.NewNetwork(ctx, "consumer_net", &compute.NetworkArgs{
			Name:                  pulumi.String("my-network"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		consumerSubnet, err := compute.NewSubnetwork(ctx, "consumer_subnet", &compute.SubnetworkArgs{
			Name:        pulumi.String("my-subnet"),
			IpCidrRange: pulumi.String("10.0.0.248/29"),
			Region:      pulumi.String("us-central1"),
			Network:     consumerNet.ID(),
		})
		if err != nil {
			return err
		}
		_default, err := networkconnectivity.NewServiceConnectionPolicy(ctx, "default", &networkconnectivity.ServiceConnectionPolicyArgs{
			Name:         pulumi.String("my-policy"),
			Location:     pulumi.String("us-central1"),
			ServiceClass: pulumi.String("gcp-memorystore-redis"),
			Description:  pulumi.String("my basic service connection policy"),
			Network:      consumerNet.ID(),
			PscConfig: &networkconnectivity.ServiceConnectionPolicyPscConfigArgs{
				Subnetworks: pulumi.StringArray{
					consumerSubnet.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = redis.NewCluster(ctx, "cluster-aof", &redis.ClusterArgs{
			Name:       pulumi.String("aof-cluster"),
			ShardCount: pulumi.Int(3),
			PscConfigs: redis.ClusterPscConfigArray{
				&redis.ClusterPscConfigArgs{
					Network: consumerNet.ID(),
				},
			},
			Region:                pulumi.String("us-central1"),
			ReplicaCount:          pulumi.Int(0),
			NodeType:              pulumi.String("REDIS_SHARED_CORE_NANO"),
			TransitEncryptionMode: pulumi.String("TRANSIT_ENCRYPTION_MODE_DISABLED"),
			AuthorizationMode:     pulumi.String("AUTH_MODE_DISABLED"),
			RedisConfigs: pulumi.StringMap{
				"maxmemory-policy": pulumi.String("volatile-ttl"),
			},
			DeletionProtectionEnabled: pulumi.Bool(true),
			ZoneDistributionConfig: &redis.ClusterZoneDistributionConfigArgs{
				Mode: pulumi.String("MULTI_ZONE"),
			},
			MaintenancePolicy: &redis.ClusterMaintenancePolicyArgs{
				WeeklyMaintenanceWindows: redis.ClusterMaintenancePolicyWeeklyMaintenanceWindowArray{
					&redis.ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs{
						Day: pulumi.String("MONDAY"),
						StartTime: &redis.ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs{
							Hours:   pulumi.Int(1),
							Minutes: pulumi.Int(0),
							Seconds: pulumi.Int(0),
							Nanos:   pulumi.Int(0),
						},
					},
				},
			},
			PersistenceConfig: &redis.ClusterPersistenceConfigArgs{
				Mode: pulumi.String("AOF"),
				AofConfig: &redis.ClusterPersistenceConfigAofConfigArgs{
					AppendFsync: pulumi.String("EVERYSEC"),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			_default,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() => 
{
    var consumerNet = new Gcp.Compute.Network("consumer_net", new()
    {
        Name = "my-network",
        AutoCreateSubnetworks = false,
    });
    var consumerSubnet = new Gcp.Compute.Subnetwork("consumer_subnet", new()
    {
        Name = "my-subnet",
        IpCidrRange = "10.0.0.248/29",
        Region = "us-central1",
        Network = consumerNet.Id,
    });
    var @default = new Gcp.NetworkConnectivity.ServiceConnectionPolicy("default", new()
    {
        Name = "my-policy",
        Location = "us-central1",
        ServiceClass = "gcp-memorystore-redis",
        Description = "my basic service connection policy",
        Network = consumerNet.Id,
        PscConfig = new Gcp.NetworkConnectivity.Inputs.ServiceConnectionPolicyPscConfigArgs
        {
            Subnetworks = new[]
            {
                consumerSubnet.Id,
            },
        },
    });
    var cluster_aof = new Gcp.Redis.Cluster("cluster-aof", new()
    {
        Name = "aof-cluster",
        ShardCount = 3,
        PscConfigs = new[]
        {
            new Gcp.Redis.Inputs.ClusterPscConfigArgs
            {
                Network = consumerNet.Id,
            },
        },
        Region = "us-central1",
        ReplicaCount = 0,
        NodeType = "REDIS_SHARED_CORE_NANO",
        TransitEncryptionMode = "TRANSIT_ENCRYPTION_MODE_DISABLED",
        AuthorizationMode = "AUTH_MODE_DISABLED",
        RedisConfigs = 
        {
            { "maxmemory-policy", "volatile-ttl" },
        },
        DeletionProtectionEnabled = true,
        ZoneDistributionConfig = new Gcp.Redis.Inputs.ClusterZoneDistributionConfigArgs
        {
            Mode = "MULTI_ZONE",
        },
        MaintenancePolicy = new Gcp.Redis.Inputs.ClusterMaintenancePolicyArgs
        {
            WeeklyMaintenanceWindows = new[]
            {
                new Gcp.Redis.Inputs.ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs
                {
                    Day = "MONDAY",
                    StartTime = new Gcp.Redis.Inputs.ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs
                    {
                        Hours = 1,
                        Minutes = 0,
                        Seconds = 0,
                        Nanos = 0,
                    },
                },
            },
        },
        PersistenceConfig = new Gcp.Redis.Inputs.ClusterPersistenceConfigArgs
        {
            Mode = "AOF",
            AofConfig = new Gcp.Redis.Inputs.ClusterPersistenceConfigAofConfigArgs
            {
                AppendFsync = "EVERYSEC",
            },
        },
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            @default,
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.compute.NetworkArgs;
import com.pulumi.gcp.compute.Subnetwork;
import com.pulumi.gcp.compute.SubnetworkArgs;
import com.pulumi.gcp.networkconnectivity.ServiceConnectionPolicy;
import com.pulumi.gcp.networkconnectivity.ServiceConnectionPolicyArgs;
import com.pulumi.gcp.networkconnectivity.inputs.ServiceConnectionPolicyPscConfigArgs;
import com.pulumi.gcp.redis.Cluster;
import com.pulumi.gcp.redis.ClusterArgs;
import com.pulumi.gcp.redis.inputs.ClusterPscConfigArgs;
import com.pulumi.gcp.redis.inputs.ClusterZoneDistributionConfigArgs;
import com.pulumi.gcp.redis.inputs.ClusterMaintenancePolicyArgs;
import com.pulumi.gcp.redis.inputs.ClusterPersistenceConfigArgs;
import com.pulumi.gcp.redis.inputs.ClusterPersistenceConfigAofConfigArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var consumerNet = new Network("consumerNet", NetworkArgs.builder()
            .name("my-network")
            .autoCreateSubnetworks(false)
            .build());
        var consumerSubnet = new Subnetwork("consumerSubnet", SubnetworkArgs.builder()
            .name("my-subnet")
            .ipCidrRange("10.0.0.248/29")
            .region("us-central1")
            .network(consumerNet.id())
            .build());
        var default_ = new ServiceConnectionPolicy("default", ServiceConnectionPolicyArgs.builder()
            .name("my-policy")
            .location("us-central1")
            .serviceClass("gcp-memorystore-redis")
            .description("my basic service connection policy")
            .network(consumerNet.id())
            .pscConfig(ServiceConnectionPolicyPscConfigArgs.builder()
                .subnetworks(consumerSubnet.id())
                .build())
            .build());
        var cluster_aof = new Cluster("cluster-aof", ClusterArgs.builder()
            .name("aof-cluster")
            .shardCount(3)
            .pscConfigs(ClusterPscConfigArgs.builder()
                .network(consumerNet.id())
                .build())
            .region("us-central1")
            .replicaCount(0)
            .nodeType("REDIS_SHARED_CORE_NANO")
            .transitEncryptionMode("TRANSIT_ENCRYPTION_MODE_DISABLED")
            .authorizationMode("AUTH_MODE_DISABLED")
            .redisConfigs(Map.of("maxmemory-policy", "volatile-ttl"))
            .deletionProtectionEnabled(true)
            .zoneDistributionConfig(ClusterZoneDistributionConfigArgs.builder()
                .mode("MULTI_ZONE")
                .build())
            .maintenancePolicy(ClusterMaintenancePolicyArgs.builder()
                .weeklyMaintenanceWindows(ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs.builder()
                    .day("MONDAY")
                    .startTime(ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs.builder()
                        .hours(1)
                        .minutes(0)
                        .seconds(0)
                        .nanos(0)
                        .build())
                    .build())
                .build())
            .persistenceConfig(ClusterPersistenceConfigArgs.builder()
                .mode("AOF")
                .aofConfig(ClusterPersistenceConfigAofConfigArgs.builder()
                    .appendFsync("EVERYSEC")
                    .build())
                .build())
            .build(), CustomResourceOptions.builder()
                .dependsOn(default_)
                .build());
    }
}
resources:
  cluster-aof:
    type: gcp:redis:Cluster
    properties:
      name: aof-cluster
      shardCount: 3
      pscConfigs:
        - network: ${consumerNet.id}
      region: us-central1
      replicaCount: 0
      nodeType: REDIS_SHARED_CORE_NANO
      transitEncryptionMode: TRANSIT_ENCRYPTION_MODE_DISABLED
      authorizationMode: AUTH_MODE_DISABLED
      redisConfigs:
        maxmemory-policy: volatile-ttl
      deletionProtectionEnabled: true
      zoneDistributionConfig:
        mode: MULTI_ZONE
      maintenancePolicy:
        weeklyMaintenanceWindows:
          - day: MONDAY
            startTime:
              hours: 1
              minutes: 0
              seconds: 0
              nanos: 0
      persistenceConfig:
        mode: AOF
        aofConfig:
          appendFsync: EVERYSEC
    options:
      dependsOn:
        - ${default}
  default:
    type: gcp:networkconnectivity:ServiceConnectionPolicy
    properties:
      name: my-policy
      location: us-central1
      serviceClass: gcp-memorystore-redis
      description: my basic service connection policy
      network: ${consumerNet.id}
      pscConfig:
        subnetworks:
          - ${consumerSubnet.id}
  consumerSubnet:
    type: gcp:compute:Subnetwork
    name: consumer_subnet
    properties:
      name: my-subnet
      ipCidrRange: 10.0.0.248/29
      region: us-central1
      network: ${consumerNet.id}
  consumerNet:
    type: gcp:compute:Network
    name: consumer_net
    properties:
      name: my-network
      autoCreateSubnetworks: false
Redis Cluster Cmek
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const consumerNet = new gcp.compute.Network("consumer_net", {
    name: "my-network",
    autoCreateSubnetworks: false,
});
const consumerSubnet = new gcp.compute.Subnetwork("consumer_subnet", {
    name: "my-subnet",
    ipCidrRange: "10.0.0.248/29",
    region: "us-central1",
    network: consumerNet.id,
});
const _default = new gcp.networkconnectivity.ServiceConnectionPolicy("default", {
    name: "my-policy",
    location: "us-central1",
    serviceClass: "gcp-memorystore-redis",
    description: "my basic service connection policy",
    network: consumerNet.id,
    pscConfig: {
        subnetworks: [consumerSubnet.id],
    },
});
const cluster_cmek = new gcp.redis.Cluster("cluster-cmek", {
    name: "cmek-cluster",
    shardCount: 3,
    pscConfigs: [{
        network: consumerNet.id,
    }],
    kmsKey: "my-key",
    region: "us-central1",
    deletionProtectionEnabled: true,
}, {
    dependsOn: [_default],
});
const project = gcp.organizations.getProject({});
import pulumi
import pulumi_gcp as gcp
consumer_net = gcp.compute.Network("consumer_net",
    name="my-network",
    auto_create_subnetworks=False)
consumer_subnet = gcp.compute.Subnetwork("consumer_subnet",
    name="my-subnet",
    ip_cidr_range="10.0.0.248/29",
    region="us-central1",
    network=consumer_net.id)
default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
    name="my-policy",
    location="us-central1",
    service_class="gcp-memorystore-redis",
    description="my basic service connection policy",
    network=consumer_net.id,
    psc_config={
        "subnetworks": [consumer_subnet.id],
    })
cluster_cmek = gcp.redis.Cluster("cluster-cmek",
    name="cmek-cluster",
    shard_count=3,
    psc_configs=[{
        "network": consumer_net.id,
    }],
    kms_key="my-key",
    region="us-central1",
    deletion_protection_enabled=True,
    opts = pulumi.ResourceOptions(depends_on=[default]))
project = gcp.organizations.get_project()
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/networkconnectivity"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/redis"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		consumerNet, err := compute.NewNetwork(ctx, "consumer_net", &compute.NetworkArgs{
			Name:                  pulumi.String("my-network"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		consumerSubnet, err := compute.NewSubnetwork(ctx, "consumer_subnet", &compute.SubnetworkArgs{
			Name:        pulumi.String("my-subnet"),
			IpCidrRange: pulumi.String("10.0.0.248/29"),
			Region:      pulumi.String("us-central1"),
			Network:     consumerNet.ID(),
		})
		if err != nil {
			return err
		}
		_default, err := networkconnectivity.NewServiceConnectionPolicy(ctx, "default", &networkconnectivity.ServiceConnectionPolicyArgs{
			Name:         pulumi.String("my-policy"),
			Location:     pulumi.String("us-central1"),
			ServiceClass: pulumi.String("gcp-memorystore-redis"),
			Description:  pulumi.String("my basic service connection policy"),
			Network:      consumerNet.ID(),
			PscConfig: &networkconnectivity.ServiceConnectionPolicyPscConfigArgs{
				Subnetworks: pulumi.StringArray{
					consumerSubnet.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = redis.NewCluster(ctx, "cluster-cmek", &redis.ClusterArgs{
			Name:       pulumi.String("cmek-cluster"),
			ShardCount: pulumi.Int(3),
			PscConfigs: redis.ClusterPscConfigArray{
				&redis.ClusterPscConfigArgs{
					Network: consumerNet.ID(),
				},
			},
			KmsKey:                    pulumi.String("my-key"),
			Region:                    pulumi.String("us-central1"),
			DeletionProtectionEnabled: pulumi.Bool(true),
		}, pulumi.DependsOn([]pulumi.Resource{
			_default,
		}))
		if err != nil {
			return err
		}
		_, err = organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() => 
{
    var consumerNet = new Gcp.Compute.Network("consumer_net", new()
    {
        Name = "my-network",
        AutoCreateSubnetworks = false,
    });
    var consumerSubnet = new Gcp.Compute.Subnetwork("consumer_subnet", new()
    {
        Name = "my-subnet",
        IpCidrRange = "10.0.0.248/29",
        Region = "us-central1",
        Network = consumerNet.Id,
    });
    var @default = new Gcp.NetworkConnectivity.ServiceConnectionPolicy("default", new()
    {
        Name = "my-policy",
        Location = "us-central1",
        ServiceClass = "gcp-memorystore-redis",
        Description = "my basic service connection policy",
        Network = consumerNet.Id,
        PscConfig = new Gcp.NetworkConnectivity.Inputs.ServiceConnectionPolicyPscConfigArgs
        {
            Subnetworks = new[]
            {
                consumerSubnet.Id,
            },
        },
    });
    var cluster_cmek = new Gcp.Redis.Cluster("cluster-cmek", new()
    {
        Name = "cmek-cluster",
        ShardCount = 3,
        PscConfigs = new[]
        {
            new Gcp.Redis.Inputs.ClusterPscConfigArgs
            {
                Network = consumerNet.Id,
            },
        },
        KmsKey = "my-key",
        Region = "us-central1",
        DeletionProtectionEnabled = true,
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            @default,
        },
    });
    var project = Gcp.Organizations.GetProject.Invoke();
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.compute.NetworkArgs;
import com.pulumi.gcp.compute.Subnetwork;
import com.pulumi.gcp.compute.SubnetworkArgs;
import com.pulumi.gcp.networkconnectivity.ServiceConnectionPolicy;
import com.pulumi.gcp.networkconnectivity.ServiceConnectionPolicyArgs;
import com.pulumi.gcp.networkconnectivity.inputs.ServiceConnectionPolicyPscConfigArgs;
import com.pulumi.gcp.redis.Cluster;
import com.pulumi.gcp.redis.ClusterArgs;
import com.pulumi.gcp.redis.inputs.ClusterPscConfigArgs;
import com.pulumi.gcp.organizations.OrganizationsFunctions;
import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var consumerNet = new Network("consumerNet", NetworkArgs.builder()
            .name("my-network")
            .autoCreateSubnetworks(false)
            .build());
        var consumerSubnet = new Subnetwork("consumerSubnet", SubnetworkArgs.builder()
            .name("my-subnet")
            .ipCidrRange("10.0.0.248/29")
            .region("us-central1")
            .network(consumerNet.id())
            .build());
        var default_ = new ServiceConnectionPolicy("default", ServiceConnectionPolicyArgs.builder()
            .name("my-policy")
            .location("us-central1")
            .serviceClass("gcp-memorystore-redis")
            .description("my basic service connection policy")
            .network(consumerNet.id())
            .pscConfig(ServiceConnectionPolicyPscConfigArgs.builder()
                .subnetworks(consumerSubnet.id())
                .build())
            .build());
        var cluster_cmek = new Cluster("cluster-cmek", ClusterArgs.builder()
            .name("cmek-cluster")
            .shardCount(3)
            .pscConfigs(ClusterPscConfigArgs.builder()
                .network(consumerNet.id())
                .build())
            .kmsKey("my-key")
            .region("us-central1")
            .deletionProtectionEnabled(true)
            .build(), CustomResourceOptions.builder()
                .dependsOn(default_)
                .build());
        final var project = OrganizationsFunctions.getProject();
    }
}
resources:
  cluster-cmek:
    type: gcp:redis:Cluster
    properties:
      name: cmek-cluster
      shardCount: 3
      pscConfigs:
        - network: ${consumerNet.id}
      kmsKey: my-key
      region: us-central1
      deletionProtectionEnabled: true
    options:
      dependsOn:
        - ${default}
  default:
    type: gcp:networkconnectivity:ServiceConnectionPolicy
    properties:
      name: my-policy
      location: us-central1
      serviceClass: gcp-memorystore-redis
      description: my basic service connection policy
      network: ${consumerNet.id}
      pscConfig:
        subnetworks:
          - ${consumerSubnet.id}
  consumerSubnet:
    type: gcp:compute:Subnetwork
    name: consumer_subnet
    properties:
      name: my-subnet
      ipCidrRange: 10.0.0.248/29
      region: us-central1
      network: ${consumerNet.id}
  consumerNet:
    type: gcp:compute:Network
    name: consumer_net
    properties:
      name: my-network
      autoCreateSubnetworks: false
variables:
  project:
    fn::invoke:
      function: gcp:organizations:getProject
      arguments: {}
Create Cluster Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Cluster(name: string, args: ClusterArgs, opts?: CustomResourceOptions);@overload
def Cluster(resource_name: str,
            args: ClusterArgs,
            opts: Optional[ResourceOptions] = None)
@overload
def Cluster(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            shard_count: Optional[int] = None,
            project: Optional[str] = None,
            psc_configs: Optional[Sequence[ClusterPscConfigArgs]] = None,
            kms_key: Optional[str] = None,
            maintenance_policy: Optional[ClusterMaintenancePolicyArgs] = None,
            name: Optional[str] = None,
            node_type: Optional[str] = None,
            deletion_protection_enabled: Optional[bool] = None,
            authorization_mode: Optional[str] = None,
            persistence_config: Optional[ClusterPersistenceConfigArgs] = None,
            redis_configs: Optional[Mapping[str, str]] = None,
            region: Optional[str] = None,
            replica_count: Optional[int] = None,
            cross_cluster_replication_config: Optional[ClusterCrossClusterReplicationConfigArgs] = None,
            transit_encryption_mode: Optional[str] = None,
            zone_distribution_config: Optional[ClusterZoneDistributionConfigArgs] = None)func NewCluster(ctx *Context, name string, args ClusterArgs, opts ...ResourceOption) (*Cluster, error)public Cluster(string name, ClusterArgs args, CustomResourceOptions? opts = null)
public Cluster(String name, ClusterArgs args)
public Cluster(String name, ClusterArgs args, CustomResourceOptions options)
type: gcp:redis:Cluster
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var exampleclusterResourceResourceFromRediscluster = new Gcp.Redis.Cluster("exampleclusterResourceResourceFromRediscluster", new()
{
    ShardCount = 0,
    Project = "string",
    PscConfigs = new[]
    {
        new Gcp.Redis.Inputs.ClusterPscConfigArgs
        {
            Network = "string",
        },
    },
    KmsKey = "string",
    MaintenancePolicy = new Gcp.Redis.Inputs.ClusterMaintenancePolicyArgs
    {
        CreateTime = "string",
        UpdateTime = "string",
        WeeklyMaintenanceWindows = new[]
        {
            new Gcp.Redis.Inputs.ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs
            {
                Day = "string",
                StartTime = new Gcp.Redis.Inputs.ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs
                {
                    Hours = 0,
                    Minutes = 0,
                    Nanos = 0,
                    Seconds = 0,
                },
                Duration = "string",
            },
        },
    },
    Name = "string",
    NodeType = "string",
    DeletionProtectionEnabled = false,
    AuthorizationMode = "string",
    PersistenceConfig = new Gcp.Redis.Inputs.ClusterPersistenceConfigArgs
    {
        AofConfig = new Gcp.Redis.Inputs.ClusterPersistenceConfigAofConfigArgs
        {
            AppendFsync = "string",
        },
        Mode = "string",
        RdbConfig = new Gcp.Redis.Inputs.ClusterPersistenceConfigRdbConfigArgs
        {
            RdbSnapshotPeriod = "string",
            RdbSnapshotStartTime = "string",
        },
    },
    RedisConfigs = 
    {
        { "string", "string" },
    },
    Region = "string",
    ReplicaCount = 0,
    CrossClusterReplicationConfig = new Gcp.Redis.Inputs.ClusterCrossClusterReplicationConfigArgs
    {
        ClusterRole = "string",
        Memberships = new[]
        {
            new Gcp.Redis.Inputs.ClusterCrossClusterReplicationConfigMembershipArgs
            {
                PrimaryClusters = new[]
                {
                    new Gcp.Redis.Inputs.ClusterCrossClusterReplicationConfigMembershipPrimaryClusterArgs
                    {
                        Cluster = "string",
                        Uid = "string",
                    },
                },
                SecondaryClusters = new[]
                {
                    new Gcp.Redis.Inputs.ClusterCrossClusterReplicationConfigMembershipSecondaryClusterArgs
                    {
                        Cluster = "string",
                        Uid = "string",
                    },
                },
            },
        },
        PrimaryCluster = new Gcp.Redis.Inputs.ClusterCrossClusterReplicationConfigPrimaryClusterArgs
        {
            Cluster = "string",
            Uid = "string",
        },
        SecondaryClusters = new[]
        {
            new Gcp.Redis.Inputs.ClusterCrossClusterReplicationConfigSecondaryClusterArgs
            {
                Cluster = "string",
                Uid = "string",
            },
        },
        UpdateTime = "string",
    },
    TransitEncryptionMode = "string",
    ZoneDistributionConfig = new Gcp.Redis.Inputs.ClusterZoneDistributionConfigArgs
    {
        Mode = "string",
        Zone = "string",
    },
});
example, err := redis.NewCluster(ctx, "exampleclusterResourceResourceFromRediscluster", &redis.ClusterArgs{
	ShardCount: pulumi.Int(0),
	Project:    pulumi.String("string"),
	PscConfigs: redis.ClusterPscConfigArray{
		&redis.ClusterPscConfigArgs{
			Network: pulumi.String("string"),
		},
	},
	KmsKey: pulumi.String("string"),
	MaintenancePolicy: &redis.ClusterMaintenancePolicyArgs{
		CreateTime: pulumi.String("string"),
		UpdateTime: pulumi.String("string"),
		WeeklyMaintenanceWindows: redis.ClusterMaintenancePolicyWeeklyMaintenanceWindowArray{
			&redis.ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs{
				Day: pulumi.String("string"),
				StartTime: &redis.ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs{
					Hours:   pulumi.Int(0),
					Minutes: pulumi.Int(0),
					Nanos:   pulumi.Int(0),
					Seconds: pulumi.Int(0),
				},
				Duration: pulumi.String("string"),
			},
		},
	},
	Name:                      pulumi.String("string"),
	NodeType:                  pulumi.String("string"),
	DeletionProtectionEnabled: pulumi.Bool(false),
	AuthorizationMode:         pulumi.String("string"),
	PersistenceConfig: &redis.ClusterPersistenceConfigArgs{
		AofConfig: &redis.ClusterPersistenceConfigAofConfigArgs{
			AppendFsync: pulumi.String("string"),
		},
		Mode: pulumi.String("string"),
		RdbConfig: &redis.ClusterPersistenceConfigRdbConfigArgs{
			RdbSnapshotPeriod:    pulumi.String("string"),
			RdbSnapshotStartTime: pulumi.String("string"),
		},
	},
	RedisConfigs: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Region:       pulumi.String("string"),
	ReplicaCount: pulumi.Int(0),
	CrossClusterReplicationConfig: &redis.ClusterCrossClusterReplicationConfigArgs{
		ClusterRole: pulumi.String("string"),
		Memberships: redis.ClusterCrossClusterReplicationConfigMembershipArray{
			&redis.ClusterCrossClusterReplicationConfigMembershipArgs{
				PrimaryClusters: redis.ClusterCrossClusterReplicationConfigMembershipPrimaryClusterArray{
					&redis.ClusterCrossClusterReplicationConfigMembershipPrimaryClusterArgs{
						Cluster: pulumi.String("string"),
						Uid:     pulumi.String("string"),
					},
				},
				SecondaryClusters: redis.ClusterCrossClusterReplicationConfigMembershipSecondaryClusterArray{
					&redis.ClusterCrossClusterReplicationConfigMembershipSecondaryClusterArgs{
						Cluster: pulumi.String("string"),
						Uid:     pulumi.String("string"),
					},
				},
			},
		},
		PrimaryCluster: &redis.ClusterCrossClusterReplicationConfigPrimaryClusterArgs{
			Cluster: pulumi.String("string"),
			Uid:     pulumi.String("string"),
		},
		SecondaryClusters: redis.ClusterCrossClusterReplicationConfigSecondaryClusterArray{
			&redis.ClusterCrossClusterReplicationConfigSecondaryClusterArgs{
				Cluster: pulumi.String("string"),
				Uid:     pulumi.String("string"),
			},
		},
		UpdateTime: pulumi.String("string"),
	},
	TransitEncryptionMode: pulumi.String("string"),
	ZoneDistributionConfig: &redis.ClusterZoneDistributionConfigArgs{
		Mode: pulumi.String("string"),
		Zone: pulumi.String("string"),
	},
})
var exampleclusterResourceResourceFromRediscluster = new Cluster("exampleclusterResourceResourceFromRediscluster", ClusterArgs.builder()
    .shardCount(0)
    .project("string")
    .pscConfigs(ClusterPscConfigArgs.builder()
        .network("string")
        .build())
    .kmsKey("string")
    .maintenancePolicy(ClusterMaintenancePolicyArgs.builder()
        .createTime("string")
        .updateTime("string")
        .weeklyMaintenanceWindows(ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs.builder()
            .day("string")
            .startTime(ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs.builder()
                .hours(0)
                .minutes(0)
                .nanos(0)
                .seconds(0)
                .build())
            .duration("string")
            .build())
        .build())
    .name("string")
    .nodeType("string")
    .deletionProtectionEnabled(false)
    .authorizationMode("string")
    .persistenceConfig(ClusterPersistenceConfigArgs.builder()
        .aofConfig(ClusterPersistenceConfigAofConfigArgs.builder()
            .appendFsync("string")
            .build())
        .mode("string")
        .rdbConfig(ClusterPersistenceConfigRdbConfigArgs.builder()
            .rdbSnapshotPeriod("string")
            .rdbSnapshotStartTime("string")
            .build())
        .build())
    .redisConfigs(Map.of("string", "string"))
    .region("string")
    .replicaCount(0)
    .crossClusterReplicationConfig(ClusterCrossClusterReplicationConfigArgs.builder()
        .clusterRole("string")
        .memberships(ClusterCrossClusterReplicationConfigMembershipArgs.builder()
            .primaryClusters(ClusterCrossClusterReplicationConfigMembershipPrimaryClusterArgs.builder()
                .cluster("string")
                .uid("string")
                .build())
            .secondaryClusters(ClusterCrossClusterReplicationConfigMembershipSecondaryClusterArgs.builder()
                .cluster("string")
                .uid("string")
                .build())
            .build())
        .primaryCluster(ClusterCrossClusterReplicationConfigPrimaryClusterArgs.builder()
            .cluster("string")
            .uid("string")
            .build())
        .secondaryClusters(ClusterCrossClusterReplicationConfigSecondaryClusterArgs.builder()
            .cluster("string")
            .uid("string")
            .build())
        .updateTime("string")
        .build())
    .transitEncryptionMode("string")
    .zoneDistributionConfig(ClusterZoneDistributionConfigArgs.builder()
        .mode("string")
        .zone("string")
        .build())
    .build());
examplecluster_resource_resource_from_rediscluster = gcp.redis.Cluster("exampleclusterResourceResourceFromRediscluster",
    shard_count=0,
    project="string",
    psc_configs=[{
        "network": "string",
    }],
    kms_key="string",
    maintenance_policy={
        "create_time": "string",
        "update_time": "string",
        "weekly_maintenance_windows": [{
            "day": "string",
            "start_time": {
                "hours": 0,
                "minutes": 0,
                "nanos": 0,
                "seconds": 0,
            },
            "duration": "string",
        }],
    },
    name="string",
    node_type="string",
    deletion_protection_enabled=False,
    authorization_mode="string",
    persistence_config={
        "aof_config": {
            "append_fsync": "string",
        },
        "mode": "string",
        "rdb_config": {
            "rdb_snapshot_period": "string",
            "rdb_snapshot_start_time": "string",
        },
    },
    redis_configs={
        "string": "string",
    },
    region="string",
    replica_count=0,
    cross_cluster_replication_config={
        "cluster_role": "string",
        "memberships": [{
            "primary_clusters": [{
                "cluster": "string",
                "uid": "string",
            }],
            "secondary_clusters": [{
                "cluster": "string",
                "uid": "string",
            }],
        }],
        "primary_cluster": {
            "cluster": "string",
            "uid": "string",
        },
        "secondary_clusters": [{
            "cluster": "string",
            "uid": "string",
        }],
        "update_time": "string",
    },
    transit_encryption_mode="string",
    zone_distribution_config={
        "mode": "string",
        "zone": "string",
    })
const exampleclusterResourceResourceFromRediscluster = new gcp.redis.Cluster("exampleclusterResourceResourceFromRediscluster", {
    shardCount: 0,
    project: "string",
    pscConfigs: [{
        network: "string",
    }],
    kmsKey: "string",
    maintenancePolicy: {
        createTime: "string",
        updateTime: "string",
        weeklyMaintenanceWindows: [{
            day: "string",
            startTime: {
                hours: 0,
                minutes: 0,
                nanos: 0,
                seconds: 0,
            },
            duration: "string",
        }],
    },
    name: "string",
    nodeType: "string",
    deletionProtectionEnabled: false,
    authorizationMode: "string",
    persistenceConfig: {
        aofConfig: {
            appendFsync: "string",
        },
        mode: "string",
        rdbConfig: {
            rdbSnapshotPeriod: "string",
            rdbSnapshotStartTime: "string",
        },
    },
    redisConfigs: {
        string: "string",
    },
    region: "string",
    replicaCount: 0,
    crossClusterReplicationConfig: {
        clusterRole: "string",
        memberships: [{
            primaryClusters: [{
                cluster: "string",
                uid: "string",
            }],
            secondaryClusters: [{
                cluster: "string",
                uid: "string",
            }],
        }],
        primaryCluster: {
            cluster: "string",
            uid: "string",
        },
        secondaryClusters: [{
            cluster: "string",
            uid: "string",
        }],
        updateTime: "string",
    },
    transitEncryptionMode: "string",
    zoneDistributionConfig: {
        mode: "string",
        zone: "string",
    },
});
type: gcp:redis:Cluster
properties:
    authorizationMode: string
    crossClusterReplicationConfig:
        clusterRole: string
        memberships:
            - primaryClusters:
                - cluster: string
                  uid: string
              secondaryClusters:
                - cluster: string
                  uid: string
        primaryCluster:
            cluster: string
            uid: string
        secondaryClusters:
            - cluster: string
              uid: string
        updateTime: string
    deletionProtectionEnabled: false
    kmsKey: string
    maintenancePolicy:
        createTime: string
        updateTime: string
        weeklyMaintenanceWindows:
            - day: string
              duration: string
              startTime:
                hours: 0
                minutes: 0
                nanos: 0
                seconds: 0
    name: string
    nodeType: string
    persistenceConfig:
        aofConfig:
            appendFsync: string
        mode: string
        rdbConfig:
            rdbSnapshotPeriod: string
            rdbSnapshotStartTime: string
    project: string
    pscConfigs:
        - network: string
    redisConfigs:
        string: string
    region: string
    replicaCount: 0
    shardCount: 0
    transitEncryptionMode: string
    zoneDistributionConfig:
        mode: string
        zone: string
Cluster Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Cluster resource accepts the following input properties:
- int
- Required. Number of shards for the Redis cluster.
- string
- Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
Default value is AUTH_MODE_DISABLED. Possible values are:AUTH_MODE_UNSPECIFIED,AUTH_MODE_IAM_AUTH,AUTH_MODE_DISABLED.
- CrossCluster ClusterReplication Config Cross Cluster Replication Config 
- Cross cluster replication config Structure is documented below.
- DeletionProtection boolEnabled 
- 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.
- KmsKey string
- The KMS key used to encrypt the at-rest data of the cluster.
- MaintenancePolicy ClusterMaintenance Policy 
- Maintenance policy for a cluster Structure is documented below.
- Name string
- Unique name of the resource in this scope including project and location using the form:
projects/{projectId}/locations/{locationId}/clusters/{clusterId}
- NodeType string
- The nodeType for the Redis cluster.
If not provided, REDIS_HIGHMEM_MEDIUM will be used as default
Possible values are: REDIS_SHARED_CORE_NANO,REDIS_HIGHMEM_MEDIUM,REDIS_HIGHMEM_XLARGE,REDIS_STANDARD_SMALL.
- PersistenceConfig ClusterPersistence Config 
- Persistence config (RDB, AOF) for the cluster. Structure is documented below.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- PscConfigs List<ClusterPsc Config> 
- Required. Each PscConfig configures the consumer network where two network addresses will be designated to the cluster for client access. Currently, only one PscConfig is supported. Structure is documented below.
- RedisConfigs Dictionary<string, 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
- Region string
- The name of the region of the Redis cluster.
- ReplicaCount int
- Optional. The number of replica nodes per shard.
- TransitEncryption stringMode 
- Optional. The in-transit encryption for the Redis cluster.
If not provided, encryption is disabled for the cluster.
Default value is TRANSIT_ENCRYPTION_MODE_DISABLED. Possible values are:TRANSIT_ENCRYPTION_MODE_UNSPECIFIED,TRANSIT_ENCRYPTION_MODE_DISABLED,TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION.
- ZoneDistribution ClusterConfig Zone Distribution Config 
- Immutable. Zone distribution config for Memorystore Redis cluster. Structure is documented below.
- int
- Required. Number of shards for the Redis cluster.
- string
- Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
Default value is AUTH_MODE_DISABLED. Possible values are:AUTH_MODE_UNSPECIFIED,AUTH_MODE_IAM_AUTH,AUTH_MODE_DISABLED.
- CrossCluster ClusterReplication Config Cross Cluster Replication Config Args 
- Cross cluster replication config Structure is documented below.
- DeletionProtection boolEnabled 
- 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.
- KmsKey string
- The KMS key used to encrypt the at-rest data of the cluster.
- MaintenancePolicy ClusterMaintenance Policy Args 
- Maintenance policy for a cluster Structure is documented below.
- Name string
- Unique name of the resource in this scope including project and location using the form:
projects/{projectId}/locations/{locationId}/clusters/{clusterId}
- NodeType string
- The nodeType for the Redis cluster.
If not provided, REDIS_HIGHMEM_MEDIUM will be used as default
Possible values are: REDIS_SHARED_CORE_NANO,REDIS_HIGHMEM_MEDIUM,REDIS_HIGHMEM_XLARGE,REDIS_STANDARD_SMALL.
- PersistenceConfig ClusterPersistence Config Args 
- Persistence config (RDB, AOF) for the cluster. Structure is documented below.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- PscConfigs []ClusterPsc Config Args 
- Required. Each PscConfig configures the consumer network where two network addresses will be designated to the cluster for client access. Currently, only one PscConfig is supported. Structure is documented below.
- RedisConfigs map[string]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
- Region string
- The name of the region of the Redis cluster.
- ReplicaCount int
- Optional. The number of replica nodes per shard.
- TransitEncryption stringMode 
- Optional. The in-transit encryption for the Redis cluster.
If not provided, encryption is disabled for the cluster.
Default value is TRANSIT_ENCRYPTION_MODE_DISABLED. Possible values are:TRANSIT_ENCRYPTION_MODE_UNSPECIFIED,TRANSIT_ENCRYPTION_MODE_DISABLED,TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION.
- ZoneDistribution ClusterConfig Zone Distribution Config Args 
- Immutable. Zone distribution config for Memorystore Redis cluster. Structure is documented below.
- Integer
- Required. Number of shards for the Redis cluster.
- String
- Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
Default value is AUTH_MODE_DISABLED. Possible values are:AUTH_MODE_UNSPECIFIED,AUTH_MODE_IAM_AUTH,AUTH_MODE_DISABLED.
- crossCluster ClusterReplication Config Cross Cluster Replication Config 
- Cross cluster replication config Structure is documented below.
- deletionProtection BooleanEnabled 
- 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.
- kmsKey String
- The KMS key used to encrypt the at-rest data of the cluster.
- maintenancePolicy ClusterMaintenance Policy 
- Maintenance policy for a cluster Structure is documented below.
- name String
- Unique name of the resource in this scope including project and location using the form:
projects/{projectId}/locations/{locationId}/clusters/{clusterId}
- nodeType String
- The nodeType for the Redis cluster.
If not provided, REDIS_HIGHMEM_MEDIUM will be used as default
Possible values are: REDIS_SHARED_CORE_NANO,REDIS_HIGHMEM_MEDIUM,REDIS_HIGHMEM_XLARGE,REDIS_STANDARD_SMALL.
- persistenceConfig ClusterPersistence Config 
- Persistence config (RDB, AOF) for the cluster. Structure is documented below.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pscConfigs List<ClusterPsc Config> 
- Required. Each PscConfig configures the consumer network where two network addresses will be designated to the cluster for client access. Currently, only one PscConfig is supported. Structure is documented below.
- redisConfigs Map<String,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
- region String
- The name of the region of the Redis cluster.
- replicaCount Integer
- Optional. The number of replica nodes per shard.
- transitEncryption StringMode 
- Optional. The in-transit encryption for the Redis cluster.
If not provided, encryption is disabled for the cluster.
Default value is TRANSIT_ENCRYPTION_MODE_DISABLED. Possible values are:TRANSIT_ENCRYPTION_MODE_UNSPECIFIED,TRANSIT_ENCRYPTION_MODE_DISABLED,TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION.
- zoneDistribution ClusterConfig Zone Distribution Config 
- Immutable. Zone distribution config for Memorystore Redis cluster. Structure is documented below.
- number
- Required. Number of shards for the Redis cluster.
- string
- Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
Default value is AUTH_MODE_DISABLED. Possible values are:AUTH_MODE_UNSPECIFIED,AUTH_MODE_IAM_AUTH,AUTH_MODE_DISABLED.
- crossCluster ClusterReplication Config Cross Cluster Replication Config 
- Cross cluster replication config Structure is documented below.
- deletionProtection booleanEnabled 
- 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.
- kmsKey string
- The KMS key used to encrypt the at-rest data of the cluster.
- maintenancePolicy ClusterMaintenance Policy 
- Maintenance policy for a cluster Structure is documented below.
- name string
- Unique name of the resource in this scope including project and location using the form:
projects/{projectId}/locations/{locationId}/clusters/{clusterId}
- nodeType string
- The nodeType for the Redis cluster.
If not provided, REDIS_HIGHMEM_MEDIUM will be used as default
Possible values are: REDIS_SHARED_CORE_NANO,REDIS_HIGHMEM_MEDIUM,REDIS_HIGHMEM_XLARGE,REDIS_STANDARD_SMALL.
- persistenceConfig ClusterPersistence Config 
- Persistence config (RDB, AOF) for the cluster. Structure is documented below.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pscConfigs ClusterPsc Config[] 
- Required. Each PscConfig configures the consumer network where two network addresses will be designated to the cluster for client access. Currently, only one PscConfig is supported. Structure is documented below.
- redisConfigs {[key: string]: 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
- region string
- The name of the region of the Redis cluster.
- replicaCount number
- Optional. The number of replica nodes per shard.
- transitEncryption stringMode 
- Optional. The in-transit encryption for the Redis cluster.
If not provided, encryption is disabled for the cluster.
Default value is TRANSIT_ENCRYPTION_MODE_DISABLED. Possible values are:TRANSIT_ENCRYPTION_MODE_UNSPECIFIED,TRANSIT_ENCRYPTION_MODE_DISABLED,TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION.
- zoneDistribution ClusterConfig Zone Distribution Config 
- Immutable. Zone distribution config for Memorystore Redis cluster. Structure is documented below.
- int
- Required. Number of shards for the Redis cluster.
- str
- Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
Default value is AUTH_MODE_DISABLED. Possible values are:AUTH_MODE_UNSPECIFIED,AUTH_MODE_IAM_AUTH,AUTH_MODE_DISABLED.
- cross_cluster_ Clusterreplication_ config Cross Cluster Replication Config Args 
- Cross cluster replication config Structure is documented below.
- deletion_protection_ boolenabled 
- 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.
- kms_key str
- The KMS key used to encrypt the at-rest data of the cluster.
- maintenance_policy ClusterMaintenance Policy Args 
- Maintenance policy for a cluster Structure is documented below.
- name str
- Unique name of the resource in this scope including project and location using the form:
projects/{projectId}/locations/{locationId}/clusters/{clusterId}
- node_type str
- The nodeType for the Redis cluster.
If not provided, REDIS_HIGHMEM_MEDIUM will be used as default
Possible values are: REDIS_SHARED_CORE_NANO,REDIS_HIGHMEM_MEDIUM,REDIS_HIGHMEM_XLARGE,REDIS_STANDARD_SMALL.
- persistence_config ClusterPersistence Config Args 
- Persistence config (RDB, AOF) for the cluster. Structure is documented below.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- psc_configs Sequence[ClusterPsc Config Args] 
- Required. Each PscConfig configures the consumer network where two network addresses will be designated to the cluster for client access. Currently, only one PscConfig is supported. Structure is documented below.
- redis_configs Mapping[str, str]
- 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
- region str
- The name of the region of the Redis cluster.
- replica_count int
- Optional. The number of replica nodes per shard.
- transit_encryption_ strmode 
- Optional. The in-transit encryption for the Redis cluster.
If not provided, encryption is disabled for the cluster.
Default value is TRANSIT_ENCRYPTION_MODE_DISABLED. Possible values are:TRANSIT_ENCRYPTION_MODE_UNSPECIFIED,TRANSIT_ENCRYPTION_MODE_DISABLED,TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION.
- zone_distribution_ Clusterconfig Zone Distribution Config Args 
- Immutable. Zone distribution config for Memorystore Redis cluster. Structure is documented below.
- Number
- Required. Number of shards for the Redis cluster.
- String
- Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
Default value is AUTH_MODE_DISABLED. Possible values are:AUTH_MODE_UNSPECIFIED,AUTH_MODE_IAM_AUTH,AUTH_MODE_DISABLED.
- crossCluster Property MapReplication Config 
- Cross cluster replication config Structure is documented below.
- deletionProtection BooleanEnabled 
- 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.
- kmsKey String
- The KMS key used to encrypt the at-rest data of the cluster.
- maintenancePolicy Property Map
- Maintenance policy for a cluster Structure is documented below.
- name String
- Unique name of the resource in this scope including project and location using the form:
projects/{projectId}/locations/{locationId}/clusters/{clusterId}
- nodeType String
- The nodeType for the Redis cluster.
If not provided, REDIS_HIGHMEM_MEDIUM will be used as default
Possible values are: REDIS_SHARED_CORE_NANO,REDIS_HIGHMEM_MEDIUM,REDIS_HIGHMEM_XLARGE,REDIS_STANDARD_SMALL.
- persistenceConfig Property Map
- Persistence config (RDB, AOF) for the cluster. Structure is documented below.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pscConfigs List<Property Map>
- Required. Each PscConfig configures the consumer network where two network addresses will be designated to the cluster for client access. Currently, only one PscConfig is supported. Structure is documented below.
- redisConfigs Map<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
- region String
- The name of the region of the Redis cluster.
- replicaCount Number
- Optional. The number of replica nodes per shard.
- transitEncryption StringMode 
- Optional. The in-transit encryption for the Redis cluster.
If not provided, encryption is disabled for the cluster.
Default value is TRANSIT_ENCRYPTION_MODE_DISABLED. Possible values are:TRANSIT_ENCRYPTION_MODE_UNSPECIFIED,TRANSIT_ENCRYPTION_MODE_DISABLED,TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION.
- zoneDistribution Property MapConfig 
- Immutable. Zone distribution config for Memorystore Redis cluster. Structure is documented below.
Outputs
All input properties are implicitly available as output properties. Additionally, the Cluster resource produces the following output properties:
- CreateTime string
- The timestamp associated with the cluster creation request. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- DiscoveryEndpoints List<ClusterDiscovery Endpoint> 
- Output only. Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one endpoint is supported. Structure is documented below.
- Id string
- The provider-assigned unique ID for this managed resource.
- MaintenanceSchedules List<ClusterMaintenance Schedule> 
- Upcoming maintenance schedule. Structure is documented below.
- PreciseSize doubleGb 
- Output only. Redis memory precise size in GB for the entire cluster.
- PscConnections List<ClusterPsc Connection> 
- Output only. PSC connections for discovery of the cluster topology and accessing the cluster. Structure is documented below.
- PscService List<ClusterAttachments Psc Service Attachment> 
- Service attachment details to configure Psc connections. Structure is documented below.
- SizeGb int
- Output only. Redis memory size in GB for the entire cluster.
- State string
- The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED
- StateInfos List<ClusterState Info> 
- Output only. Additional information about the current state of the cluster. Structure is documented below.
- Uid string
- System assigned, unique identifier for the cluster.
- CreateTime string
- The timestamp associated with the cluster creation request. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- DiscoveryEndpoints []ClusterDiscovery Endpoint 
- Output only. Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one endpoint is supported. Structure is documented below.
- Id string
- The provider-assigned unique ID for this managed resource.
- MaintenanceSchedules []ClusterMaintenance Schedule 
- Upcoming maintenance schedule. Structure is documented below.
- PreciseSize float64Gb 
- Output only. Redis memory precise size in GB for the entire cluster.
- PscConnections []ClusterPsc Connection 
- Output only. PSC connections for discovery of the cluster topology and accessing the cluster. Structure is documented below.
- PscService []ClusterAttachments Psc Service Attachment 
- Service attachment details to configure Psc connections. Structure is documented below.
- SizeGb int
- Output only. Redis memory size in GB for the entire cluster.
- State string
- The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED
- StateInfos []ClusterState Info 
- Output only. Additional information about the current state of the cluster. Structure is documented below.
- Uid string
- System assigned, unique identifier for the cluster.
- createTime String
- The timestamp associated with the cluster creation request. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- discoveryEndpoints List<ClusterDiscovery Endpoint> 
- Output only. Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one endpoint is supported. Structure is documented below.
- id String
- The provider-assigned unique ID for this managed resource.
- maintenanceSchedules List<ClusterMaintenance Schedule> 
- Upcoming maintenance schedule. Structure is documented below.
- preciseSize DoubleGb 
- Output only. Redis memory precise size in GB for the entire cluster.
- pscConnections List<ClusterPsc Connection> 
- Output only. PSC connections for discovery of the cluster topology and accessing the cluster. Structure is documented below.
- pscService List<ClusterAttachments Psc Service Attachment> 
- Service attachment details to configure Psc connections. Structure is documented below.
- sizeGb Integer
- Output only. Redis memory size in GB for the entire cluster.
- state String
- The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED
- stateInfos List<ClusterState Info> 
- Output only. Additional information about the current state of the cluster. Structure is documented below.
- uid String
- System assigned, unique identifier for the cluster.
- createTime string
- The timestamp associated with the cluster creation request. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- discoveryEndpoints ClusterDiscovery Endpoint[] 
- Output only. Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one endpoint is supported. Structure is documented below.
- id string
- The provider-assigned unique ID for this managed resource.
- maintenanceSchedules ClusterMaintenance Schedule[] 
- Upcoming maintenance schedule. Structure is documented below.
- preciseSize numberGb 
- Output only. Redis memory precise size in GB for the entire cluster.
- pscConnections ClusterPsc Connection[] 
- Output only. PSC connections for discovery of the cluster topology and accessing the cluster. Structure is documented below.
- pscService ClusterAttachments Psc Service Attachment[] 
- Service attachment details to configure Psc connections. Structure is documented below.
- sizeGb number
- Output only. Redis memory size in GB for the entire cluster.
- state string
- The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED
- stateInfos ClusterState Info[] 
- Output only. Additional information about the current state of the cluster. Structure is documented below.
- uid string
- System assigned, unique identifier for the cluster.
- create_time str
- The timestamp associated with the cluster creation request. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- discovery_endpoints Sequence[ClusterDiscovery Endpoint] 
- Output only. Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one endpoint is supported. Structure is documented below.
- id str
- The provider-assigned unique ID for this managed resource.
- maintenance_schedules Sequence[ClusterMaintenance Schedule] 
- Upcoming maintenance schedule. Structure is documented below.
- precise_size_ floatgb 
- Output only. Redis memory precise size in GB for the entire cluster.
- psc_connections Sequence[ClusterPsc Connection] 
- Output only. PSC connections for discovery of the cluster topology and accessing the cluster. Structure is documented below.
- psc_service_ Sequence[Clusterattachments Psc Service Attachment] 
- Service attachment details to configure Psc connections. Structure is documented below.
- size_gb int
- Output only. Redis memory size in GB for the entire cluster.
- state str
- The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED
- state_infos Sequence[ClusterState Info] 
- Output only. Additional information about the current state of the cluster. Structure is documented below.
- uid str
- System assigned, unique identifier for the cluster.
- createTime String
- The timestamp associated with the cluster creation request. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- discoveryEndpoints List<Property Map>
- Output only. Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one endpoint is supported. Structure is documented below.
- id String
- The provider-assigned unique ID for this managed resource.
- maintenanceSchedules List<Property Map>
- Upcoming maintenance schedule. Structure is documented below.
- preciseSize NumberGb 
- Output only. Redis memory precise size in GB for the entire cluster.
- pscConnections List<Property Map>
- Output only. PSC connections for discovery of the cluster topology and accessing the cluster. Structure is documented below.
- pscService List<Property Map>Attachments 
- Service attachment details to configure Psc connections. Structure is documented below.
- sizeGb Number
- Output only. Redis memory size in GB for the entire cluster.
- state String
- The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED
- stateInfos List<Property Map>
- Output only. Additional information about the current state of the cluster. Structure is documented below.
- uid String
- System assigned, unique identifier for the cluster.
Look up Existing Cluster Resource
Get an existing Cluster resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: ClusterState, opts?: CustomResourceOptions): Cluster@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        authorization_mode: Optional[str] = None,
        create_time: Optional[str] = None,
        cross_cluster_replication_config: Optional[ClusterCrossClusterReplicationConfigArgs] = None,
        deletion_protection_enabled: Optional[bool] = None,
        discovery_endpoints: Optional[Sequence[ClusterDiscoveryEndpointArgs]] = None,
        kms_key: Optional[str] = None,
        maintenance_policy: Optional[ClusterMaintenancePolicyArgs] = None,
        maintenance_schedules: Optional[Sequence[ClusterMaintenanceScheduleArgs]] = None,
        name: Optional[str] = None,
        node_type: Optional[str] = None,
        persistence_config: Optional[ClusterPersistenceConfigArgs] = None,
        precise_size_gb: Optional[float] = None,
        project: Optional[str] = None,
        psc_configs: Optional[Sequence[ClusterPscConfigArgs]] = None,
        psc_connections: Optional[Sequence[ClusterPscConnectionArgs]] = None,
        psc_service_attachments: Optional[Sequence[ClusterPscServiceAttachmentArgs]] = None,
        redis_configs: Optional[Mapping[str, str]] = None,
        region: Optional[str] = None,
        replica_count: Optional[int] = None,
        shard_count: Optional[int] = None,
        size_gb: Optional[int] = None,
        state: Optional[str] = None,
        state_infos: Optional[Sequence[ClusterStateInfoArgs]] = None,
        transit_encryption_mode: Optional[str] = None,
        uid: Optional[str] = None,
        zone_distribution_config: Optional[ClusterZoneDistributionConfigArgs] = None) -> Clusterfunc GetCluster(ctx *Context, name string, id IDInput, state *ClusterState, opts ...ResourceOption) (*Cluster, error)public static Cluster Get(string name, Input<string> id, ClusterState? state, CustomResourceOptions? opts = null)public static Cluster get(String name, Output<String> id, ClusterState state, CustomResourceOptions options)resources:  _:    type: gcp:redis:Cluster    get:      id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- string
- Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
Default value is AUTH_MODE_DISABLED. Possible values are:AUTH_MODE_UNSPECIFIED,AUTH_MODE_IAM_AUTH,AUTH_MODE_DISABLED.
- CreateTime string
- The timestamp associated with the cluster creation request. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- CrossCluster ClusterReplication Config Cross Cluster Replication Config 
- Cross cluster replication config Structure is documented below.
- DeletionProtection boolEnabled 
- 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.
- DiscoveryEndpoints List<ClusterDiscovery Endpoint> 
- Output only. Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one endpoint is supported. Structure is documented below.
- KmsKey string
- The KMS key used to encrypt the at-rest data of the cluster.
- MaintenancePolicy ClusterMaintenance Policy 
- Maintenance policy for a cluster Structure is documented below.
- MaintenanceSchedules List<ClusterMaintenance Schedule> 
- Upcoming maintenance schedule. Structure is documented below.
- Name string
- Unique name of the resource in this scope including project and location using the form:
projects/{projectId}/locations/{locationId}/clusters/{clusterId}
- NodeType string
- The nodeType for the Redis cluster.
If not provided, REDIS_HIGHMEM_MEDIUM will be used as default
Possible values are: REDIS_SHARED_CORE_NANO,REDIS_HIGHMEM_MEDIUM,REDIS_HIGHMEM_XLARGE,REDIS_STANDARD_SMALL.
- PersistenceConfig ClusterPersistence Config 
- Persistence config (RDB, AOF) for the cluster. Structure is documented below.
- PreciseSize doubleGb 
- Output only. Redis memory precise size in GB for the entire cluster.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- PscConfigs List<ClusterPsc Config> 
- Required. Each PscConfig configures the consumer network where two network addresses will be designated to the cluster for client access. Currently, only one PscConfig is supported. Structure is documented below.
- PscConnections List<ClusterPsc Connection> 
- Output only. PSC connections for discovery of the cluster topology and accessing the cluster. Structure is documented below.
- PscService List<ClusterAttachments Psc Service Attachment> 
- Service attachment details to configure Psc connections. Structure is documented below.
- RedisConfigs Dictionary<string, 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
- Region string
- The name of the region of the Redis cluster.
- ReplicaCount int
- Optional. The number of replica nodes per shard.
- ShardCount int
- Required. Number of shards for the Redis cluster.
- SizeGb int
- Output only. Redis memory size in GB for the entire cluster.
- State string
- The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED
- StateInfos List<ClusterState Info> 
- Output only. Additional information about the current state of the cluster. Structure is documented below.
- TransitEncryption stringMode 
- Optional. The in-transit encryption for the Redis cluster.
If not provided, encryption is disabled for the cluster.
Default value is TRANSIT_ENCRYPTION_MODE_DISABLED. Possible values are:TRANSIT_ENCRYPTION_MODE_UNSPECIFIED,TRANSIT_ENCRYPTION_MODE_DISABLED,TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION.
- Uid string
- System assigned, unique identifier for the cluster.
- ZoneDistribution ClusterConfig Zone Distribution Config 
- Immutable. Zone distribution config for Memorystore Redis cluster. Structure is documented below.
- string
- Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
Default value is AUTH_MODE_DISABLED. Possible values are:AUTH_MODE_UNSPECIFIED,AUTH_MODE_IAM_AUTH,AUTH_MODE_DISABLED.
- CreateTime string
- The timestamp associated with the cluster creation request. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- CrossCluster ClusterReplication Config Cross Cluster Replication Config Args 
- Cross cluster replication config Structure is documented below.
- DeletionProtection boolEnabled 
- 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.
- DiscoveryEndpoints []ClusterDiscovery Endpoint Args 
- Output only. Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one endpoint is supported. Structure is documented below.
- KmsKey string
- The KMS key used to encrypt the at-rest data of the cluster.
- MaintenancePolicy ClusterMaintenance Policy Args 
- Maintenance policy for a cluster Structure is documented below.
- MaintenanceSchedules []ClusterMaintenance Schedule Args 
- Upcoming maintenance schedule. Structure is documented below.
- Name string
- Unique name of the resource in this scope including project and location using the form:
projects/{projectId}/locations/{locationId}/clusters/{clusterId}
- NodeType string
- The nodeType for the Redis cluster.
If not provided, REDIS_HIGHMEM_MEDIUM will be used as default
Possible values are: REDIS_SHARED_CORE_NANO,REDIS_HIGHMEM_MEDIUM,REDIS_HIGHMEM_XLARGE,REDIS_STANDARD_SMALL.
- PersistenceConfig ClusterPersistence Config Args 
- Persistence config (RDB, AOF) for the cluster. Structure is documented below.
- PreciseSize float64Gb 
- Output only. Redis memory precise size in GB for the entire cluster.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- PscConfigs []ClusterPsc Config Args 
- Required. Each PscConfig configures the consumer network where two network addresses will be designated to the cluster for client access. Currently, only one PscConfig is supported. Structure is documented below.
- PscConnections []ClusterPsc Connection Args 
- Output only. PSC connections for discovery of the cluster topology and accessing the cluster. Structure is documented below.
- PscService []ClusterAttachments Psc Service Attachment Args 
- Service attachment details to configure Psc connections. Structure is documented below.
- RedisConfigs map[string]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
- Region string
- The name of the region of the Redis cluster.
- ReplicaCount int
- Optional. The number of replica nodes per shard.
- ShardCount int
- Required. Number of shards for the Redis cluster.
- SizeGb int
- Output only. Redis memory size in GB for the entire cluster.
- State string
- The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED
- StateInfos []ClusterState Info Args 
- Output only. Additional information about the current state of the cluster. Structure is documented below.
- TransitEncryption stringMode 
- Optional. The in-transit encryption for the Redis cluster.
If not provided, encryption is disabled for the cluster.
Default value is TRANSIT_ENCRYPTION_MODE_DISABLED. Possible values are:TRANSIT_ENCRYPTION_MODE_UNSPECIFIED,TRANSIT_ENCRYPTION_MODE_DISABLED,TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION.
- Uid string
- System assigned, unique identifier for the cluster.
- ZoneDistribution ClusterConfig Zone Distribution Config Args 
- Immutable. Zone distribution config for Memorystore Redis cluster. Structure is documented below.
- String
- Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
Default value is AUTH_MODE_DISABLED. Possible values are:AUTH_MODE_UNSPECIFIED,AUTH_MODE_IAM_AUTH,AUTH_MODE_DISABLED.
- createTime String
- The timestamp associated with the cluster creation request. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- crossCluster ClusterReplication Config Cross Cluster Replication Config 
- Cross cluster replication config Structure is documented below.
- deletionProtection BooleanEnabled 
- 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.
- discoveryEndpoints List<ClusterDiscovery Endpoint> 
- Output only. Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one endpoint is supported. Structure is documented below.
- kmsKey String
- The KMS key used to encrypt the at-rest data of the cluster.
- maintenancePolicy ClusterMaintenance Policy 
- Maintenance policy for a cluster Structure is documented below.
- maintenanceSchedules List<ClusterMaintenance Schedule> 
- Upcoming maintenance schedule. Structure is documented below.
- name String
- Unique name of the resource in this scope including project and location using the form:
projects/{projectId}/locations/{locationId}/clusters/{clusterId}
- nodeType String
- The nodeType for the Redis cluster.
If not provided, REDIS_HIGHMEM_MEDIUM will be used as default
Possible values are: REDIS_SHARED_CORE_NANO,REDIS_HIGHMEM_MEDIUM,REDIS_HIGHMEM_XLARGE,REDIS_STANDARD_SMALL.
- persistenceConfig ClusterPersistence Config 
- Persistence config (RDB, AOF) for the cluster. Structure is documented below.
- preciseSize DoubleGb 
- Output only. Redis memory precise size in GB for the entire cluster.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pscConfigs List<ClusterPsc Config> 
- Required. Each PscConfig configures the consumer network where two network addresses will be designated to the cluster for client access. Currently, only one PscConfig is supported. Structure is documented below.
- pscConnections List<ClusterPsc Connection> 
- Output only. PSC connections for discovery of the cluster topology and accessing the cluster. Structure is documented below.
- pscService List<ClusterAttachments Psc Service Attachment> 
- Service attachment details to configure Psc connections. Structure is documented below.
- redisConfigs Map<String,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
- region String
- The name of the region of the Redis cluster.
- replicaCount Integer
- Optional. The number of replica nodes per shard.
- shardCount Integer
- Required. Number of shards for the Redis cluster.
- sizeGb Integer
- Output only. Redis memory size in GB for the entire cluster.
- state String
- The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED
- stateInfos List<ClusterState Info> 
- Output only. Additional information about the current state of the cluster. Structure is documented below.
- transitEncryption StringMode 
- Optional. The in-transit encryption for the Redis cluster.
If not provided, encryption is disabled for the cluster.
Default value is TRANSIT_ENCRYPTION_MODE_DISABLED. Possible values are:TRANSIT_ENCRYPTION_MODE_UNSPECIFIED,TRANSIT_ENCRYPTION_MODE_DISABLED,TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION.
- uid String
- System assigned, unique identifier for the cluster.
- zoneDistribution ClusterConfig Zone Distribution Config 
- Immutable. Zone distribution config for Memorystore Redis cluster. Structure is documented below.
- string
- Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
Default value is AUTH_MODE_DISABLED. Possible values are:AUTH_MODE_UNSPECIFIED,AUTH_MODE_IAM_AUTH,AUTH_MODE_DISABLED.
- createTime string
- The timestamp associated with the cluster creation request. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- crossCluster ClusterReplication Config Cross Cluster Replication Config 
- Cross cluster replication config Structure is documented below.
- deletionProtection booleanEnabled 
- 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.
- discoveryEndpoints ClusterDiscovery Endpoint[] 
- Output only. Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one endpoint is supported. Structure is documented below.
- kmsKey string
- The KMS key used to encrypt the at-rest data of the cluster.
- maintenancePolicy ClusterMaintenance Policy 
- Maintenance policy for a cluster Structure is documented below.
- maintenanceSchedules ClusterMaintenance Schedule[] 
- Upcoming maintenance schedule. Structure is documented below.
- name string
- Unique name of the resource in this scope including project and location using the form:
projects/{projectId}/locations/{locationId}/clusters/{clusterId}
- nodeType string
- The nodeType for the Redis cluster.
If not provided, REDIS_HIGHMEM_MEDIUM will be used as default
Possible values are: REDIS_SHARED_CORE_NANO,REDIS_HIGHMEM_MEDIUM,REDIS_HIGHMEM_XLARGE,REDIS_STANDARD_SMALL.
- persistenceConfig ClusterPersistence Config 
- Persistence config (RDB, AOF) for the cluster. Structure is documented below.
- preciseSize numberGb 
- Output only. Redis memory precise size in GB for the entire cluster.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pscConfigs ClusterPsc Config[] 
- Required. Each PscConfig configures the consumer network where two network addresses will be designated to the cluster for client access. Currently, only one PscConfig is supported. Structure is documented below.
- pscConnections ClusterPsc Connection[] 
- Output only. PSC connections for discovery of the cluster topology and accessing the cluster. Structure is documented below.
- pscService ClusterAttachments Psc Service Attachment[] 
- Service attachment details to configure Psc connections. Structure is documented below.
- redisConfigs {[key: string]: 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
- region string
- The name of the region of the Redis cluster.
- replicaCount number
- Optional. The number of replica nodes per shard.
- shardCount number
- Required. Number of shards for the Redis cluster.
- sizeGb number
- Output only. Redis memory size in GB for the entire cluster.
- state string
- The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED
- stateInfos ClusterState Info[] 
- Output only. Additional information about the current state of the cluster. Structure is documented below.
- transitEncryption stringMode 
- Optional. The in-transit encryption for the Redis cluster.
If not provided, encryption is disabled for the cluster.
Default value is TRANSIT_ENCRYPTION_MODE_DISABLED. Possible values are:TRANSIT_ENCRYPTION_MODE_UNSPECIFIED,TRANSIT_ENCRYPTION_MODE_DISABLED,TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION.
- uid string
- System assigned, unique identifier for the cluster.
- zoneDistribution ClusterConfig Zone Distribution Config 
- Immutable. Zone distribution config for Memorystore Redis cluster. Structure is documented below.
- str
- Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
Default value is AUTH_MODE_DISABLED. Possible values are:AUTH_MODE_UNSPECIFIED,AUTH_MODE_IAM_AUTH,AUTH_MODE_DISABLED.
- create_time str
- The timestamp associated with the cluster creation request. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- cross_cluster_ Clusterreplication_ config Cross Cluster Replication Config Args 
- Cross cluster replication config Structure is documented below.
- deletion_protection_ boolenabled 
- 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.
- discovery_endpoints Sequence[ClusterDiscovery Endpoint Args] 
- Output only. Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one endpoint is supported. Structure is documented below.
- kms_key str
- The KMS key used to encrypt the at-rest data of the cluster.
- maintenance_policy ClusterMaintenance Policy Args 
- Maintenance policy for a cluster Structure is documented below.
- maintenance_schedules Sequence[ClusterMaintenance Schedule Args] 
- Upcoming maintenance schedule. Structure is documented below.
- name str
- Unique name of the resource in this scope including project and location using the form:
projects/{projectId}/locations/{locationId}/clusters/{clusterId}
- node_type str
- The nodeType for the Redis cluster.
If not provided, REDIS_HIGHMEM_MEDIUM will be used as default
Possible values are: REDIS_SHARED_CORE_NANO,REDIS_HIGHMEM_MEDIUM,REDIS_HIGHMEM_XLARGE,REDIS_STANDARD_SMALL.
- persistence_config ClusterPersistence Config Args 
- Persistence config (RDB, AOF) for the cluster. Structure is documented below.
- precise_size_ floatgb 
- Output only. Redis memory precise size in GB for the entire cluster.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- psc_configs Sequence[ClusterPsc Config Args] 
- Required. Each PscConfig configures the consumer network where two network addresses will be designated to the cluster for client access. Currently, only one PscConfig is supported. Structure is documented below.
- psc_connections Sequence[ClusterPsc Connection Args] 
- Output only. PSC connections for discovery of the cluster topology and accessing the cluster. Structure is documented below.
- psc_service_ Sequence[Clusterattachments Psc Service Attachment Args] 
- Service attachment details to configure Psc connections. Structure is documented below.
- redis_configs Mapping[str, str]
- 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
- region str
- The name of the region of the Redis cluster.
- replica_count int
- Optional. The number of replica nodes per shard.
- shard_count int
- Required. Number of shards for the Redis cluster.
- size_gb int
- Output only. Redis memory size in GB for the entire cluster.
- state str
- The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED
- state_infos Sequence[ClusterState Info Args] 
- Output only. Additional information about the current state of the cluster. Structure is documented below.
- transit_encryption_ strmode 
- Optional. The in-transit encryption for the Redis cluster.
If not provided, encryption is disabled for the cluster.
Default value is TRANSIT_ENCRYPTION_MODE_DISABLED. Possible values are:TRANSIT_ENCRYPTION_MODE_UNSPECIFIED,TRANSIT_ENCRYPTION_MODE_DISABLED,TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION.
- uid str
- System assigned, unique identifier for the cluster.
- zone_distribution_ Clusterconfig Zone Distribution Config Args 
- Immutable. Zone distribution config for Memorystore Redis cluster. Structure is documented below.
- String
- Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
Default value is AUTH_MODE_DISABLED. Possible values are:AUTH_MODE_UNSPECIFIED,AUTH_MODE_IAM_AUTH,AUTH_MODE_DISABLED.
- createTime String
- The timestamp associated with the cluster creation request. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- crossCluster Property MapReplication Config 
- Cross cluster replication config Structure is documented below.
- deletionProtection BooleanEnabled 
- 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.
- discoveryEndpoints List<Property Map>
- Output only. Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one endpoint is supported. Structure is documented below.
- kmsKey String
- The KMS key used to encrypt the at-rest data of the cluster.
- maintenancePolicy Property Map
- Maintenance policy for a cluster Structure is documented below.
- maintenanceSchedules List<Property Map>
- Upcoming maintenance schedule. Structure is documented below.
- name String
- Unique name of the resource in this scope including project and location using the form:
projects/{projectId}/locations/{locationId}/clusters/{clusterId}
- nodeType String
- The nodeType for the Redis cluster.
If not provided, REDIS_HIGHMEM_MEDIUM will be used as default
Possible values are: REDIS_SHARED_CORE_NANO,REDIS_HIGHMEM_MEDIUM,REDIS_HIGHMEM_XLARGE,REDIS_STANDARD_SMALL.
- persistenceConfig Property Map
- Persistence config (RDB, AOF) for the cluster. Structure is documented below.
- preciseSize NumberGb 
- Output only. Redis memory precise size in GB for the entire cluster.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pscConfigs List<Property Map>
- Required. Each PscConfig configures the consumer network where two network addresses will be designated to the cluster for client access. Currently, only one PscConfig is supported. Structure is documented below.
- pscConnections List<Property Map>
- Output only. PSC connections for discovery of the cluster topology and accessing the cluster. Structure is documented below.
- pscService List<Property Map>Attachments 
- Service attachment details to configure Psc connections. Structure is documented below.
- redisConfigs Map<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
- region String
- The name of the region of the Redis cluster.
- replicaCount Number
- Optional. The number of replica nodes per shard.
- shardCount Number
- Required. Number of shards for the Redis cluster.
- sizeGb Number
- Output only. Redis memory size in GB for the entire cluster.
- state String
- The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED
- stateInfos List<Property Map>
- Output only. Additional information about the current state of the cluster. Structure is documented below.
- transitEncryption StringMode 
- Optional. The in-transit encryption for the Redis cluster.
If not provided, encryption is disabled for the cluster.
Default value is TRANSIT_ENCRYPTION_MODE_DISABLED. Possible values are:TRANSIT_ENCRYPTION_MODE_UNSPECIFIED,TRANSIT_ENCRYPTION_MODE_DISABLED,TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION.
- uid String
- System assigned, unique identifier for the cluster.
- zoneDistribution Property MapConfig 
- Immutable. Zone distribution config for Memorystore Redis cluster. Structure is documented below.
Supporting Types
ClusterCrossClusterReplicationConfig, ClusterCrossClusterReplicationConfigArgs          
- ClusterRole string
- The role of the cluster in cross cluster replication. Supported values are:- CLUSTER_ROLE_UNSPECIFIED: This is an independent cluster that has never participated in cross cluster replication. It allows both reads and writes.
- NONE: This is an independent cluster that previously participated in cross cluster replication(either as a- PRIMARYor- SECONDARYcluster). It allows both reads and writes.
- 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.
- SECONDARY: This cluster replicates data from the primary cluster. It allows only reads. Possible values are:- CLUSTER_ROLE_UNSPECIFIED,- NONE,- PRIMARY,- SECONDARY.
 
- Memberships
List<ClusterCross Cluster Replication Config Membership> 
- (Output) An output only view of all the member clusters participating in cross cluster replication. This field is populated for all the member clusters irrespective of their cluster role. Structure is documented below.
- PrimaryCluster ClusterCross Cluster Replication Config Primary Cluster 
- Details of the primary cluster that is used as the replication source for this secondary cluster. This is allowed to be set only for clusters whose cluster role is of type SECONDARY. Structure is documented below.
- SecondaryClusters List<ClusterCross Cluster Replication Config Secondary Cluster> 
- List of secondary clusters that are replicating from this primary cluster. This is allowed to be set only for clusters whose cluster role is of type PRIMARY. Structure is documented below.
- UpdateTime string
- (Output) The last time cross cluster replication config was updated.
- ClusterRole string
- The role of the cluster in cross cluster replication. Supported values are:- CLUSTER_ROLE_UNSPECIFIED: This is an independent cluster that has never participated in cross cluster replication. It allows both reads and writes.
- NONE: This is an independent cluster that previously participated in cross cluster replication(either as a- PRIMARYor- SECONDARYcluster). It allows both reads and writes.
- 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.
- SECONDARY: This cluster replicates data from the primary cluster. It allows only reads. Possible values are:- CLUSTER_ROLE_UNSPECIFIED,- NONE,- PRIMARY,- SECONDARY.
 
- Memberships
[]ClusterCross Cluster Replication Config Membership 
- (Output) An output only view of all the member clusters participating in cross cluster replication. This field is populated for all the member clusters irrespective of their cluster role. Structure is documented below.
- PrimaryCluster ClusterCross Cluster Replication Config Primary Cluster 
- Details of the primary cluster that is used as the replication source for this secondary cluster. This is allowed to be set only for clusters whose cluster role is of type SECONDARY. Structure is documented below.
- SecondaryClusters []ClusterCross Cluster Replication Config Secondary Cluster 
- List of secondary clusters that are replicating from this primary cluster. This is allowed to be set only for clusters whose cluster role is of type PRIMARY. Structure is documented below.
- UpdateTime string
- (Output) The last time cross cluster replication config was updated.
- clusterRole String
- The role of the cluster in cross cluster replication. Supported values are:- CLUSTER_ROLE_UNSPECIFIED: This is an independent cluster that has never participated in cross cluster replication. It allows both reads and writes.
- NONE: This is an independent cluster that previously participated in cross cluster replication(either as a- PRIMARYor- SECONDARYcluster). It allows both reads and writes.
- 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.
- SECONDARY: This cluster replicates data from the primary cluster. It allows only reads. Possible values are:- CLUSTER_ROLE_UNSPECIFIED,- NONE,- PRIMARY,- SECONDARY.
 
- memberships
List<ClusterCross Cluster Replication Config Membership> 
- (Output) An output only view of all the member clusters participating in cross cluster replication. This field is populated for all the member clusters irrespective of their cluster role. Structure is documented below.
- primaryCluster ClusterCross Cluster Replication Config Primary Cluster 
- Details of the primary cluster that is used as the replication source for this secondary cluster. This is allowed to be set only for clusters whose cluster role is of type SECONDARY. Structure is documented below.
- secondaryClusters List<ClusterCross Cluster Replication Config Secondary Cluster> 
- List of secondary clusters that are replicating from this primary cluster. This is allowed to be set only for clusters whose cluster role is of type PRIMARY. Structure is documented below.
- updateTime String
- (Output) The last time cross cluster replication config was updated.
- clusterRole string
- The role of the cluster in cross cluster replication. Supported values are:- CLUSTER_ROLE_UNSPECIFIED: This is an independent cluster that has never participated in cross cluster replication. It allows both reads and writes.
- NONE: This is an independent cluster that previously participated in cross cluster replication(either as a- PRIMARYor- SECONDARYcluster). It allows both reads and writes.
- 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.
- SECONDARY: This cluster replicates data from the primary cluster. It allows only reads. Possible values are:- CLUSTER_ROLE_UNSPECIFIED,- NONE,- PRIMARY,- SECONDARY.
 
- memberships
ClusterCross Cluster Replication Config Membership[] 
- (Output) An output only view of all the member clusters participating in cross cluster replication. This field is populated for all the member clusters irrespective of their cluster role. Structure is documented below.
- primaryCluster ClusterCross Cluster Replication Config Primary Cluster 
- Details of the primary cluster that is used as the replication source for this secondary cluster. This is allowed to be set only for clusters whose cluster role is of type SECONDARY. Structure is documented below.
- secondaryClusters ClusterCross Cluster Replication Config Secondary Cluster[] 
- List of secondary clusters that are replicating from this primary cluster. This is allowed to be set only for clusters whose cluster role is of type PRIMARY. Structure is documented below.
- updateTime string
- (Output) The last time cross cluster replication config was updated.
- cluster_role str
- The role of the cluster in cross cluster replication. Supported values are:- CLUSTER_ROLE_UNSPECIFIED: This is an independent cluster that has never participated in cross cluster replication. It allows both reads and writes.
- NONE: This is an independent cluster that previously participated in cross cluster replication(either as a- PRIMARYor- SECONDARYcluster). It allows both reads and writes.
- 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.
- SECONDARY: This cluster replicates data from the primary cluster. It allows only reads. Possible values are:- CLUSTER_ROLE_UNSPECIFIED,- NONE,- PRIMARY,- SECONDARY.
 
- memberships
Sequence[ClusterCross Cluster Replication Config Membership] 
- (Output) An output only view of all the member clusters participating in cross cluster replication. This field is populated for all the member clusters irrespective of their cluster role. Structure is documented below.
- primary_cluster ClusterCross Cluster Replication Config Primary Cluster 
- Details of the primary cluster that is used as the replication source for this secondary cluster. This is allowed to be set only for clusters whose cluster role is of type SECONDARY. Structure is documented below.
- secondary_clusters Sequence[ClusterCross Cluster Replication Config Secondary Cluster] 
- List of secondary clusters that are replicating from this primary cluster. This is allowed to be set only for clusters whose cluster role is of type PRIMARY. Structure is documented below.
- update_time str
- (Output) The last time cross cluster replication config was updated.
- clusterRole String
- The role of the cluster in cross cluster replication. Supported values are:- CLUSTER_ROLE_UNSPECIFIED: This is an independent cluster that has never participated in cross cluster replication. It allows both reads and writes.
- NONE: This is an independent cluster that previously participated in cross cluster replication(either as a- PRIMARYor- SECONDARYcluster). It allows both reads and writes.
- 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.
- SECONDARY: This cluster replicates data from the primary cluster. It allows only reads. Possible values are:- CLUSTER_ROLE_UNSPECIFIED,- NONE,- PRIMARY,- SECONDARY.
 
- memberships List<Property Map>
- (Output) An output only view of all the member clusters participating in cross cluster replication. This field is populated for all the member clusters irrespective of their cluster role. Structure is documented below.
- primaryCluster Property Map
- Details of the primary cluster that is used as the replication source for this secondary cluster. This is allowed to be set only for clusters whose cluster role is of type SECONDARY. Structure is documented below.
- secondaryClusters List<Property Map>
- List of secondary clusters that are replicating from this primary cluster. This is allowed to be set only for clusters whose cluster role is of type PRIMARY. Structure is documented below.
- updateTime String
- (Output) The last time cross cluster replication config was updated.
ClusterCrossClusterReplicationConfigMembership, ClusterCrossClusterReplicationConfigMembershipArgs            
- PrimaryClusters List<ClusterCross Cluster Replication Config Membership Primary Cluster> 
- Details of the primary cluster that is used as the replication source for all the secondary clusters.
- SecondaryClusters List<ClusterCross Cluster Replication Config Membership Secondary Cluster> 
- List of secondary clusters that are replicating from the primary cluster.
- PrimaryClusters []ClusterCross Cluster Replication Config Membership Primary Cluster 
- Details of the primary cluster that is used as the replication source for all the secondary clusters.
- SecondaryClusters []ClusterCross Cluster Replication Config Membership Secondary Cluster 
- List of secondary clusters that are replicating from the primary cluster.
- primaryClusters List<ClusterCross Cluster Replication Config Membership Primary Cluster> 
- Details of the primary cluster that is used as the replication source for all the secondary clusters.
- secondaryClusters List<ClusterCross Cluster Replication Config Membership Secondary Cluster> 
- List of secondary clusters that are replicating from the primary cluster.
- primaryClusters ClusterCross Cluster Replication Config Membership Primary Cluster[] 
- Details of the primary cluster that is used as the replication source for all the secondary clusters.
- secondaryClusters ClusterCross Cluster Replication Config Membership Secondary Cluster[] 
- List of secondary clusters that are replicating from the primary cluster.
- primary_clusters Sequence[ClusterCross Cluster Replication Config Membership Primary Cluster] 
- Details of the primary cluster that is used as the replication source for all the secondary clusters.
- secondary_clusters Sequence[ClusterCross Cluster Replication Config Membership Secondary Cluster] 
- List of secondary clusters that are replicating from the primary cluster.
- primaryClusters List<Property Map>
- Details of the primary cluster that is used as the replication source for all the secondary clusters.
- secondaryClusters List<Property Map>
- List of secondary clusters that are replicating from the primary cluster.
ClusterCrossClusterReplicationConfigMembershipPrimaryCluster, ClusterCrossClusterReplicationConfigMembershipPrimaryClusterArgs                
ClusterCrossClusterReplicationConfigMembershipSecondaryCluster, ClusterCrossClusterReplicationConfigMembershipSecondaryClusterArgs                
ClusterCrossClusterReplicationConfigPrimaryCluster, ClusterCrossClusterReplicationConfigPrimaryClusterArgs              
ClusterCrossClusterReplicationConfigSecondaryCluster, ClusterCrossClusterReplicationConfigSecondaryClusterArgs              
ClusterDiscoveryEndpoint, ClusterDiscoveryEndpointArgs      
- Address string
- Output only. The IP allocated on the consumer network for the PSC forwarding rule.
- Port int
- Output only. The port number of the exposed Redis endpoint.
- PscConfig ClusterDiscovery Endpoint Psc Config 
- Output only. Customer configuration for where the endpoint is created and accessed from. Structure is documented below.
- Address string
- Output only. The IP allocated on the consumer network for the PSC forwarding rule.
- Port int
- Output only. The port number of the exposed Redis endpoint.
- PscConfig ClusterDiscovery Endpoint Psc Config 
- Output only. Customer configuration for where the endpoint is created and accessed from. Structure is documented below.
- address String
- Output only. The IP allocated on the consumer network for the PSC forwarding rule.
- port Integer
- Output only. The port number of the exposed Redis endpoint.
- pscConfig ClusterDiscovery Endpoint Psc Config 
- Output only. Customer configuration for where the endpoint is created and accessed from. Structure is documented below.
- address string
- Output only. The IP allocated on the consumer network for the PSC forwarding rule.
- port number
- Output only. The port number of the exposed Redis endpoint.
- pscConfig ClusterDiscovery Endpoint Psc Config 
- Output only. Customer configuration for where the endpoint is created and accessed from. Structure is documented below.
- address str
- Output only. The IP allocated on the consumer network for the PSC forwarding rule.
- port int
- Output only. The port number of the exposed Redis endpoint.
- psc_config ClusterDiscovery Endpoint Psc Config 
- Output only. Customer configuration for where the endpoint is created and accessed from. Structure is documented below.
- address String
- Output only. The IP allocated on the consumer network for the PSC forwarding rule.
- port Number
- Output only. The port number of the exposed Redis endpoint.
- pscConfig Property Map
- Output only. Customer configuration for where the endpoint is created and accessed from. Structure is documented below.
ClusterDiscoveryEndpointPscConfig, ClusterDiscoveryEndpointPscConfigArgs          
- Network string
- The consumer network where the IP address resides, in the form of projects/{projectId}/global/networks/{network_id}.
- Network string
- The consumer network where the IP address resides, in the form of projects/{projectId}/global/networks/{network_id}.
- network String
- The consumer network where the IP address resides, in the form of projects/{projectId}/global/networks/{network_id}.
- network string
- The consumer network where the IP address resides, in the form of projects/{projectId}/global/networks/{network_id}.
- network str
- The consumer network where the IP address resides, in the form of projects/{projectId}/global/networks/{network_id}.
- network String
- The consumer network where the IP address resides, in the form of projects/{projectId}/global/networks/{network_id}.
ClusterMaintenancePolicy, ClusterMaintenancePolicyArgs      
- CreateTime string
- (Output) Output only. The time when the policy was created. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- UpdateTime string
- (Output) Output only. The time when the policy was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- WeeklyMaintenance List<ClusterWindows Maintenance Policy Weekly Maintenance Window> 
- Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one. Structure is documented below.
- CreateTime string
- (Output) Output only. The time when the policy was created. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- UpdateTime string
- (Output) Output only. The time when the policy was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- WeeklyMaintenance []ClusterWindows Maintenance Policy Weekly Maintenance Window 
- Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one. Structure is documented below.
- createTime String
- (Output) Output only. The time when the policy was created. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- updateTime String
- (Output) Output only. The time when the policy was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- weeklyMaintenance List<ClusterWindows Maintenance Policy Weekly Maintenance Window> 
- Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one. Structure is documented below.
- createTime string
- (Output) Output only. The time when the policy was created. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- updateTime string
- (Output) Output only. The time when the policy was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- weeklyMaintenance ClusterWindows Maintenance Policy Weekly Maintenance Window[] 
- Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one. Structure is documented below.
- create_time str
- (Output) Output only. The time when the policy was created. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- update_time str
- (Output) Output only. The time when the policy was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- weekly_maintenance_ Sequence[Clusterwindows Maintenance Policy Weekly Maintenance Window] 
- Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one. Structure is documented below.
- createTime String
- (Output) Output only. The time when the policy was created. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- updateTime String
- (Output) Output only. The time when the policy was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- weeklyMaintenance List<Property Map>Windows 
- Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one. Structure is documented below.
ClusterMaintenancePolicyWeeklyMaintenanceWindow, ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs            
- Day string
- 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 are: DAY_OF_WEEK_UNSPECIFIED,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY.
 
- StartTime ClusterMaintenance Policy Weekly Maintenance Window Start Time 
- Required. Start time of the window in UTC time. Structure is documented below.
- Duration string
- (Output) Output only. Duration of the maintenance window. The current window is fixed at 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
- Day string
- 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 are: DAY_OF_WEEK_UNSPECIFIED,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY.
 
- StartTime ClusterMaintenance Policy Weekly Maintenance Window Start Time 
- Required. Start time of the window in UTC time. Structure is documented below.
- Duration string
- (Output) Output only. Duration of the maintenance window. The current window is fixed at 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
- day String
- 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 are: DAY_OF_WEEK_UNSPECIFIED,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY.
 
- startTime ClusterMaintenance Policy Weekly Maintenance Window Start Time 
- Required. Start time of the window in UTC time. Structure is documented below.
- duration String
- (Output) Output only. Duration of the maintenance window. The current window is fixed at 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
- day string
- 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 are: DAY_OF_WEEK_UNSPECIFIED,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY.
 
- startTime ClusterMaintenance Policy Weekly Maintenance Window Start Time 
- Required. Start time of the window in UTC time. Structure is documented below.
- duration string
- (Output) Output only. Duration of the maintenance window. The current window is fixed at 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
- day str
- 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 are: DAY_OF_WEEK_UNSPECIFIED,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY.
 
- start_time ClusterMaintenance Policy Weekly Maintenance Window Start Time 
- Required. Start time of the window in UTC time. Structure is documented below.
- duration str
- (Output) Output only. Duration of the maintenance window. The current window is fixed at 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
- day String
- 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 are: DAY_OF_WEEK_UNSPECIFIED,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY.
 
- startTime Property Map
- Required. Start time of the window in UTC time. Structure is documented below.
- duration String
- (Output) Output only. Duration of the maintenance window. The current window is fixed at 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTime, ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs                
- Hours int
- 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.
- Minutes int
- Minutes of hour of day. Must be from 0 to 59.
- Nanos int
- Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
- Seconds int
- 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.
- Hours int
- 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.
- Minutes int
- Minutes of hour of day. Must be from 0 to 59.
- Nanos int
- Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
- Seconds int
- 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.
- hours Integer
- 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.
- minutes Integer
- Minutes of hour of day. Must be from 0 to 59.
- nanos Integer
- Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
- seconds Integer
- 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.
- hours number
- 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.
- minutes number
- Minutes of hour of day. Must be from 0 to 59.
- nanos number
- Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
- seconds 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.
- hours int
- 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.
- minutes int
- Minutes of hour of day. Must be from 0 to 59.
- nanos int
- Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
- seconds int
- 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.
- hours Number
- 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.
- minutes Number
- Minutes of hour of day. Must be from 0 to 59.
- nanos Number
- Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
- seconds 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.
ClusterMaintenanceSchedule, ClusterMaintenanceScheduleArgs      
- EndTime string
- (Output) Output only. The end time of any upcoming scheduled maintenance for this cluster. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- ScheduleDeadline stringTime 
- (Output) Output only. The deadline that the maintenance schedule start time can not go beyond, including reschedule. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- StartTime string
- (Output) Output only. The start time of any upcoming scheduled maintenance for this cluster. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- EndTime string
- (Output) Output only. The end time of any upcoming scheduled maintenance for this cluster. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- ScheduleDeadline stringTime 
- (Output) Output only. The deadline that the maintenance schedule start time can not go beyond, including reschedule. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- StartTime string
- (Output) Output only. The start time of any upcoming scheduled maintenance for this cluster. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- endTime String
- (Output) Output only. The end time of any upcoming scheduled maintenance for this cluster. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- scheduleDeadline StringTime 
- (Output) Output only. The deadline that the maintenance schedule start time can not go beyond, including reschedule. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- startTime String
- (Output) Output only. The start time of any upcoming scheduled maintenance for this cluster. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- endTime string
- (Output) Output only. The end time of any upcoming scheduled maintenance for this cluster. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- scheduleDeadline stringTime 
- (Output) Output only. The deadline that the maintenance schedule start time can not go beyond, including reschedule. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- startTime string
- (Output) Output only. The start time of any upcoming scheduled maintenance for this cluster. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- end_time str
- (Output) Output only. The end time of any upcoming scheduled maintenance for this cluster. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- schedule_deadline_ strtime 
- (Output) Output only. The deadline that the maintenance schedule start time can not go beyond, including reschedule. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- start_time str
- (Output) Output only. The start time of any upcoming scheduled maintenance for this cluster. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- endTime String
- (Output) Output only. The end time of any upcoming scheduled maintenance for this cluster. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- scheduleDeadline StringTime 
- (Output) Output only. The deadline that the maintenance schedule start time can not go beyond, including reschedule. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
- startTime String
- (Output) Output only. The start time of any upcoming scheduled maintenance for this cluster. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
ClusterPersistenceConfig, ClusterPersistenceConfigArgs      
- AofConfig ClusterPersistence Config Aof Config 
- AOF configuration. This field will be ignored if mode is not AOF. Structure is documented below.
- Mode string
- 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 are: PERSISTENCE_MODE_UNSPECIFIED,DISABLED,RDB,AOF.
 
- RdbConfig ClusterPersistence Config Rdb Config 
- RDB configuration. This field will be ignored if mode is not RDB. Structure is documented below.
- AofConfig ClusterPersistence Config Aof Config 
- AOF configuration. This field will be ignored if mode is not AOF. Structure is documented below.
- Mode string
- 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 are: PERSISTENCE_MODE_UNSPECIFIED,DISABLED,RDB,AOF.
 
- RdbConfig ClusterPersistence Config Rdb Config 
- RDB configuration. This field will be ignored if mode is not RDB. Structure is documented below.
- aofConfig ClusterPersistence Config Aof Config 
- AOF configuration. This field will be ignored if mode is not AOF. Structure is documented below.
- mode String
- 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 are: PERSISTENCE_MODE_UNSPECIFIED,DISABLED,RDB,AOF.
 
- rdbConfig ClusterPersistence Config Rdb Config 
- RDB configuration. This field will be ignored if mode is not RDB. Structure is documented below.
- aofConfig ClusterPersistence Config Aof Config 
- AOF configuration. This field will be ignored if mode is not AOF. Structure is documented below.
- mode string
- 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 are: PERSISTENCE_MODE_UNSPECIFIED,DISABLED,RDB,AOF.
 
- rdbConfig ClusterPersistence Config Rdb Config 
- RDB configuration. This field will be ignored if mode is not RDB. Structure is documented below.
- aof_config ClusterPersistence Config Aof Config 
- AOF configuration. This field will be ignored if mode is not AOF. Structure is documented below.
- mode str
- 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 are: PERSISTENCE_MODE_UNSPECIFIED,DISABLED,RDB,AOF.
 
- rdb_config ClusterPersistence Config Rdb Config 
- RDB configuration. This field will be ignored if mode is not RDB. Structure is documented below.
- aofConfig Property Map
- AOF configuration. This field will be ignored if mode is not AOF. Structure is documented below.
- mode String
- 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 are: PERSISTENCE_MODE_UNSPECIFIED,DISABLED,RDB,AOF.
 
- rdbConfig Property Map
- RDB configuration. This field will be ignored if mode is not RDB. Structure is documented below.
ClusterPersistenceConfigAofConfig, ClusterPersistenceConfigAofConfigArgs          
- AppendFsync string
- 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 are: APPEND_FSYNC_UNSPECIFIED,NO,EVERYSEC,ALWAYS.
 
- AppendFsync string
- 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 are: APPEND_FSYNC_UNSPECIFIED,NO,EVERYSEC,ALWAYS.
 
- appendFsync String
- 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 are: APPEND_FSYNC_UNSPECIFIED,NO,EVERYSEC,ALWAYS.
 
- appendFsync string
- 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 are: APPEND_FSYNC_UNSPECIFIED,NO,EVERYSEC,ALWAYS.
 
- append_fsync str
- 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 are: APPEND_FSYNC_UNSPECIFIED,NO,EVERYSEC,ALWAYS.
 
- appendFsync String
- 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 are: APPEND_FSYNC_UNSPECIFIED,NO,EVERYSEC,ALWAYS.
 
ClusterPersistenceConfigRdbConfig, ClusterPersistenceConfigRdbConfigArgs          
- RdbSnapshot stringPeriod 
- 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 are: SNAPSHOT_PERIOD_UNSPECIFIED,ONE_HOUR,SIX_HOURS,TWELVE_HOURS,TWENTY_FOUR_HOURS.
 
- RdbSnapshot stringStart Time 
- 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.
- RdbSnapshot stringPeriod 
- 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 are: SNAPSHOT_PERIOD_UNSPECIFIED,ONE_HOUR,SIX_HOURS,TWELVE_HOURS,TWENTY_FOUR_HOURS.
 
- RdbSnapshot stringStart Time 
- 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.
- rdbSnapshot StringPeriod 
- 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 are: SNAPSHOT_PERIOD_UNSPECIFIED,ONE_HOUR,SIX_HOURS,TWELVE_HOURS,TWENTY_FOUR_HOURS.
 
- rdbSnapshot StringStart Time 
- 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.
- rdbSnapshot stringPeriod 
- 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 are: SNAPSHOT_PERIOD_UNSPECIFIED,ONE_HOUR,SIX_HOURS,TWELVE_HOURS,TWENTY_FOUR_HOURS.
 
- rdbSnapshot stringStart Time 
- 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.
- rdb_snapshot_ strperiod 
- 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 are: SNAPSHOT_PERIOD_UNSPECIFIED,ONE_HOUR,SIX_HOURS,TWELVE_HOURS,TWENTY_FOUR_HOURS.
 
- rdb_snapshot_ strstart_ time 
- 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.
- rdbSnapshot StringPeriod 
- 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 are: SNAPSHOT_PERIOD_UNSPECIFIED,ONE_HOUR,SIX_HOURS,TWELVE_HOURS,TWENTY_FOUR_HOURS.
 
- rdbSnapshot StringStart Time 
- 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.
ClusterPscConfig, ClusterPscConfigArgs      
- Network string
- 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}.
- Network string
- 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}.
- network String
- 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}.
- network string
- 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}.
- network str
- 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}.
- network String
- 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}.
ClusterPscConnection, ClusterPscConnectionArgs      
- Address string
- Output only. The IP allocated on the consumer network for the PSC forwarding rule.
- ForwardingRule string
- Output only. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}.
- Network string
- The consumer network where the IP address resides, in the form of projects/{projectId}/global/networks/{network_id}.
- ProjectId string
- Output only. The consumer projectId where the forwarding rule is created from.
- PscConnection stringId 
- Output only. The PSC connection id of the forwarding rule connected to the service attachment.
- Address string
- Output only. The IP allocated on the consumer network for the PSC forwarding rule.
- ForwardingRule string
- Output only. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}.
- Network string
- The consumer network where the IP address resides, in the form of projects/{projectId}/global/networks/{network_id}.
- ProjectId string
- Output only. The consumer projectId where the forwarding rule is created from.
- PscConnection stringId 
- Output only. The PSC connection id of the forwarding rule connected to the service attachment.
- address String
- Output only. The IP allocated on the consumer network for the PSC forwarding rule.
- forwardingRule String
- Output only. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}.
- network String
- The consumer network where the IP address resides, in the form of projects/{projectId}/global/networks/{network_id}.
- projectId String
- Output only. The consumer projectId where the forwarding rule is created from.
- pscConnection StringId 
- Output only. The PSC connection id of the forwarding rule connected to the service attachment.
- address string
- Output only. The IP allocated on the consumer network for the PSC forwarding rule.
- forwardingRule string
- Output only. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}.
- network string
- The consumer network where the IP address resides, in the form of projects/{projectId}/global/networks/{network_id}.
- projectId string
- Output only. The consumer projectId where the forwarding rule is created from.
- pscConnection stringId 
- Output only. The PSC connection id of the forwarding rule connected to the service attachment.
- address str
- Output only. The IP allocated on the consumer network for the PSC forwarding rule.
- forwarding_rule str
- Output only. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}.
- network str
- The consumer network where the IP address resides, in the form of projects/{projectId}/global/networks/{network_id}.
- project_id str
- Output only. The consumer projectId where the forwarding rule is created from.
- psc_connection_ strid 
- Output only. The PSC connection id of the forwarding rule connected to the service attachment.
- address String
- Output only. The IP allocated on the consumer network for the PSC forwarding rule.
- forwardingRule String
- Output only. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}.
- network String
- The consumer network where the IP address resides, in the form of projects/{projectId}/global/networks/{network_id}.
- projectId String
- Output only. The consumer projectId where the forwarding rule is created from.
- pscConnection StringId 
- Output only. The PSC connection id of the forwarding rule connected to the service attachment.
ClusterPscServiceAttachment, ClusterPscServiceAttachmentArgs        
- ConnectionType string
- (Output) Type of a PSC connection targeting this service attachment.
- ServiceAttachment string
- (Output) Service attachment URI which your self-created PscConnection should use as
- ConnectionType string
- (Output) Type of a PSC connection targeting this service attachment.
- ServiceAttachment string
- (Output) Service attachment URI which your self-created PscConnection should use as
- connectionType String
- (Output) Type of a PSC connection targeting this service attachment.
- serviceAttachment String
- (Output) Service attachment URI which your self-created PscConnection should use as
- connectionType string
- (Output) Type of a PSC connection targeting this service attachment.
- serviceAttachment string
- (Output) Service attachment URI which your self-created PscConnection should use as
- connection_type str
- (Output) Type of a PSC connection targeting this service attachment.
- service_attachment str
- (Output) Service attachment URI which your self-created PscConnection should use as
- connectionType String
- (Output) Type of a PSC connection targeting this service attachment.
- serviceAttachment String
- (Output) Service attachment URI which your self-created PscConnection should use as
ClusterStateInfo, ClusterStateInfoArgs      
- UpdateInfo ClusterState Info Update Info 
- A nested object resource. Structure is documented below.
- UpdateInfo ClusterState Info Update Info 
- A nested object resource. Structure is documented below.
- updateInfo ClusterState Info Update Info 
- A nested object resource. Structure is documented below.
- updateInfo ClusterState Info Update Info 
- A nested object resource. Structure is documented below.
- update_info ClusterState Info Update Info 
- A nested object resource. Structure is documented below.
- updateInfo Property Map
- A nested object resource. Structure is documented below.
ClusterStateInfoUpdateInfo, ClusterStateInfoUpdateInfoArgs          
- TargetReplica intCount 
- Target number of replica nodes per shard.
- TargetShard intCount 
- Target number of shards for redis cluster.
- TargetReplica intCount 
- Target number of replica nodes per shard.
- TargetShard intCount 
- Target number of shards for redis cluster.
- targetReplica IntegerCount 
- Target number of replica nodes per shard.
- targetShard IntegerCount 
- Target number of shards for redis cluster.
- targetReplica numberCount 
- Target number of replica nodes per shard.
- targetShard numberCount 
- Target number of shards for redis cluster.
- target_replica_ intcount 
- Target number of replica nodes per shard.
- target_shard_ intcount 
- Target number of shards for redis cluster.
- targetReplica NumberCount 
- Target number of replica nodes per shard.
- targetShard NumberCount 
- Target number of shards for redis cluster.
ClusterZoneDistributionConfig, ClusterZoneDistributionConfigArgs        
Import
Cluster can be imported using any of these accepted formats:
- projects/{{project}}/locations/{{region}}/clusters/{{name}}
- {{project}}/{{region}}/{{name}}
- {{region}}/{{name}}
- {{name}}
When using the pulumi import command, Cluster can be imported using one of the formats above. For example:
$ pulumi import gcp:redis/cluster:Cluster default projects/{{project}}/locations/{{region}}/clusters/{{name}}
$ pulumi import gcp:redis/cluster:Cluster default {{project}}/{{region}}/{{name}}
$ pulumi import gcp:redis/cluster:Cluster default {{region}}/{{name}}
$ pulumi import gcp:redis/cluster:Cluster default {{name}}
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Google Cloud (GCP) Classic pulumi/pulumi-gcp
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the google-betaTerraform Provider.