1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. alloydb
  5. Cluster
Google Cloud Classic v7.9.0 published on Wednesday, Feb 14, 2024 by Pulumi

gcp.alloydb.Cluster

Explore with Pulumi AI

gcp logo
Google Cloud Classic v7.9.0 published on Wednesday, Feb 14, 2024 by Pulumi

    A managed alloydb cluster.

    To get more information about Cluster, see:

    Note: Users can promote a secondary cluster to a primary cluster with the help of cluster_type. To promote, users have to set the cluster_type property as PRIMARY and remove the secondary_config field from cluster configuration. See Example.

    Example Usage

    Alloydb Cluster Basic

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var defaultNetwork = new Gcp.Compute.Network("defaultNetwork");
    
        var defaultCluster = new Gcp.Alloydb.Cluster("defaultCluster", new()
        {
            ClusterId = "alloydb-cluster",
            Location = "us-central1",
            Network = defaultNetwork.Id,
        });
    
        var project = Gcp.Organizations.GetProject.Invoke();
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/alloydb"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		defaultNetwork, err := compute.NewNetwork(ctx, "defaultNetwork", nil)
    		if err != nil {
    			return err
    		}
    		_, err = alloydb.NewCluster(ctx, "defaultCluster", &alloydb.ClusterArgs{
    			ClusterId: pulumi.String("alloydb-cluster"),
    			Location:  pulumi.String("us-central1"),
    			Network:   defaultNetwork.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = organizations.LookupProject(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    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.alloydb.Cluster;
    import com.pulumi.gcp.alloydb.ClusterArgs;
    import com.pulumi.gcp.organizations.OrganizationsFunctions;
    import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
    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 defaultNetwork = new Network("defaultNetwork");
    
            var defaultCluster = new Cluster("defaultCluster", ClusterArgs.builder()        
                .clusterId("alloydb-cluster")
                .location("us-central1")
                .network(defaultNetwork.id())
                .build());
    
            final var project = OrganizationsFunctions.getProject();
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    default_network = gcp.compute.Network("defaultNetwork")
    default_cluster = gcp.alloydb.Cluster("defaultCluster",
        cluster_id="alloydb-cluster",
        location="us-central1",
        network=default_network.id)
    project = gcp.organizations.get_project()
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const defaultNetwork = new gcp.compute.Network("defaultNetwork", {});
    const defaultCluster = new gcp.alloydb.Cluster("defaultCluster", {
        clusterId: "alloydb-cluster",
        location: "us-central1",
        network: defaultNetwork.id,
    });
    const project = gcp.organizations.getProject({});
    
    resources:
      defaultCluster:
        type: gcp:alloydb:Cluster
        properties:
          clusterId: alloydb-cluster
          location: us-central1
          network: ${defaultNetwork.id}
      defaultNetwork:
        type: gcp:compute:Network
    variables:
      project:
        fn::invoke:
          Function: gcp:organizations:getProject
          Arguments: {}
    

    Alloydb Cluster Full

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var @default = new Gcp.Compute.Network("default");
    
        var full = new Gcp.Alloydb.Cluster("full", new()
        {
            ClusterId = "alloydb-cluster-full",
            Location = "us-central1",
            Network = @default.Id,
            DatabaseVersion = "POSTGRES_15",
            InitialUser = new Gcp.Alloydb.Inputs.ClusterInitialUserArgs
            {
                User = "alloydb-cluster-full",
                Password = "alloydb-cluster-full",
            },
            ContinuousBackupConfig = new Gcp.Alloydb.Inputs.ClusterContinuousBackupConfigArgs
            {
                Enabled = true,
                RecoveryWindowDays = 14,
            },
            AutomatedBackupPolicy = new Gcp.Alloydb.Inputs.ClusterAutomatedBackupPolicyArgs
            {
                Location = "us-central1",
                BackupWindow = "1800s",
                Enabled = true,
                WeeklySchedule = new Gcp.Alloydb.Inputs.ClusterAutomatedBackupPolicyWeeklyScheduleArgs
                {
                    DaysOfWeeks = new[]
                    {
                        "MONDAY",
                    },
                    StartTimes = new[]
                    {
                        new Gcp.Alloydb.Inputs.ClusterAutomatedBackupPolicyWeeklyScheduleStartTimeArgs
                        {
                            Hours = 23,
                            Minutes = 0,
                            Seconds = 0,
                            Nanos = 0,
                        },
                    },
                },
                QuantityBasedRetention = new Gcp.Alloydb.Inputs.ClusterAutomatedBackupPolicyQuantityBasedRetentionArgs
                {
                    Count = 1,
                },
                Labels = 
                {
                    { "test", "alloydb-cluster-full" },
                },
            },
            Labels = 
            {
                { "test", "alloydb-cluster-full" },
            },
        });
    
        var project = Gcp.Organizations.GetProject.Invoke();
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/alloydb"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewNetwork(ctx, "default", nil)
    		if err != nil {
    			return err
    		}
    		_, err = alloydb.NewCluster(ctx, "full", &alloydb.ClusterArgs{
    			ClusterId:       pulumi.String("alloydb-cluster-full"),
    			Location:        pulumi.String("us-central1"),
    			Network:         _default.ID(),
    			DatabaseVersion: pulumi.String("POSTGRES_15"),
    			InitialUser: &alloydb.ClusterInitialUserArgs{
    				User:     pulumi.String("alloydb-cluster-full"),
    				Password: pulumi.String("alloydb-cluster-full"),
    			},
    			ContinuousBackupConfig: &alloydb.ClusterContinuousBackupConfigArgs{
    				Enabled:            pulumi.Bool(true),
    				RecoveryWindowDays: pulumi.Int(14),
    			},
    			AutomatedBackupPolicy: &alloydb.ClusterAutomatedBackupPolicyArgs{
    				Location:     pulumi.String("us-central1"),
    				BackupWindow: pulumi.String("1800s"),
    				Enabled:      pulumi.Bool(true),
    				WeeklySchedule: &alloydb.ClusterAutomatedBackupPolicyWeeklyScheduleArgs{
    					DaysOfWeeks: pulumi.StringArray{
    						pulumi.String("MONDAY"),
    					},
    					StartTimes: alloydb.ClusterAutomatedBackupPolicyWeeklyScheduleStartTimeArray{
    						&alloydb.ClusterAutomatedBackupPolicyWeeklyScheduleStartTimeArgs{
    							Hours:   pulumi.Int(23),
    							Minutes: pulumi.Int(0),
    							Seconds: pulumi.Int(0),
    							Nanos:   pulumi.Int(0),
    						},
    					},
    				},
    				QuantityBasedRetention: &alloydb.ClusterAutomatedBackupPolicyQuantityBasedRetentionArgs{
    					Count: pulumi.Int(1),
    				},
    				Labels: pulumi.StringMap{
    					"test": pulumi.String("alloydb-cluster-full"),
    				},
    			},
    			Labels: pulumi.StringMap{
    				"test": pulumi.String("alloydb-cluster-full"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = organizations.LookupProject(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    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.alloydb.Cluster;
    import com.pulumi.gcp.alloydb.ClusterArgs;
    import com.pulumi.gcp.alloydb.inputs.ClusterInitialUserArgs;
    import com.pulumi.gcp.alloydb.inputs.ClusterContinuousBackupConfigArgs;
    import com.pulumi.gcp.alloydb.inputs.ClusterAutomatedBackupPolicyArgs;
    import com.pulumi.gcp.alloydb.inputs.ClusterAutomatedBackupPolicyWeeklyScheduleArgs;
    import com.pulumi.gcp.alloydb.inputs.ClusterAutomatedBackupPolicyQuantityBasedRetentionArgs;
    import com.pulumi.gcp.organizations.OrganizationsFunctions;
    import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
    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 default_ = new Network("default");
    
            var full = new Cluster("full", ClusterArgs.builder()        
                .clusterId("alloydb-cluster-full")
                .location("us-central1")
                .network(default_.id())
                .databaseVersion("POSTGRES_15")
                .initialUser(ClusterInitialUserArgs.builder()
                    .user("alloydb-cluster-full")
                    .password("alloydb-cluster-full")
                    .build())
                .continuousBackupConfig(ClusterContinuousBackupConfigArgs.builder()
                    .enabled(true)
                    .recoveryWindowDays(14)
                    .build())
                .automatedBackupPolicy(ClusterAutomatedBackupPolicyArgs.builder()
                    .location("us-central1")
                    .backupWindow("1800s")
                    .enabled(true)
                    .weeklySchedule(ClusterAutomatedBackupPolicyWeeklyScheduleArgs.builder()
                        .daysOfWeeks("MONDAY")
                        .startTimes(ClusterAutomatedBackupPolicyWeeklyScheduleStartTimeArgs.builder()
                            .hours(23)
                            .minutes(0)
                            .seconds(0)
                            .nanos(0)
                            .build())
                        .build())
                    .quantityBasedRetention(ClusterAutomatedBackupPolicyQuantityBasedRetentionArgs.builder()
                        .count(1)
                        .build())
                    .labels(Map.of("test", "alloydb-cluster-full"))
                    .build())
                .labels(Map.of("test", "alloydb-cluster-full"))
                .build());
    
            final var project = OrganizationsFunctions.getProject();
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    default = gcp.compute.Network("default")
    full = gcp.alloydb.Cluster("full",
        cluster_id="alloydb-cluster-full",
        location="us-central1",
        network=default.id,
        database_version="POSTGRES_15",
        initial_user=gcp.alloydb.ClusterInitialUserArgs(
            user="alloydb-cluster-full",
            password="alloydb-cluster-full",
        ),
        continuous_backup_config=gcp.alloydb.ClusterContinuousBackupConfigArgs(
            enabled=True,
            recovery_window_days=14,
        ),
        automated_backup_policy=gcp.alloydb.ClusterAutomatedBackupPolicyArgs(
            location="us-central1",
            backup_window="1800s",
            enabled=True,
            weekly_schedule=gcp.alloydb.ClusterAutomatedBackupPolicyWeeklyScheduleArgs(
                days_of_weeks=["MONDAY"],
                start_times=[gcp.alloydb.ClusterAutomatedBackupPolicyWeeklyScheduleStartTimeArgs(
                    hours=23,
                    minutes=0,
                    seconds=0,
                    nanos=0,
                )],
            ),
            quantity_based_retention=gcp.alloydb.ClusterAutomatedBackupPolicyQuantityBasedRetentionArgs(
                count=1,
            ),
            labels={
                "test": "alloydb-cluster-full",
            },
        ),
        labels={
            "test": "alloydb-cluster-full",
        })
    project = gcp.organizations.get_project()
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const _default = new gcp.compute.Network("default", {});
    const full = new gcp.alloydb.Cluster("full", {
        clusterId: "alloydb-cluster-full",
        location: "us-central1",
        network: _default.id,
        databaseVersion: "POSTGRES_15",
        initialUser: {
            user: "alloydb-cluster-full",
            password: "alloydb-cluster-full",
        },
        continuousBackupConfig: {
            enabled: true,
            recoveryWindowDays: 14,
        },
        automatedBackupPolicy: {
            location: "us-central1",
            backupWindow: "1800s",
            enabled: true,
            weeklySchedule: {
                daysOfWeeks: ["MONDAY"],
                startTimes: [{
                    hours: 23,
                    minutes: 0,
                    seconds: 0,
                    nanos: 0,
                }],
            },
            quantityBasedRetention: {
                count: 1,
            },
            labels: {
                test: "alloydb-cluster-full",
            },
        },
        labels: {
            test: "alloydb-cluster-full",
        },
    });
    const project = gcp.organizations.getProject({});
    
    resources:
      full:
        type: gcp:alloydb:Cluster
        properties:
          clusterId: alloydb-cluster-full
          location: us-central1
          network: ${default.id}
          databaseVersion: POSTGRES_15
          initialUser:
            user: alloydb-cluster-full
            password: alloydb-cluster-full
          continuousBackupConfig:
            enabled: true
            recoveryWindowDays: 14
          automatedBackupPolicy:
            location: us-central1
            backupWindow: 1800s
            enabled: true
            weeklySchedule:
              daysOfWeeks:
                - MONDAY
              startTimes:
                - hours: 23
                  minutes: 0
                  seconds: 0
                  nanos: 0
            quantityBasedRetention:
              count: 1
            labels:
              test: alloydb-cluster-full
          labels:
            test: alloydb-cluster-full
      default:
        type: gcp:compute:Network
    variables:
      project:
        fn::invoke:
          Function: gcp:organizations:getProject
          Arguments: {}
    

    Alloydb Cluster Restore

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var @default = Gcp.Compute.GetNetwork.Invoke(new()
        {
            Name = "alloydb-network",
        });
    
        var sourceCluster = new Gcp.Alloydb.Cluster("sourceCluster", new()
        {
            ClusterId = "alloydb-source-cluster",
            Location = "us-central1",
            Network = @default.Apply(@default => @default.Apply(getNetworkResult => getNetworkResult.Id)),
            InitialUser = new Gcp.Alloydb.Inputs.ClusterInitialUserArgs
            {
                Password = "alloydb-source-cluster",
            },
        });
    
        var privateIpAlloc = new Gcp.Compute.GlobalAddress("privateIpAlloc", new()
        {
            AddressType = "INTERNAL",
            Purpose = "VPC_PEERING",
            PrefixLength = 16,
            Network = @default.Apply(@default => @default.Apply(getNetworkResult => getNetworkResult.Id)),
        });
    
        var vpcConnection = new Gcp.ServiceNetworking.Connection("vpcConnection", new()
        {
            Network = @default.Apply(@default => @default.Apply(getNetworkResult => getNetworkResult.Id)),
            Service = "servicenetworking.googleapis.com",
            ReservedPeeringRanges = new[]
            {
                privateIpAlloc.Name,
            },
        });
    
        var sourceInstance = new Gcp.Alloydb.Instance("sourceInstance", new()
        {
            Cluster = sourceCluster.Name,
            InstanceId = "alloydb-instance",
            InstanceType = "PRIMARY",
            MachineConfig = new Gcp.Alloydb.Inputs.InstanceMachineConfigArgs
            {
                CpuCount = 2,
            },
        }, new CustomResourceOptions
        {
            DependsOn = new[]
            {
                vpcConnection,
            },
        });
    
        var sourceBackup = new Gcp.Alloydb.Backup("sourceBackup", new()
        {
            BackupId = "alloydb-backup",
            Location = "us-central1",
            ClusterName = sourceCluster.Name,
        }, new CustomResourceOptions
        {
            DependsOn = new[]
            {
                sourceInstance,
            },
        });
    
        var restoredFromBackup = new Gcp.Alloydb.Cluster("restoredFromBackup", new()
        {
            ClusterId = "alloydb-backup-restored",
            Location = "us-central1",
            Network = @default.Apply(@default => @default.Apply(getNetworkResult => getNetworkResult.Id)),
            RestoreBackupSource = new Gcp.Alloydb.Inputs.ClusterRestoreBackupSourceArgs
            {
                BackupName = sourceBackup.Name,
            },
        });
    
        var restoredViaPitr = new Gcp.Alloydb.Cluster("restoredViaPitr", new()
        {
            ClusterId = "alloydb-pitr-restored",
            Location = "us-central1",
            Network = @default.Apply(@default => @default.Apply(getNetworkResult => getNetworkResult.Id)),
            RestoreContinuousBackupSource = new Gcp.Alloydb.Inputs.ClusterRestoreContinuousBackupSourceArgs
            {
                Cluster = sourceCluster.Name,
                PointInTime = "2023-08-03T19:19:00.094Z",
            },
        });
    
        var project = Gcp.Organizations.GetProject.Invoke();
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/alloydb"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/servicenetworking"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_default, err := compute.LookupNetwork(ctx, &compute.LookupNetworkArgs{
    			Name: "alloydb-network",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		sourceCluster, err := alloydb.NewCluster(ctx, "sourceCluster", &alloydb.ClusterArgs{
    			ClusterId: pulumi.String("alloydb-source-cluster"),
    			Location:  pulumi.String("us-central1"),
    			Network:   *pulumi.String(_default.Id),
    			InitialUser: &alloydb.ClusterInitialUserArgs{
    				Password: pulumi.String("alloydb-source-cluster"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		privateIpAlloc, err := compute.NewGlobalAddress(ctx, "privateIpAlloc", &compute.GlobalAddressArgs{
    			AddressType:  pulumi.String("INTERNAL"),
    			Purpose:      pulumi.String("VPC_PEERING"),
    			PrefixLength: pulumi.Int(16),
    			Network:      *pulumi.String(_default.Id),
    		})
    		if err != nil {
    			return err
    		}
    		vpcConnection, err := servicenetworking.NewConnection(ctx, "vpcConnection", &servicenetworking.ConnectionArgs{
    			Network: *pulumi.String(_default.Id),
    			Service: pulumi.String("servicenetworking.googleapis.com"),
    			ReservedPeeringRanges: pulumi.StringArray{
    				privateIpAlloc.Name,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		sourceInstance, err := alloydb.NewInstance(ctx, "sourceInstance", &alloydb.InstanceArgs{
    			Cluster:      sourceCluster.Name,
    			InstanceId:   pulumi.String("alloydb-instance"),
    			InstanceType: pulumi.String("PRIMARY"),
    			MachineConfig: &alloydb.InstanceMachineConfigArgs{
    				CpuCount: pulumi.Int(2),
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			vpcConnection,
    		}))
    		if err != nil {
    			return err
    		}
    		sourceBackup, err := alloydb.NewBackup(ctx, "sourceBackup", &alloydb.BackupArgs{
    			BackupId:    pulumi.String("alloydb-backup"),
    			Location:    pulumi.String("us-central1"),
    			ClusterName: sourceCluster.Name,
    		}, pulumi.DependsOn([]pulumi.Resource{
    			sourceInstance,
    		}))
    		if err != nil {
    			return err
    		}
    		_, err = alloydb.NewCluster(ctx, "restoredFromBackup", &alloydb.ClusterArgs{
    			ClusterId: pulumi.String("alloydb-backup-restored"),
    			Location:  pulumi.String("us-central1"),
    			Network:   *pulumi.String(_default.Id),
    			RestoreBackupSource: &alloydb.ClusterRestoreBackupSourceArgs{
    				BackupName: sourceBackup.Name,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = alloydb.NewCluster(ctx, "restoredViaPitr", &alloydb.ClusterArgs{
    			ClusterId: pulumi.String("alloydb-pitr-restored"),
    			Location:  pulumi.String("us-central1"),
    			Network:   *pulumi.String(_default.Id),
    			RestoreContinuousBackupSource: &alloydb.ClusterRestoreContinuousBackupSourceArgs{
    				Cluster:     sourceCluster.Name,
    				PointInTime: pulumi.String("2023-08-03T19:19:00.094Z"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = organizations.LookupProject(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.compute.ComputeFunctions;
    import com.pulumi.gcp.compute.inputs.GetNetworkArgs;
    import com.pulumi.gcp.alloydb.Cluster;
    import com.pulumi.gcp.alloydb.ClusterArgs;
    import com.pulumi.gcp.alloydb.inputs.ClusterInitialUserArgs;
    import com.pulumi.gcp.compute.GlobalAddress;
    import com.pulumi.gcp.compute.GlobalAddressArgs;
    import com.pulumi.gcp.servicenetworking.Connection;
    import com.pulumi.gcp.servicenetworking.ConnectionArgs;
    import com.pulumi.gcp.alloydb.Instance;
    import com.pulumi.gcp.alloydb.InstanceArgs;
    import com.pulumi.gcp.alloydb.inputs.InstanceMachineConfigArgs;
    import com.pulumi.gcp.alloydb.Backup;
    import com.pulumi.gcp.alloydb.BackupArgs;
    import com.pulumi.gcp.alloydb.inputs.ClusterRestoreBackupSourceArgs;
    import com.pulumi.gcp.alloydb.inputs.ClusterRestoreContinuousBackupSourceArgs;
    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) {
            final var default = ComputeFunctions.getNetwork(GetNetworkArgs.builder()
                .name("alloydb-network")
                .build());
    
            var sourceCluster = new Cluster("sourceCluster", ClusterArgs.builder()        
                .clusterId("alloydb-source-cluster")
                .location("us-central1")
                .network(default_.id())
                .initialUser(ClusterInitialUserArgs.builder()
                    .password("alloydb-source-cluster")
                    .build())
                .build());
    
            var privateIpAlloc = new GlobalAddress("privateIpAlloc", GlobalAddressArgs.builder()        
                .addressType("INTERNAL")
                .purpose("VPC_PEERING")
                .prefixLength(16)
                .network(default_.id())
                .build());
    
            var vpcConnection = new Connection("vpcConnection", ConnectionArgs.builder()        
                .network(default_.id())
                .service("servicenetworking.googleapis.com")
                .reservedPeeringRanges(privateIpAlloc.name())
                .build());
    
            var sourceInstance = new Instance("sourceInstance", InstanceArgs.builder()        
                .cluster(sourceCluster.name())
                .instanceId("alloydb-instance")
                .instanceType("PRIMARY")
                .machineConfig(InstanceMachineConfigArgs.builder()
                    .cpuCount(2)
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(vpcConnection)
                    .build());
    
            var sourceBackup = new Backup("sourceBackup", BackupArgs.builder()        
                .backupId("alloydb-backup")
                .location("us-central1")
                .clusterName(sourceCluster.name())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(sourceInstance)
                    .build());
    
            var restoredFromBackup = new Cluster("restoredFromBackup", ClusterArgs.builder()        
                .clusterId("alloydb-backup-restored")
                .location("us-central1")
                .network(default_.id())
                .restoreBackupSource(ClusterRestoreBackupSourceArgs.builder()
                    .backupName(sourceBackup.name())
                    .build())
                .build());
    
            var restoredViaPitr = new Cluster("restoredViaPitr", ClusterArgs.builder()        
                .clusterId("alloydb-pitr-restored")
                .location("us-central1")
                .network(default_.id())
                .restoreContinuousBackupSource(ClusterRestoreContinuousBackupSourceArgs.builder()
                    .cluster(sourceCluster.name())
                    .pointInTime("2023-08-03T19:19:00.094Z")
                    .build())
                .build());
    
            final var project = OrganizationsFunctions.getProject();
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    default = gcp.compute.get_network(name="alloydb-network")
    source_cluster = gcp.alloydb.Cluster("sourceCluster",
        cluster_id="alloydb-source-cluster",
        location="us-central1",
        network=default.id,
        initial_user=gcp.alloydb.ClusterInitialUserArgs(
            password="alloydb-source-cluster",
        ))
    private_ip_alloc = gcp.compute.GlobalAddress("privateIpAlloc",
        address_type="INTERNAL",
        purpose="VPC_PEERING",
        prefix_length=16,
        network=default.id)
    vpc_connection = gcp.servicenetworking.Connection("vpcConnection",
        network=default.id,
        service="servicenetworking.googleapis.com",
        reserved_peering_ranges=[private_ip_alloc.name])
    source_instance = gcp.alloydb.Instance("sourceInstance",
        cluster=source_cluster.name,
        instance_id="alloydb-instance",
        instance_type="PRIMARY",
        machine_config=gcp.alloydb.InstanceMachineConfigArgs(
            cpu_count=2,
        ),
        opts=pulumi.ResourceOptions(depends_on=[vpc_connection]))
    source_backup = gcp.alloydb.Backup("sourceBackup",
        backup_id="alloydb-backup",
        location="us-central1",
        cluster_name=source_cluster.name,
        opts=pulumi.ResourceOptions(depends_on=[source_instance]))
    restored_from_backup = gcp.alloydb.Cluster("restoredFromBackup",
        cluster_id="alloydb-backup-restored",
        location="us-central1",
        network=default.id,
        restore_backup_source=gcp.alloydb.ClusterRestoreBackupSourceArgs(
            backup_name=source_backup.name,
        ))
    restored_via_pitr = gcp.alloydb.Cluster("restoredViaPitr",
        cluster_id="alloydb-pitr-restored",
        location="us-central1",
        network=default.id,
        restore_continuous_backup_source=gcp.alloydb.ClusterRestoreContinuousBackupSourceArgs(
            cluster=source_cluster.name,
            point_in_time="2023-08-03T19:19:00.094Z",
        ))
    project = gcp.organizations.get_project()
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const default = gcp.compute.getNetwork({
        name: "alloydb-network",
    });
    const sourceCluster = new gcp.alloydb.Cluster("sourceCluster", {
        clusterId: "alloydb-source-cluster",
        location: "us-central1",
        network: _default.then(_default => _default.id),
        initialUser: {
            password: "alloydb-source-cluster",
        },
    });
    const privateIpAlloc = new gcp.compute.GlobalAddress("privateIpAlloc", {
        addressType: "INTERNAL",
        purpose: "VPC_PEERING",
        prefixLength: 16,
        network: _default.then(_default => _default.id),
    });
    const vpcConnection = new gcp.servicenetworking.Connection("vpcConnection", {
        network: _default.then(_default => _default.id),
        service: "servicenetworking.googleapis.com",
        reservedPeeringRanges: [privateIpAlloc.name],
    });
    const sourceInstance = new gcp.alloydb.Instance("sourceInstance", {
        cluster: sourceCluster.name,
        instanceId: "alloydb-instance",
        instanceType: "PRIMARY",
        machineConfig: {
            cpuCount: 2,
        },
    }, {
        dependsOn: [vpcConnection],
    });
    const sourceBackup = new gcp.alloydb.Backup("sourceBackup", {
        backupId: "alloydb-backup",
        location: "us-central1",
        clusterName: sourceCluster.name,
    }, {
        dependsOn: [sourceInstance],
    });
    const restoredFromBackup = new gcp.alloydb.Cluster("restoredFromBackup", {
        clusterId: "alloydb-backup-restored",
        location: "us-central1",
        network: _default.then(_default => _default.id),
        restoreBackupSource: {
            backupName: sourceBackup.name,
        },
    });
    const restoredViaPitr = new gcp.alloydb.Cluster("restoredViaPitr", {
        clusterId: "alloydb-pitr-restored",
        location: "us-central1",
        network: _default.then(_default => _default.id),
        restoreContinuousBackupSource: {
            cluster: sourceCluster.name,
            pointInTime: "2023-08-03T19:19:00.094Z",
        },
    });
    const project = gcp.organizations.getProject({});
    
    resources:
      sourceCluster:
        type: gcp:alloydb:Cluster
        properties:
          clusterId: alloydb-source-cluster
          location: us-central1
          network: ${default.id}
          initialUser:
            password: alloydb-source-cluster
      sourceInstance:
        type: gcp:alloydb:Instance
        properties:
          cluster: ${sourceCluster.name}
          instanceId: alloydb-instance
          instanceType: PRIMARY
          machineConfig:
            cpuCount: 2
        options:
          dependson:
            - ${vpcConnection}
      sourceBackup:
        type: gcp:alloydb:Backup
        properties:
          backupId: alloydb-backup
          location: us-central1
          clusterName: ${sourceCluster.name}
        options:
          dependson:
            - ${sourceInstance}
      restoredFromBackup:
        type: gcp:alloydb:Cluster
        properties:
          clusterId: alloydb-backup-restored
          location: us-central1
          network: ${default.id}
          restoreBackupSource:
            backupName: ${sourceBackup.name}
      restoredViaPitr:
        type: gcp:alloydb:Cluster
        properties:
          clusterId: alloydb-pitr-restored
          location: us-central1
          network: ${default.id}
          restoreContinuousBackupSource:
            cluster: ${sourceCluster.name}
            pointInTime: 2023-08-03T19:19:00.094Z
      privateIpAlloc:
        type: gcp:compute:GlobalAddress
        properties:
          addressType: INTERNAL
          purpose: VPC_PEERING
          prefixLength: 16
          network: ${default.id}
      vpcConnection:
        type: gcp:servicenetworking:Connection
        properties:
          network: ${default.id}
          service: servicenetworking.googleapis.com
          reservedPeeringRanges:
            - ${privateIpAlloc.name}
    variables:
      project:
        fn::invoke:
          Function: gcp:organizations:getProject
          Arguments: {}
      default:
        fn::invoke:
          Function: gcp:compute:getNetwork
          Arguments:
            name: alloydb-network
    

    Alloydb Secondary Cluster Basic

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var @default = new Gcp.Compute.Network("default");
    
        var primaryCluster = new Gcp.Alloydb.Cluster("primaryCluster", new()
        {
            ClusterId = "alloydb-primary-cluster",
            Location = "us-central1",
            Network = @default.Id,
        });
    
        var privateIpAlloc = new Gcp.Compute.GlobalAddress("privateIpAlloc", new()
        {
            AddressType = "INTERNAL",
            Purpose = "VPC_PEERING",
            PrefixLength = 16,
            Network = @default.Id,
        });
    
        var vpcConnection = new Gcp.ServiceNetworking.Connection("vpcConnection", new()
        {
            Network = @default.Id,
            Service = "servicenetworking.googleapis.com",
            ReservedPeeringRanges = new[]
            {
                privateIpAlloc.Name,
            },
        });
    
        var primaryInstance = new Gcp.Alloydb.Instance("primaryInstance", new()
        {
            Cluster = primaryCluster.Name,
            InstanceId = "alloydb-primary-instance",
            InstanceType = "PRIMARY",
            MachineConfig = new Gcp.Alloydb.Inputs.InstanceMachineConfigArgs
            {
                CpuCount = 2,
            },
        }, new CustomResourceOptions
        {
            DependsOn = new[]
            {
                vpcConnection,
            },
        });
    
        var secondary = new Gcp.Alloydb.Cluster("secondary", new()
        {
            ClusterId = "alloydb-secondary-cluster",
            Location = "us-east1",
            Network = @default.Id,
            ClusterType = "SECONDARY",
            ContinuousBackupConfig = new Gcp.Alloydb.Inputs.ClusterContinuousBackupConfigArgs
            {
                Enabled = false,
            },
            SecondaryConfig = new Gcp.Alloydb.Inputs.ClusterSecondaryConfigArgs
            {
                PrimaryClusterName = primaryCluster.Name,
            },
        }, new CustomResourceOptions
        {
            DependsOn = new[]
            {
                primaryInstance,
            },
        });
    
        var project = Gcp.Organizations.GetProject.Invoke();
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/alloydb"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/servicenetworking"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewNetwork(ctx, "default", nil)
    		if err != nil {
    			return err
    		}
    		primaryCluster, err := alloydb.NewCluster(ctx, "primaryCluster", &alloydb.ClusterArgs{
    			ClusterId: pulumi.String("alloydb-primary-cluster"),
    			Location:  pulumi.String("us-central1"),
    			Network:   _default.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		privateIpAlloc, err := compute.NewGlobalAddress(ctx, "privateIpAlloc", &compute.GlobalAddressArgs{
    			AddressType:  pulumi.String("INTERNAL"),
    			Purpose:      pulumi.String("VPC_PEERING"),
    			PrefixLength: pulumi.Int(16),
    			Network:      _default.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		vpcConnection, err := servicenetworking.NewConnection(ctx, "vpcConnection", &servicenetworking.ConnectionArgs{
    			Network: _default.ID(),
    			Service: pulumi.String("servicenetworking.googleapis.com"),
    			ReservedPeeringRanges: pulumi.StringArray{
    				privateIpAlloc.Name,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		primaryInstance, err := alloydb.NewInstance(ctx, "primaryInstance", &alloydb.InstanceArgs{
    			Cluster:      primaryCluster.Name,
    			InstanceId:   pulumi.String("alloydb-primary-instance"),
    			InstanceType: pulumi.String("PRIMARY"),
    			MachineConfig: &alloydb.InstanceMachineConfigArgs{
    				CpuCount: pulumi.Int(2),
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			vpcConnection,
    		}))
    		if err != nil {
    			return err
    		}
    		_, err = alloydb.NewCluster(ctx, "secondary", &alloydb.ClusterArgs{
    			ClusterId:   pulumi.String("alloydb-secondary-cluster"),
    			Location:    pulumi.String("us-east1"),
    			Network:     _default.ID(),
    			ClusterType: pulumi.String("SECONDARY"),
    			ContinuousBackupConfig: &alloydb.ClusterContinuousBackupConfigArgs{
    				Enabled: pulumi.Bool(false),
    			},
    			SecondaryConfig: &alloydb.ClusterSecondaryConfigArgs{
    				PrimaryClusterName: primaryCluster.Name,
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			primaryInstance,
    		}))
    		if err != nil {
    			return err
    		}
    		_, err = organizations.LookupProject(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    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.alloydb.Cluster;
    import com.pulumi.gcp.alloydb.ClusterArgs;
    import com.pulumi.gcp.compute.GlobalAddress;
    import com.pulumi.gcp.compute.GlobalAddressArgs;
    import com.pulumi.gcp.servicenetworking.Connection;
    import com.pulumi.gcp.servicenetworking.ConnectionArgs;
    import com.pulumi.gcp.alloydb.Instance;
    import com.pulumi.gcp.alloydb.InstanceArgs;
    import com.pulumi.gcp.alloydb.inputs.InstanceMachineConfigArgs;
    import com.pulumi.gcp.alloydb.inputs.ClusterContinuousBackupConfigArgs;
    import com.pulumi.gcp.alloydb.inputs.ClusterSecondaryConfigArgs;
    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 default_ = new Network("default");
    
            var primaryCluster = new Cluster("primaryCluster", ClusterArgs.builder()        
                .clusterId("alloydb-primary-cluster")
                .location("us-central1")
                .network(default_.id())
                .build());
    
            var privateIpAlloc = new GlobalAddress("privateIpAlloc", GlobalAddressArgs.builder()        
                .addressType("INTERNAL")
                .purpose("VPC_PEERING")
                .prefixLength(16)
                .network(default_.id())
                .build());
    
            var vpcConnection = new Connection("vpcConnection", ConnectionArgs.builder()        
                .network(default_.id())
                .service("servicenetworking.googleapis.com")
                .reservedPeeringRanges(privateIpAlloc.name())
                .build());
    
            var primaryInstance = new Instance("primaryInstance", InstanceArgs.builder()        
                .cluster(primaryCluster.name())
                .instanceId("alloydb-primary-instance")
                .instanceType("PRIMARY")
                .machineConfig(InstanceMachineConfigArgs.builder()
                    .cpuCount(2)
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(vpcConnection)
                    .build());
    
            var secondary = new Cluster("secondary", ClusterArgs.builder()        
                .clusterId("alloydb-secondary-cluster")
                .location("us-east1")
                .network(default_.id())
                .clusterType("SECONDARY")
                .continuousBackupConfig(ClusterContinuousBackupConfigArgs.builder()
                    .enabled(false)
                    .build())
                .secondaryConfig(ClusterSecondaryConfigArgs.builder()
                    .primaryClusterName(primaryCluster.name())
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(primaryInstance)
                    .build());
    
            final var project = OrganizationsFunctions.getProject();
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    default = gcp.compute.Network("default")
    primary_cluster = gcp.alloydb.Cluster("primaryCluster",
        cluster_id="alloydb-primary-cluster",
        location="us-central1",
        network=default.id)
    private_ip_alloc = gcp.compute.GlobalAddress("privateIpAlloc",
        address_type="INTERNAL",
        purpose="VPC_PEERING",
        prefix_length=16,
        network=default.id)
    vpc_connection = gcp.servicenetworking.Connection("vpcConnection",
        network=default.id,
        service="servicenetworking.googleapis.com",
        reserved_peering_ranges=[private_ip_alloc.name])
    primary_instance = gcp.alloydb.Instance("primaryInstance",
        cluster=primary_cluster.name,
        instance_id="alloydb-primary-instance",
        instance_type="PRIMARY",
        machine_config=gcp.alloydb.InstanceMachineConfigArgs(
            cpu_count=2,
        ),
        opts=pulumi.ResourceOptions(depends_on=[vpc_connection]))
    secondary = gcp.alloydb.Cluster("secondary",
        cluster_id="alloydb-secondary-cluster",
        location="us-east1",
        network=default.id,
        cluster_type="SECONDARY",
        continuous_backup_config=gcp.alloydb.ClusterContinuousBackupConfigArgs(
            enabled=False,
        ),
        secondary_config=gcp.alloydb.ClusterSecondaryConfigArgs(
            primary_cluster_name=primary_cluster.name,
        ),
        opts=pulumi.ResourceOptions(depends_on=[primary_instance]))
    project = gcp.organizations.get_project()
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const _default = new gcp.compute.Network("default", {});
    const primaryCluster = new gcp.alloydb.Cluster("primaryCluster", {
        clusterId: "alloydb-primary-cluster",
        location: "us-central1",
        network: _default.id,
    });
    const privateIpAlloc = new gcp.compute.GlobalAddress("privateIpAlloc", {
        addressType: "INTERNAL",
        purpose: "VPC_PEERING",
        prefixLength: 16,
        network: _default.id,
    });
    const vpcConnection = new gcp.servicenetworking.Connection("vpcConnection", {
        network: _default.id,
        service: "servicenetworking.googleapis.com",
        reservedPeeringRanges: [privateIpAlloc.name],
    });
    const primaryInstance = new gcp.alloydb.Instance("primaryInstance", {
        cluster: primaryCluster.name,
        instanceId: "alloydb-primary-instance",
        instanceType: "PRIMARY",
        machineConfig: {
            cpuCount: 2,
        },
    }, {
        dependsOn: [vpcConnection],
    });
    const secondary = new gcp.alloydb.Cluster("secondary", {
        clusterId: "alloydb-secondary-cluster",
        location: "us-east1",
        network: _default.id,
        clusterType: "SECONDARY",
        continuousBackupConfig: {
            enabled: false,
        },
        secondaryConfig: {
            primaryClusterName: primaryCluster.name,
        },
    }, {
        dependsOn: [primaryInstance],
    });
    const project = gcp.organizations.getProject({});
    
    resources:
      primaryCluster:
        type: gcp:alloydb:Cluster
        properties:
          clusterId: alloydb-primary-cluster
          location: us-central1
          network: ${default.id}
      primaryInstance:
        type: gcp:alloydb:Instance
        properties:
          cluster: ${primaryCluster.name}
          instanceId: alloydb-primary-instance
          instanceType: PRIMARY
          machineConfig:
            cpuCount: 2
        options:
          dependson:
            - ${vpcConnection}
      secondary:
        type: gcp:alloydb:Cluster
        properties:
          clusterId: alloydb-secondary-cluster
          location: us-east1
          network: ${default.id}
          clusterType: SECONDARY
          continuousBackupConfig:
            enabled: false
          secondaryConfig:
            primaryClusterName: ${primaryCluster.name}
        options:
          dependson:
            - ${primaryInstance}
      default:
        type: gcp:compute:Network
      privateIpAlloc:
        type: gcp:compute:GlobalAddress
        properties:
          addressType: INTERNAL
          purpose: VPC_PEERING
          prefixLength: 16
          network: ${default.id}
      vpcConnection:
        type: gcp:servicenetworking:Connection
        properties:
          network: ${default.id}
          service: servicenetworking.googleapis.com
          reservedPeeringRanges:
            - ${privateIpAlloc.name}
    variables:
      project:
        fn::invoke:
          Function: gcp:organizations:getProject
          Arguments: {}
    

    Create Cluster Resource

    new Cluster(name: string, args: ClusterArgs, opts?: CustomResourceOptions);
    @overload
    def Cluster(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                annotations: Optional[Mapping[str, str]] = None,
                automated_backup_policy: Optional[ClusterAutomatedBackupPolicyArgs] = None,
                cluster_id: Optional[str] = None,
                cluster_type: Optional[str] = None,
                continuous_backup_config: Optional[ClusterContinuousBackupConfigArgs] = None,
                database_version: Optional[str] = None,
                deletion_policy: Optional[str] = None,
                display_name: Optional[str] = None,
                encryption_config: Optional[ClusterEncryptionConfigArgs] = None,
                etag: Optional[str] = None,
                initial_user: Optional[ClusterInitialUserArgs] = None,
                labels: Optional[Mapping[str, str]] = None,
                location: Optional[str] = None,
                network: Optional[str] = None,
                network_config: Optional[ClusterNetworkConfigArgs] = None,
                project: Optional[str] = None,
                restore_backup_source: Optional[ClusterRestoreBackupSourceArgs] = None,
                restore_continuous_backup_source: Optional[ClusterRestoreContinuousBackupSourceArgs] = None,
                secondary_config: Optional[ClusterSecondaryConfigArgs] = None)
    @overload
    def Cluster(resource_name: str,
                args: ClusterArgs,
                opts: Optional[ResourceOptions] = 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:alloydb:Cluster
    properties: # The arguments to resource properties.
    options: # 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.
    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.

    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

    The Cluster resource accepts the following input properties:

    ClusterId string
    The ID of the alloydb cluster.
    Location string
    The location where the alloydb cluster should reside.


    Annotations Dictionary<string, string>

    Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

    Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.

    AutomatedBackupPolicy ClusterAutomatedBackupPolicy
    The automated backup policy for this cluster. AutomatedBackupPolicy is disabled by default. Structure is documented below.
    ClusterType string
    The type of cluster. If not set, defaults to PRIMARY. Default value is PRIMARY. Possible values are: PRIMARY, SECONDARY.
    ContinuousBackupConfig ClusterContinuousBackupConfig
    The continuous backup config for this cluster. If no policy is provided then the default policy will be used. The default policy takes one backup a day and retains backups for 14 days. Structure is documented below.
    DatabaseVersion string
    The database engine major version. This is an optional field and it's populated at the Cluster creation time. This field cannot be changed after cluster creation.
    DeletionPolicy string
    Policy to determine if the cluster should be deleted forcefully. Deleting a cluster forcefully, deletes the cluster and all its associated instances within the cluster. Deleting a Secondary cluster with a secondary instance REQUIRES setting deletion_policy = "FORCE" otherwise an error is returned. This is needed as there is no support to delete just the secondary instance, and the only way to delete secondary instance is to delete the associated secondary cluster forcefully which also deletes the secondary instance.
    DisplayName string
    User-settable and human-readable display name for the Cluster.
    EncryptionConfig ClusterEncryptionConfig
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    Etag string
    For Resource freshness validation (https://google.aip.dev/154)
    InitialUser ClusterInitialUser
    Initial user to setup during cluster creation. Structure is documented below.
    Labels Dictionary<string, string>
    User-defined labels for the alloydb cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    Network string

    (Optional, Deprecated) The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".

    Warning: network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    Deprecated:network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    NetworkConfig ClusterNetworkConfig
    Metadata related to network configuration. 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.
    RestoreBackupSource ClusterRestoreBackupSource
    The source when restoring from a backup. Conflicts with 'restore_continuous_backup_source', both can't be set together. Structure is documented below.
    RestoreContinuousBackupSource ClusterRestoreContinuousBackupSource
    The source when restoring via point in time recovery (PITR). Conflicts with 'restore_backup_source', both can't be set together. Structure is documented below.
    SecondaryConfig ClusterSecondaryConfig
    Configuration of the secondary cluster for Cross Region Replication. This should be set if and only if the cluster is of type SECONDARY. Structure is documented below.
    ClusterId string
    The ID of the alloydb cluster.
    Location string
    The location where the alloydb cluster should reside.


    Annotations map[string]string

    Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

    Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.

    AutomatedBackupPolicy ClusterAutomatedBackupPolicyArgs
    The automated backup policy for this cluster. AutomatedBackupPolicy is disabled by default. Structure is documented below.
    ClusterType string
    The type of cluster. If not set, defaults to PRIMARY. Default value is PRIMARY. Possible values are: PRIMARY, SECONDARY.
    ContinuousBackupConfig ClusterContinuousBackupConfigArgs
    The continuous backup config for this cluster. If no policy is provided then the default policy will be used. The default policy takes one backup a day and retains backups for 14 days. Structure is documented below.
    DatabaseVersion string
    The database engine major version. This is an optional field and it's populated at the Cluster creation time. This field cannot be changed after cluster creation.
    DeletionPolicy string
    Policy to determine if the cluster should be deleted forcefully. Deleting a cluster forcefully, deletes the cluster and all its associated instances within the cluster. Deleting a Secondary cluster with a secondary instance REQUIRES setting deletion_policy = "FORCE" otherwise an error is returned. This is needed as there is no support to delete just the secondary instance, and the only way to delete secondary instance is to delete the associated secondary cluster forcefully which also deletes the secondary instance.
    DisplayName string
    User-settable and human-readable display name for the Cluster.
    EncryptionConfig ClusterEncryptionConfigArgs
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    Etag string
    For Resource freshness validation (https://google.aip.dev/154)
    InitialUser ClusterInitialUserArgs
    Initial user to setup during cluster creation. Structure is documented below.
    Labels map[string]string
    User-defined labels for the alloydb cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    Network string

    (Optional, Deprecated) The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".

    Warning: network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    Deprecated:network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    NetworkConfig ClusterNetworkConfigArgs
    Metadata related to network configuration. 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.
    RestoreBackupSource ClusterRestoreBackupSourceArgs
    The source when restoring from a backup. Conflicts with 'restore_continuous_backup_source', both can't be set together. Structure is documented below.
    RestoreContinuousBackupSource ClusterRestoreContinuousBackupSourceArgs
    The source when restoring via point in time recovery (PITR). Conflicts with 'restore_backup_source', both can't be set together. Structure is documented below.
    SecondaryConfig ClusterSecondaryConfigArgs
    Configuration of the secondary cluster for Cross Region Replication. This should be set if and only if the cluster is of type SECONDARY. Structure is documented below.
    clusterId String
    The ID of the alloydb cluster.
    location String
    The location where the alloydb cluster should reside.


    annotations Map<String,String>

    Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

    Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.

    automatedBackupPolicy ClusterAutomatedBackupPolicy
    The automated backup policy for this cluster. AutomatedBackupPolicy is disabled by default. Structure is documented below.
    clusterType String
    The type of cluster. If not set, defaults to PRIMARY. Default value is PRIMARY. Possible values are: PRIMARY, SECONDARY.
    continuousBackupConfig ClusterContinuousBackupConfig
    The continuous backup config for this cluster. If no policy is provided then the default policy will be used. The default policy takes one backup a day and retains backups for 14 days. Structure is documented below.
    databaseVersion String
    The database engine major version. This is an optional field and it's populated at the Cluster creation time. This field cannot be changed after cluster creation.
    deletionPolicy String
    Policy to determine if the cluster should be deleted forcefully. Deleting a cluster forcefully, deletes the cluster and all its associated instances within the cluster. Deleting a Secondary cluster with a secondary instance REQUIRES setting deletion_policy = "FORCE" otherwise an error is returned. This is needed as there is no support to delete just the secondary instance, and the only way to delete secondary instance is to delete the associated secondary cluster forcefully which also deletes the secondary instance.
    displayName String
    User-settable and human-readable display name for the Cluster.
    encryptionConfig ClusterEncryptionConfig
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    etag String
    For Resource freshness validation (https://google.aip.dev/154)
    initialUser ClusterInitialUser
    Initial user to setup during cluster creation. Structure is documented below.
    labels Map<String,String>
    User-defined labels for the alloydb cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    network String

    (Optional, Deprecated) The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".

    Warning: network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    Deprecated:network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    networkConfig ClusterNetworkConfig
    Metadata related to network configuration. 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.
    restoreBackupSource ClusterRestoreBackupSource
    The source when restoring from a backup. Conflicts with 'restore_continuous_backup_source', both can't be set together. Structure is documented below.
    restoreContinuousBackupSource ClusterRestoreContinuousBackupSource
    The source when restoring via point in time recovery (PITR). Conflicts with 'restore_backup_source', both can't be set together. Structure is documented below.
    secondaryConfig ClusterSecondaryConfig
    Configuration of the secondary cluster for Cross Region Replication. This should be set if and only if the cluster is of type SECONDARY. Structure is documented below.
    clusterId string
    The ID of the alloydb cluster.
    location string
    The location where the alloydb cluster should reside.


    annotations {[key: string]: string}

    Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

    Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.

    automatedBackupPolicy ClusterAutomatedBackupPolicy
    The automated backup policy for this cluster. AutomatedBackupPolicy is disabled by default. Structure is documented below.
    clusterType string
    The type of cluster. If not set, defaults to PRIMARY. Default value is PRIMARY. Possible values are: PRIMARY, SECONDARY.
    continuousBackupConfig ClusterContinuousBackupConfig
    The continuous backup config for this cluster. If no policy is provided then the default policy will be used. The default policy takes one backup a day and retains backups for 14 days. Structure is documented below.
    databaseVersion string
    The database engine major version. This is an optional field and it's populated at the Cluster creation time. This field cannot be changed after cluster creation.
    deletionPolicy string
    Policy to determine if the cluster should be deleted forcefully. Deleting a cluster forcefully, deletes the cluster and all its associated instances within the cluster. Deleting a Secondary cluster with a secondary instance REQUIRES setting deletion_policy = "FORCE" otherwise an error is returned. This is needed as there is no support to delete just the secondary instance, and the only way to delete secondary instance is to delete the associated secondary cluster forcefully which also deletes the secondary instance.
    displayName string
    User-settable and human-readable display name for the Cluster.
    encryptionConfig ClusterEncryptionConfig
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    etag string
    For Resource freshness validation (https://google.aip.dev/154)
    initialUser ClusterInitialUser
    Initial user to setup during cluster creation. Structure is documented below.
    labels {[key: string]: string}
    User-defined labels for the alloydb cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    network string

    (Optional, Deprecated) The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".

    Warning: network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    Deprecated:network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    networkConfig ClusterNetworkConfig
    Metadata related to network configuration. 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.
    restoreBackupSource ClusterRestoreBackupSource
    The source when restoring from a backup. Conflicts with 'restore_continuous_backup_source', both can't be set together. Structure is documented below.
    restoreContinuousBackupSource ClusterRestoreContinuousBackupSource
    The source when restoring via point in time recovery (PITR). Conflicts with 'restore_backup_source', both can't be set together. Structure is documented below.
    secondaryConfig ClusterSecondaryConfig
    Configuration of the secondary cluster for Cross Region Replication. This should be set if and only if the cluster is of type SECONDARY. Structure is documented below.
    cluster_id str
    The ID of the alloydb cluster.
    location str
    The location where the alloydb cluster should reside.


    annotations Mapping[str, str]

    Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

    Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.

    automated_backup_policy ClusterAutomatedBackupPolicyArgs
    The automated backup policy for this cluster. AutomatedBackupPolicy is disabled by default. Structure is documented below.
    cluster_type str
    The type of cluster. If not set, defaults to PRIMARY. Default value is PRIMARY. Possible values are: PRIMARY, SECONDARY.
    continuous_backup_config ClusterContinuousBackupConfigArgs
    The continuous backup config for this cluster. If no policy is provided then the default policy will be used. The default policy takes one backup a day and retains backups for 14 days. Structure is documented below.
    database_version str
    The database engine major version. This is an optional field and it's populated at the Cluster creation time. This field cannot be changed after cluster creation.
    deletion_policy str
    Policy to determine if the cluster should be deleted forcefully. Deleting a cluster forcefully, deletes the cluster and all its associated instances within the cluster. Deleting a Secondary cluster with a secondary instance REQUIRES setting deletion_policy = "FORCE" otherwise an error is returned. This is needed as there is no support to delete just the secondary instance, and the only way to delete secondary instance is to delete the associated secondary cluster forcefully which also deletes the secondary instance.
    display_name str
    User-settable and human-readable display name for the Cluster.
    encryption_config ClusterEncryptionConfigArgs
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    etag str
    For Resource freshness validation (https://google.aip.dev/154)
    initial_user ClusterInitialUserArgs
    Initial user to setup during cluster creation. Structure is documented below.
    labels Mapping[str, str]
    User-defined labels for the alloydb cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    network str

    (Optional, Deprecated) The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".

    Warning: network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    Deprecated:network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    network_config ClusterNetworkConfigArgs
    Metadata related to network configuration. 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.
    restore_backup_source ClusterRestoreBackupSourceArgs
    The source when restoring from a backup. Conflicts with 'restore_continuous_backup_source', both can't be set together. Structure is documented below.
    restore_continuous_backup_source ClusterRestoreContinuousBackupSourceArgs
    The source when restoring via point in time recovery (PITR). Conflicts with 'restore_backup_source', both can't be set together. Structure is documented below.
    secondary_config ClusterSecondaryConfigArgs
    Configuration of the secondary cluster for Cross Region Replication. This should be set if and only if the cluster is of type SECONDARY. Structure is documented below.
    clusterId String
    The ID of the alloydb cluster.
    location String
    The location where the alloydb cluster should reside.


    annotations Map<String>

    Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

    Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.

    automatedBackupPolicy Property Map
    The automated backup policy for this cluster. AutomatedBackupPolicy is disabled by default. Structure is documented below.
    clusterType String
    The type of cluster. If not set, defaults to PRIMARY. Default value is PRIMARY. Possible values are: PRIMARY, SECONDARY.
    continuousBackupConfig Property Map
    The continuous backup config for this cluster. If no policy is provided then the default policy will be used. The default policy takes one backup a day and retains backups for 14 days. Structure is documented below.
    databaseVersion String
    The database engine major version. This is an optional field and it's populated at the Cluster creation time. This field cannot be changed after cluster creation.
    deletionPolicy String
    Policy to determine if the cluster should be deleted forcefully. Deleting a cluster forcefully, deletes the cluster and all its associated instances within the cluster. Deleting a Secondary cluster with a secondary instance REQUIRES setting deletion_policy = "FORCE" otherwise an error is returned. This is needed as there is no support to delete just the secondary instance, and the only way to delete secondary instance is to delete the associated secondary cluster forcefully which also deletes the secondary instance.
    displayName String
    User-settable and human-readable display name for the Cluster.
    encryptionConfig Property Map
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    etag String
    For Resource freshness validation (https://google.aip.dev/154)
    initialUser Property Map
    Initial user to setup during cluster creation. Structure is documented below.
    labels Map<String>
    User-defined labels for the alloydb cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    network String

    (Optional, Deprecated) The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".

    Warning: network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    Deprecated:network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    networkConfig Property Map
    Metadata related to network configuration. 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.
    restoreBackupSource Property Map
    The source when restoring from a backup. Conflicts with 'restore_continuous_backup_source', both can't be set together. Structure is documented below.
    restoreContinuousBackupSource Property Map
    The source when restoring via point in time recovery (PITR). Conflicts with 'restore_backup_source', both can't be set together. Structure is documented below.
    secondaryConfig Property Map
    Configuration of the secondary cluster for Cross Region Replication. This should be set if and only if the cluster is of type SECONDARY. Structure is documented below.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Cluster resource produces the following output properties:

    BackupSources List<ClusterBackupSource>
    Cluster created from backup. Structure is documented below.
    ContinuousBackupInfos List<ClusterContinuousBackupInfo>
    ContinuousBackupInfo describes the continuous backup properties of a cluster. Structure is documented below.
    EffectiveAnnotations Dictionary<string, string>
    All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through Terraform, other clients and services.
    EffectiveLabels Dictionary<string, string>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    EncryptionInfos List<ClusterEncryptionInfo>
    (Output) Output only. The encryption information for the WALs and backups required for ContinuousBackup. Structure is documented below.
    Id string
    The provider-assigned unique ID for this managed resource.
    MigrationSources List<ClusterMigrationSource>
    Cluster created via DMS migration. Structure is documented below.
    Name string
    The name of the cluster resource.
    PulumiLabels Dictionary<string, string>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    Reconciling bool
    Output only. Reconciling (https://google.aip.dev/128#reconciliation). Set to true if the current state of Cluster does not match the user's intended state, and the service is actively updating the resource to reconcile them. This can happen due to user-triggered updates or system actions like failover or maintenance.
    State string
    Output only. The current serving state of the cluster.
    Uid string
    The system-generated UID of the resource.
    BackupSources []ClusterBackupSource
    Cluster created from backup. Structure is documented below.
    ContinuousBackupInfos []ClusterContinuousBackupInfo
    ContinuousBackupInfo describes the continuous backup properties of a cluster. Structure is documented below.
    EffectiveAnnotations map[string]string
    All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through Terraform, other clients and services.
    EffectiveLabels map[string]string
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    EncryptionInfos []ClusterEncryptionInfo
    (Output) Output only. The encryption information for the WALs and backups required for ContinuousBackup. Structure is documented below.
    Id string
    The provider-assigned unique ID for this managed resource.
    MigrationSources []ClusterMigrationSource
    Cluster created via DMS migration. Structure is documented below.
    Name string
    The name of the cluster resource.
    PulumiLabels map[string]string
    The combination of labels configured directly on the resource and default labels configured on the provider.
    Reconciling bool
    Output only. Reconciling (https://google.aip.dev/128#reconciliation). Set to true if the current state of Cluster does not match the user's intended state, and the service is actively updating the resource to reconcile them. This can happen due to user-triggered updates or system actions like failover or maintenance.
    State string
    Output only. The current serving state of the cluster.
    Uid string
    The system-generated UID of the resource.
    backupSources List<ClusterBackupSource>
    Cluster created from backup. Structure is documented below.
    continuousBackupInfos List<ClusterContinuousBackupInfo>
    ContinuousBackupInfo describes the continuous backup properties of a cluster. Structure is documented below.
    effectiveAnnotations Map<String,String>
    All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through Terraform, other clients and services.
    effectiveLabels Map<String,String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    encryptionInfos List<ClusterEncryptionInfo>
    (Output) Output only. The encryption information for the WALs and backups required for ContinuousBackup. Structure is documented below.
    id String
    The provider-assigned unique ID for this managed resource.
    migrationSources List<ClusterMigrationSource>
    Cluster created via DMS migration. Structure is documented below.
    name String
    The name of the cluster resource.
    pulumiLabels Map<String,String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    reconciling Boolean
    Output only. Reconciling (https://google.aip.dev/128#reconciliation). Set to true if the current state of Cluster does not match the user's intended state, and the service is actively updating the resource to reconcile them. This can happen due to user-triggered updates or system actions like failover or maintenance.
    state String
    Output only. The current serving state of the cluster.
    uid String
    The system-generated UID of the resource.
    backupSources ClusterBackupSource[]
    Cluster created from backup. Structure is documented below.
    continuousBackupInfos ClusterContinuousBackupInfo[]
    ContinuousBackupInfo describes the continuous backup properties of a cluster. Structure is documented below.
    effectiveAnnotations {[key: string]: string}
    All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through Terraform, other clients and services.
    effectiveLabels {[key: string]: string}
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    encryptionInfos ClusterEncryptionInfo[]
    (Output) Output only. The encryption information for the WALs and backups required for ContinuousBackup. Structure is documented below.
    id string
    The provider-assigned unique ID for this managed resource.
    migrationSources ClusterMigrationSource[]
    Cluster created via DMS migration. Structure is documented below.
    name string
    The name of the cluster resource.
    pulumiLabels {[key: string]: string}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    reconciling boolean
    Output only. Reconciling (https://google.aip.dev/128#reconciliation). Set to true if the current state of Cluster does not match the user's intended state, and the service is actively updating the resource to reconcile them. This can happen due to user-triggered updates or system actions like failover or maintenance.
    state string
    Output only. The current serving state of the cluster.
    uid string
    The system-generated UID of the resource.
    backup_sources Sequence[ClusterBackupSource]
    Cluster created from backup. Structure is documented below.
    continuous_backup_infos Sequence[ClusterContinuousBackupInfo]
    ContinuousBackupInfo describes the continuous backup properties of a cluster. Structure is documented below.
    effective_annotations Mapping[str, str]
    All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through Terraform, other clients and services.
    effective_labels Mapping[str, str]
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    encryption_infos Sequence[ClusterEncryptionInfo]
    (Output) Output only. The encryption information for the WALs and backups required for ContinuousBackup. Structure is documented below.
    id str
    The provider-assigned unique ID for this managed resource.
    migration_sources Sequence[ClusterMigrationSource]
    Cluster created via DMS migration. Structure is documented below.
    name str
    The name of the cluster resource.
    pulumi_labels Mapping[str, str]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    reconciling bool
    Output only. Reconciling (https://google.aip.dev/128#reconciliation). Set to true if the current state of Cluster does not match the user's intended state, and the service is actively updating the resource to reconcile them. This can happen due to user-triggered updates or system actions like failover or maintenance.
    state str
    Output only. The current serving state of the cluster.
    uid str
    The system-generated UID of the resource.
    backupSources List<Property Map>
    Cluster created from backup. Structure is documented below.
    continuousBackupInfos List<Property Map>
    ContinuousBackupInfo describes the continuous backup properties of a cluster. Structure is documented below.
    effectiveAnnotations Map<String>
    All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through Terraform, other clients and services.
    effectiveLabels Map<String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    encryptionInfos List<Property Map>
    (Output) Output only. The encryption information for the WALs and backups required for ContinuousBackup. Structure is documented below.
    id String
    The provider-assigned unique ID for this managed resource.
    migrationSources List<Property Map>
    Cluster created via DMS migration. Structure is documented below.
    name String
    The name of the cluster resource.
    pulumiLabels Map<String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    reconciling Boolean
    Output only. Reconciling (https://google.aip.dev/128#reconciliation). Set to true if the current state of Cluster does not match the user's intended state, and the service is actively updating the resource to reconcile them. This can happen due to user-triggered updates or system actions like failover or maintenance.
    state String
    Output only. The current serving state of the cluster.
    uid String
    The system-generated UID of the resource.

    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,
            annotations: Optional[Mapping[str, str]] = None,
            automated_backup_policy: Optional[ClusterAutomatedBackupPolicyArgs] = None,
            backup_sources: Optional[Sequence[ClusterBackupSourceArgs]] = None,
            cluster_id: Optional[str] = None,
            cluster_type: Optional[str] = None,
            continuous_backup_config: Optional[ClusterContinuousBackupConfigArgs] = None,
            continuous_backup_infos: Optional[Sequence[ClusterContinuousBackupInfoArgs]] = None,
            database_version: Optional[str] = None,
            deletion_policy: Optional[str] = None,
            display_name: Optional[str] = None,
            effective_annotations: Optional[Mapping[str, str]] = None,
            effective_labels: Optional[Mapping[str, str]] = None,
            encryption_config: Optional[ClusterEncryptionConfigArgs] = None,
            encryption_infos: Optional[Sequence[ClusterEncryptionInfoArgs]] = None,
            etag: Optional[str] = None,
            initial_user: Optional[ClusterInitialUserArgs] = None,
            labels: Optional[Mapping[str, str]] = None,
            location: Optional[str] = None,
            migration_sources: Optional[Sequence[ClusterMigrationSourceArgs]] = None,
            name: Optional[str] = None,
            network: Optional[str] = None,
            network_config: Optional[ClusterNetworkConfigArgs] = None,
            project: Optional[str] = None,
            pulumi_labels: Optional[Mapping[str, str]] = None,
            reconciling: Optional[bool] = None,
            restore_backup_source: Optional[ClusterRestoreBackupSourceArgs] = None,
            restore_continuous_backup_source: Optional[ClusterRestoreContinuousBackupSourceArgs] = None,
            secondary_config: Optional[ClusterSecondaryConfigArgs] = None,
            state: Optional[str] = None,
            uid: Optional[str] = None) -> Cluster
    func 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)
    Resource lookup is not supported in YAML
    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.
    The following state arguments are supported:
    Annotations Dictionary<string, string>

    Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

    Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.

    AutomatedBackupPolicy ClusterAutomatedBackupPolicy
    The automated backup policy for this cluster. AutomatedBackupPolicy is disabled by default. Structure is documented below.
    BackupSources List<ClusterBackupSource>
    Cluster created from backup. Structure is documented below.
    ClusterId string
    The ID of the alloydb cluster.
    ClusterType string
    The type of cluster. If not set, defaults to PRIMARY. Default value is PRIMARY. Possible values are: PRIMARY, SECONDARY.
    ContinuousBackupConfig ClusterContinuousBackupConfig
    The continuous backup config for this cluster. If no policy is provided then the default policy will be used. The default policy takes one backup a day and retains backups for 14 days. Structure is documented below.
    ContinuousBackupInfos List<ClusterContinuousBackupInfo>
    ContinuousBackupInfo describes the continuous backup properties of a cluster. Structure is documented below.
    DatabaseVersion string
    The database engine major version. This is an optional field and it's populated at the Cluster creation time. This field cannot be changed after cluster creation.
    DeletionPolicy string
    Policy to determine if the cluster should be deleted forcefully. Deleting a cluster forcefully, deletes the cluster and all its associated instances within the cluster. Deleting a Secondary cluster with a secondary instance REQUIRES setting deletion_policy = "FORCE" otherwise an error is returned. This is needed as there is no support to delete just the secondary instance, and the only way to delete secondary instance is to delete the associated secondary cluster forcefully which also deletes the secondary instance.
    DisplayName string
    User-settable and human-readable display name for the Cluster.
    EffectiveAnnotations Dictionary<string, string>
    All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through Terraform, other clients and services.
    EffectiveLabels Dictionary<string, string>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    EncryptionConfig ClusterEncryptionConfig
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    EncryptionInfos List<ClusterEncryptionInfo>
    (Output) Output only. The encryption information for the WALs and backups required for ContinuousBackup. Structure is documented below.
    Etag string
    For Resource freshness validation (https://google.aip.dev/154)
    InitialUser ClusterInitialUser
    Initial user to setup during cluster creation. Structure is documented below.
    Labels Dictionary<string, string>
    User-defined labels for the alloydb cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    Location string
    The location where the alloydb cluster should reside.


    MigrationSources List<ClusterMigrationSource>
    Cluster created via DMS migration. Structure is documented below.
    Name string
    The name of the cluster resource.
    Network string

    (Optional, Deprecated) The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".

    Warning: network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    Deprecated:network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    NetworkConfig ClusterNetworkConfig
    Metadata related to network configuration. 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.
    PulumiLabels Dictionary<string, string>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    Reconciling bool
    Output only. Reconciling (https://google.aip.dev/128#reconciliation). Set to true if the current state of Cluster does not match the user's intended state, and the service is actively updating the resource to reconcile them. This can happen due to user-triggered updates or system actions like failover or maintenance.
    RestoreBackupSource ClusterRestoreBackupSource
    The source when restoring from a backup. Conflicts with 'restore_continuous_backup_source', both can't be set together. Structure is documented below.
    RestoreContinuousBackupSource ClusterRestoreContinuousBackupSource
    The source when restoring via point in time recovery (PITR). Conflicts with 'restore_backup_source', both can't be set together. Structure is documented below.
    SecondaryConfig ClusterSecondaryConfig
    Configuration of the secondary cluster for Cross Region Replication. This should be set if and only if the cluster is of type SECONDARY. Structure is documented below.
    State string
    Output only. The current serving state of the cluster.
    Uid string
    The system-generated UID of the resource.
    Annotations map[string]string

    Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

    Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.

    AutomatedBackupPolicy ClusterAutomatedBackupPolicyArgs
    The automated backup policy for this cluster. AutomatedBackupPolicy is disabled by default. Structure is documented below.
    BackupSources []ClusterBackupSourceArgs
    Cluster created from backup. Structure is documented below.
    ClusterId string
    The ID of the alloydb cluster.
    ClusterType string
    The type of cluster. If not set, defaults to PRIMARY. Default value is PRIMARY. Possible values are: PRIMARY, SECONDARY.
    ContinuousBackupConfig ClusterContinuousBackupConfigArgs
    The continuous backup config for this cluster. If no policy is provided then the default policy will be used. The default policy takes one backup a day and retains backups for 14 days. Structure is documented below.
    ContinuousBackupInfos []ClusterContinuousBackupInfoArgs
    ContinuousBackupInfo describes the continuous backup properties of a cluster. Structure is documented below.
    DatabaseVersion string
    The database engine major version. This is an optional field and it's populated at the Cluster creation time. This field cannot be changed after cluster creation.
    DeletionPolicy string
    Policy to determine if the cluster should be deleted forcefully. Deleting a cluster forcefully, deletes the cluster and all its associated instances within the cluster. Deleting a Secondary cluster with a secondary instance REQUIRES setting deletion_policy = "FORCE" otherwise an error is returned. This is needed as there is no support to delete just the secondary instance, and the only way to delete secondary instance is to delete the associated secondary cluster forcefully which also deletes the secondary instance.
    DisplayName string
    User-settable and human-readable display name for the Cluster.
    EffectiveAnnotations map[string]string
    All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through Terraform, other clients and services.
    EffectiveLabels map[string]string
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    EncryptionConfig ClusterEncryptionConfigArgs
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    EncryptionInfos []ClusterEncryptionInfoArgs
    (Output) Output only. The encryption information for the WALs and backups required for ContinuousBackup. Structure is documented below.
    Etag string
    For Resource freshness validation (https://google.aip.dev/154)
    InitialUser ClusterInitialUserArgs
    Initial user to setup during cluster creation. Structure is documented below.
    Labels map[string]string
    User-defined labels for the alloydb cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    Location string
    The location where the alloydb cluster should reside.


    MigrationSources []ClusterMigrationSourceArgs
    Cluster created via DMS migration. Structure is documented below.
    Name string
    The name of the cluster resource.
    Network string

    (Optional, Deprecated) The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".

    Warning: network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    Deprecated:network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    NetworkConfig ClusterNetworkConfigArgs
    Metadata related to network configuration. 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.
    PulumiLabels map[string]string
    The combination of labels configured directly on the resource and default labels configured on the provider.
    Reconciling bool
    Output only. Reconciling (https://google.aip.dev/128#reconciliation). Set to true if the current state of Cluster does not match the user's intended state, and the service is actively updating the resource to reconcile them. This can happen due to user-triggered updates or system actions like failover or maintenance.
    RestoreBackupSource ClusterRestoreBackupSourceArgs
    The source when restoring from a backup. Conflicts with 'restore_continuous_backup_source', both can't be set together. Structure is documented below.
    RestoreContinuousBackupSource ClusterRestoreContinuousBackupSourceArgs
    The source when restoring via point in time recovery (PITR). Conflicts with 'restore_backup_source', both can't be set together. Structure is documented below.
    SecondaryConfig ClusterSecondaryConfigArgs
    Configuration of the secondary cluster for Cross Region Replication. This should be set if and only if the cluster is of type SECONDARY. Structure is documented below.
    State string
    Output only. The current serving state of the cluster.
    Uid string
    The system-generated UID of the resource.
    annotations Map<String,String>

    Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

    Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.

    automatedBackupPolicy ClusterAutomatedBackupPolicy
    The automated backup policy for this cluster. AutomatedBackupPolicy is disabled by default. Structure is documented below.
    backupSources List<ClusterBackupSource>
    Cluster created from backup. Structure is documented below.
    clusterId String
    The ID of the alloydb cluster.
    clusterType String
    The type of cluster. If not set, defaults to PRIMARY. Default value is PRIMARY. Possible values are: PRIMARY, SECONDARY.
    continuousBackupConfig ClusterContinuousBackupConfig
    The continuous backup config for this cluster. If no policy is provided then the default policy will be used. The default policy takes one backup a day and retains backups for 14 days. Structure is documented below.
    continuousBackupInfos List<ClusterContinuousBackupInfo>
    ContinuousBackupInfo describes the continuous backup properties of a cluster. Structure is documented below.
    databaseVersion String
    The database engine major version. This is an optional field and it's populated at the Cluster creation time. This field cannot be changed after cluster creation.
    deletionPolicy String
    Policy to determine if the cluster should be deleted forcefully. Deleting a cluster forcefully, deletes the cluster and all its associated instances within the cluster. Deleting a Secondary cluster with a secondary instance REQUIRES setting deletion_policy = "FORCE" otherwise an error is returned. This is needed as there is no support to delete just the secondary instance, and the only way to delete secondary instance is to delete the associated secondary cluster forcefully which also deletes the secondary instance.
    displayName String
    User-settable and human-readable display name for the Cluster.
    effectiveAnnotations Map<String,String>
    All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through Terraform, other clients and services.
    effectiveLabels Map<String,String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    encryptionConfig ClusterEncryptionConfig
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    encryptionInfos List<ClusterEncryptionInfo>
    (Output) Output only. The encryption information for the WALs and backups required for ContinuousBackup. Structure is documented below.
    etag String
    For Resource freshness validation (https://google.aip.dev/154)
    initialUser ClusterInitialUser
    Initial user to setup during cluster creation. Structure is documented below.
    labels Map<String,String>
    User-defined labels for the alloydb cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    location String
    The location where the alloydb cluster should reside.


    migrationSources List<ClusterMigrationSource>
    Cluster created via DMS migration. Structure is documented below.
    name String
    The name of the cluster resource.
    network String

    (Optional, Deprecated) The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".

    Warning: network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    Deprecated:network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    networkConfig ClusterNetworkConfig
    Metadata related to network configuration. 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.
    pulumiLabels Map<String,String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    reconciling Boolean
    Output only. Reconciling (https://google.aip.dev/128#reconciliation). Set to true if the current state of Cluster does not match the user's intended state, and the service is actively updating the resource to reconcile them. This can happen due to user-triggered updates or system actions like failover or maintenance.
    restoreBackupSource ClusterRestoreBackupSource
    The source when restoring from a backup. Conflicts with 'restore_continuous_backup_source', both can't be set together. Structure is documented below.
    restoreContinuousBackupSource ClusterRestoreContinuousBackupSource
    The source when restoring via point in time recovery (PITR). Conflicts with 'restore_backup_source', both can't be set together. Structure is documented below.
    secondaryConfig ClusterSecondaryConfig
    Configuration of the secondary cluster for Cross Region Replication. This should be set if and only if the cluster is of type SECONDARY. Structure is documented below.
    state String
    Output only. The current serving state of the cluster.
    uid String
    The system-generated UID of the resource.
    annotations {[key: string]: string}

    Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

    Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.

    automatedBackupPolicy ClusterAutomatedBackupPolicy
    The automated backup policy for this cluster. AutomatedBackupPolicy is disabled by default. Structure is documented below.
    backupSources ClusterBackupSource[]
    Cluster created from backup. Structure is documented below.
    clusterId string
    The ID of the alloydb cluster.
    clusterType string
    The type of cluster. If not set, defaults to PRIMARY. Default value is PRIMARY. Possible values are: PRIMARY, SECONDARY.
    continuousBackupConfig ClusterContinuousBackupConfig
    The continuous backup config for this cluster. If no policy is provided then the default policy will be used. The default policy takes one backup a day and retains backups for 14 days. Structure is documented below.
    continuousBackupInfos ClusterContinuousBackupInfo[]
    ContinuousBackupInfo describes the continuous backup properties of a cluster. Structure is documented below.
    databaseVersion string
    The database engine major version. This is an optional field and it's populated at the Cluster creation time. This field cannot be changed after cluster creation.
    deletionPolicy string
    Policy to determine if the cluster should be deleted forcefully. Deleting a cluster forcefully, deletes the cluster and all its associated instances within the cluster. Deleting a Secondary cluster with a secondary instance REQUIRES setting deletion_policy = "FORCE" otherwise an error is returned. This is needed as there is no support to delete just the secondary instance, and the only way to delete secondary instance is to delete the associated secondary cluster forcefully which also deletes the secondary instance.
    displayName string
    User-settable and human-readable display name for the Cluster.
    effectiveAnnotations {[key: string]: string}
    All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through Terraform, other clients and services.
    effectiveLabels {[key: string]: string}
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    encryptionConfig ClusterEncryptionConfig
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    encryptionInfos ClusterEncryptionInfo[]
    (Output) Output only. The encryption information for the WALs and backups required for ContinuousBackup. Structure is documented below.
    etag string
    For Resource freshness validation (https://google.aip.dev/154)
    initialUser ClusterInitialUser
    Initial user to setup during cluster creation. Structure is documented below.
    labels {[key: string]: string}
    User-defined labels for the alloydb cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    location string
    The location where the alloydb cluster should reside.


    migrationSources ClusterMigrationSource[]
    Cluster created via DMS migration. Structure is documented below.
    name string
    The name of the cluster resource.
    network string

    (Optional, Deprecated) The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".

    Warning: network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    Deprecated:network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    networkConfig ClusterNetworkConfig
    Metadata related to network configuration. 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.
    pulumiLabels {[key: string]: string}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    reconciling boolean
    Output only. Reconciling (https://google.aip.dev/128#reconciliation). Set to true if the current state of Cluster does not match the user's intended state, and the service is actively updating the resource to reconcile them. This can happen due to user-triggered updates or system actions like failover or maintenance.
    restoreBackupSource ClusterRestoreBackupSource
    The source when restoring from a backup. Conflicts with 'restore_continuous_backup_source', both can't be set together. Structure is documented below.
    restoreContinuousBackupSource ClusterRestoreContinuousBackupSource
    The source when restoring via point in time recovery (PITR). Conflicts with 'restore_backup_source', both can't be set together. Structure is documented below.
    secondaryConfig ClusterSecondaryConfig
    Configuration of the secondary cluster for Cross Region Replication. This should be set if and only if the cluster is of type SECONDARY. Structure is documented below.
    state string
    Output only. The current serving state of the cluster.
    uid string
    The system-generated UID of the resource.
    annotations Mapping[str, str]

    Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

    Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.

    automated_backup_policy ClusterAutomatedBackupPolicyArgs
    The automated backup policy for this cluster. AutomatedBackupPolicy is disabled by default. Structure is documented below.
    backup_sources Sequence[ClusterBackupSourceArgs]
    Cluster created from backup. Structure is documented below.
    cluster_id str
    The ID of the alloydb cluster.
    cluster_type str
    The type of cluster. If not set, defaults to PRIMARY. Default value is PRIMARY. Possible values are: PRIMARY, SECONDARY.
    continuous_backup_config ClusterContinuousBackupConfigArgs
    The continuous backup config for this cluster. If no policy is provided then the default policy will be used. The default policy takes one backup a day and retains backups for 14 days. Structure is documented below.
    continuous_backup_infos Sequence[ClusterContinuousBackupInfoArgs]
    ContinuousBackupInfo describes the continuous backup properties of a cluster. Structure is documented below.
    database_version str
    The database engine major version. This is an optional field and it's populated at the Cluster creation time. This field cannot be changed after cluster creation.
    deletion_policy str
    Policy to determine if the cluster should be deleted forcefully. Deleting a cluster forcefully, deletes the cluster and all its associated instances within the cluster. Deleting a Secondary cluster with a secondary instance REQUIRES setting deletion_policy = "FORCE" otherwise an error is returned. This is needed as there is no support to delete just the secondary instance, and the only way to delete secondary instance is to delete the associated secondary cluster forcefully which also deletes the secondary instance.
    display_name str
    User-settable and human-readable display name for the Cluster.
    effective_annotations Mapping[str, str]
    All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through Terraform, other clients and services.
    effective_labels Mapping[str, str]
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    encryption_config ClusterEncryptionConfigArgs
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    encryption_infos Sequence[ClusterEncryptionInfoArgs]
    (Output) Output only. The encryption information for the WALs and backups required for ContinuousBackup. Structure is documented below.
    etag str
    For Resource freshness validation (https://google.aip.dev/154)
    initial_user ClusterInitialUserArgs
    Initial user to setup during cluster creation. Structure is documented below.
    labels Mapping[str, str]
    User-defined labels for the alloydb cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    location str
    The location where the alloydb cluster should reside.


    migration_sources Sequence[ClusterMigrationSourceArgs]
    Cluster created via DMS migration. Structure is documented below.
    name str
    The name of the cluster resource.
    network str

    (Optional, Deprecated) The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".

    Warning: network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    Deprecated:network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    network_config ClusterNetworkConfigArgs
    Metadata related to network configuration. 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.
    pulumi_labels Mapping[str, str]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    reconciling bool
    Output only. Reconciling (https://google.aip.dev/128#reconciliation). Set to true if the current state of Cluster does not match the user's intended state, and the service is actively updating the resource to reconcile them. This can happen due to user-triggered updates or system actions like failover or maintenance.
    restore_backup_source ClusterRestoreBackupSourceArgs
    The source when restoring from a backup. Conflicts with 'restore_continuous_backup_source', both can't be set together. Structure is documented below.
    restore_continuous_backup_source ClusterRestoreContinuousBackupSourceArgs
    The source when restoring via point in time recovery (PITR). Conflicts with 'restore_backup_source', both can't be set together. Structure is documented below.
    secondary_config ClusterSecondaryConfigArgs
    Configuration of the secondary cluster for Cross Region Replication. This should be set if and only if the cluster is of type SECONDARY. Structure is documented below.
    state str
    Output only. The current serving state of the cluster.
    uid str
    The system-generated UID of the resource.
    annotations Map<String>

    Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

    Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.

    automatedBackupPolicy Property Map
    The automated backup policy for this cluster. AutomatedBackupPolicy is disabled by default. Structure is documented below.
    backupSources List<Property Map>
    Cluster created from backup. Structure is documented below.
    clusterId String
    The ID of the alloydb cluster.
    clusterType String
    The type of cluster. If not set, defaults to PRIMARY. Default value is PRIMARY. Possible values are: PRIMARY, SECONDARY.
    continuousBackupConfig Property Map
    The continuous backup config for this cluster. If no policy is provided then the default policy will be used. The default policy takes one backup a day and retains backups for 14 days. Structure is documented below.
    continuousBackupInfos List<Property Map>
    ContinuousBackupInfo describes the continuous backup properties of a cluster. Structure is documented below.
    databaseVersion String
    The database engine major version. This is an optional field and it's populated at the Cluster creation time. This field cannot be changed after cluster creation.
    deletionPolicy String
    Policy to determine if the cluster should be deleted forcefully. Deleting a cluster forcefully, deletes the cluster and all its associated instances within the cluster. Deleting a Secondary cluster with a secondary instance REQUIRES setting deletion_policy = "FORCE" otherwise an error is returned. This is needed as there is no support to delete just the secondary instance, and the only way to delete secondary instance is to delete the associated secondary cluster forcefully which also deletes the secondary instance.
    displayName String
    User-settable and human-readable display name for the Cluster.
    effectiveAnnotations Map<String>
    All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through Terraform, other clients and services.
    effectiveLabels Map<String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    encryptionConfig Property Map
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    encryptionInfos List<Property Map>
    (Output) Output only. The encryption information for the WALs and backups required for ContinuousBackup. Structure is documented below.
    etag String
    For Resource freshness validation (https://google.aip.dev/154)
    initialUser Property Map
    Initial user to setup during cluster creation. Structure is documented below.
    labels Map<String>
    User-defined labels for the alloydb cluster. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    location String
    The location where the alloydb cluster should reside.


    migrationSources List<Property Map>
    Cluster created via DMS migration. Structure is documented below.
    name String
    The name of the cluster resource.
    network String

    (Optional, Deprecated) The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".

    Warning: network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    Deprecated:network is deprecated and will be removed in a future major release. Instead, use network_config to define the network configuration.

    networkConfig Property Map
    Metadata related to network configuration. 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.
    pulumiLabels Map<String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    reconciling Boolean
    Output only. Reconciling (https://google.aip.dev/128#reconciliation). Set to true if the current state of Cluster does not match the user's intended state, and the service is actively updating the resource to reconcile them. This can happen due to user-triggered updates or system actions like failover or maintenance.
    restoreBackupSource Property Map
    The source when restoring from a backup. Conflicts with 'restore_continuous_backup_source', both can't be set together. Structure is documented below.
    restoreContinuousBackupSource Property Map
    The source when restoring via point in time recovery (PITR). Conflicts with 'restore_backup_source', both can't be set together. Structure is documented below.
    secondaryConfig Property Map
    Configuration of the secondary cluster for Cross Region Replication. This should be set if and only if the cluster is of type SECONDARY. Structure is documented below.
    state String
    Output only. The current serving state of the cluster.
    uid String
    The system-generated UID of the resource.

    Supporting Types

    ClusterAutomatedBackupPolicy, ClusterAutomatedBackupPolicyArgs

    BackupWindow string
    The length of the time window during which a backup can be taken. If a backup does not succeed within this time window, it will be canceled and considered failed. The backup window must be at least 5 minutes long. There is no upper bound on the window. If not set, it will default to 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
    Enabled bool
    Whether automated backups are enabled.
    EncryptionConfig ClusterAutomatedBackupPolicyEncryptionConfig
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    Labels Dictionary<string, string>
    Labels to apply to backups created using this configuration.
    Location string
    The location where the backup will be stored. Currently, the only supported option is to store the backup in the same region as the cluster.
    QuantityBasedRetention ClusterAutomatedBackupPolicyQuantityBasedRetention
    Quantity-based Backup retention policy to retain recent backups. Conflicts with 'time_based_retention', both can't be set together. Structure is documented below.
    TimeBasedRetention ClusterAutomatedBackupPolicyTimeBasedRetention
    Time-based Backup retention policy. Conflicts with 'quantity_based_retention', both can't be set together. Structure is documented below.
    WeeklySchedule ClusterAutomatedBackupPolicyWeeklySchedule
    Weekly schedule for the Backup. Structure is documented below.
    BackupWindow string
    The length of the time window during which a backup can be taken. If a backup does not succeed within this time window, it will be canceled and considered failed. The backup window must be at least 5 minutes long. There is no upper bound on the window. If not set, it will default to 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
    Enabled bool
    Whether automated backups are enabled.
    EncryptionConfig ClusterAutomatedBackupPolicyEncryptionConfig
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    Labels map[string]string
    Labels to apply to backups created using this configuration.
    Location string
    The location where the backup will be stored. Currently, the only supported option is to store the backup in the same region as the cluster.
    QuantityBasedRetention ClusterAutomatedBackupPolicyQuantityBasedRetention
    Quantity-based Backup retention policy to retain recent backups. Conflicts with 'time_based_retention', both can't be set together. Structure is documented below.
    TimeBasedRetention ClusterAutomatedBackupPolicyTimeBasedRetention
    Time-based Backup retention policy. Conflicts with 'quantity_based_retention', both can't be set together. Structure is documented below.
    WeeklySchedule ClusterAutomatedBackupPolicyWeeklySchedule
    Weekly schedule for the Backup. Structure is documented below.
    backupWindow String
    The length of the time window during which a backup can be taken. If a backup does not succeed within this time window, it will be canceled and considered failed. The backup window must be at least 5 minutes long. There is no upper bound on the window. If not set, it will default to 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
    enabled Boolean
    Whether automated backups are enabled.
    encryptionConfig ClusterAutomatedBackupPolicyEncryptionConfig
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    labels Map<String,String>
    Labels to apply to backups created using this configuration.
    location String
    The location where the backup will be stored. Currently, the only supported option is to store the backup in the same region as the cluster.
    quantityBasedRetention ClusterAutomatedBackupPolicyQuantityBasedRetention
    Quantity-based Backup retention policy to retain recent backups. Conflicts with 'time_based_retention', both can't be set together. Structure is documented below.
    timeBasedRetention ClusterAutomatedBackupPolicyTimeBasedRetention
    Time-based Backup retention policy. Conflicts with 'quantity_based_retention', both can't be set together. Structure is documented below.
    weeklySchedule ClusterAutomatedBackupPolicyWeeklySchedule
    Weekly schedule for the Backup. Structure is documented below.
    backupWindow string
    The length of the time window during which a backup can be taken. If a backup does not succeed within this time window, it will be canceled and considered failed. The backup window must be at least 5 minutes long. There is no upper bound on the window. If not set, it will default to 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
    enabled boolean
    Whether automated backups are enabled.
    encryptionConfig ClusterAutomatedBackupPolicyEncryptionConfig
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    labels {[key: string]: string}
    Labels to apply to backups created using this configuration.
    location string
    The location where the backup will be stored. Currently, the only supported option is to store the backup in the same region as the cluster.
    quantityBasedRetention ClusterAutomatedBackupPolicyQuantityBasedRetention
    Quantity-based Backup retention policy to retain recent backups. Conflicts with 'time_based_retention', both can't be set together. Structure is documented below.
    timeBasedRetention ClusterAutomatedBackupPolicyTimeBasedRetention
    Time-based Backup retention policy. Conflicts with 'quantity_based_retention', both can't be set together. Structure is documented below.
    weeklySchedule ClusterAutomatedBackupPolicyWeeklySchedule
    Weekly schedule for the Backup. Structure is documented below.
    backup_window str
    The length of the time window during which a backup can be taken. If a backup does not succeed within this time window, it will be canceled and considered failed. The backup window must be at least 5 minutes long. There is no upper bound on the window. If not set, it will default to 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
    enabled bool
    Whether automated backups are enabled.
    encryption_config ClusterAutomatedBackupPolicyEncryptionConfig
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    labels Mapping[str, str]
    Labels to apply to backups created using this configuration.
    location str
    The location where the backup will be stored. Currently, the only supported option is to store the backup in the same region as the cluster.
    quantity_based_retention ClusterAutomatedBackupPolicyQuantityBasedRetention
    Quantity-based Backup retention policy to retain recent backups. Conflicts with 'time_based_retention', both can't be set together. Structure is documented below.
    time_based_retention ClusterAutomatedBackupPolicyTimeBasedRetention
    Time-based Backup retention policy. Conflicts with 'quantity_based_retention', both can't be set together. Structure is documented below.
    weekly_schedule ClusterAutomatedBackupPolicyWeeklySchedule
    Weekly schedule for the Backup. Structure is documented below.
    backupWindow String
    The length of the time window during which a backup can be taken. If a backup does not succeed within this time window, it will be canceled and considered failed. The backup window must be at least 5 minutes long. There is no upper bound on the window. If not set, it will default to 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
    enabled Boolean
    Whether automated backups are enabled.
    encryptionConfig Property Map
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    labels Map<String>
    Labels to apply to backups created using this configuration.
    location String
    The location where the backup will be stored. Currently, the only supported option is to store the backup in the same region as the cluster.
    quantityBasedRetention Property Map
    Quantity-based Backup retention policy to retain recent backups. Conflicts with 'time_based_retention', both can't be set together. Structure is documented below.
    timeBasedRetention Property Map
    Time-based Backup retention policy. Conflicts with 'quantity_based_retention', both can't be set together. Structure is documented below.
    weeklySchedule Property Map
    Weekly schedule for the Backup. Structure is documented below.

    ClusterAutomatedBackupPolicyEncryptionConfig, ClusterAutomatedBackupPolicyEncryptionConfigArgs

    KmsKeyName string
    The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME].
    KmsKeyName string
    The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME].
    kmsKeyName String
    The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME].
    kmsKeyName string
    The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME].
    kms_key_name str
    The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME].
    kmsKeyName String
    The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME].

    ClusterAutomatedBackupPolicyQuantityBasedRetention, ClusterAutomatedBackupPolicyQuantityBasedRetentionArgs

    Count int
    The number of backups to retain.
    Count int
    The number of backups to retain.
    count Integer
    The number of backups to retain.
    count number
    The number of backups to retain.
    count int
    The number of backups to retain.
    count Number
    The number of backups to retain.

    ClusterAutomatedBackupPolicyTimeBasedRetention, ClusterAutomatedBackupPolicyTimeBasedRetentionArgs

    RetentionPeriod string
    The retention period. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
    RetentionPeriod string
    The retention period. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
    retentionPeriod String
    The retention period. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
    retentionPeriod string
    The retention period. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
    retention_period str
    The retention period. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
    retentionPeriod String
    The retention period. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

    ClusterAutomatedBackupPolicyWeeklySchedule, ClusterAutomatedBackupPolicyWeeklyScheduleArgs

    StartTimes List<ClusterAutomatedBackupPolicyWeeklyScheduleStartTime>
    The times during the day to start a backup. At least one start time must be provided. The start times are assumed to be in UTC and to be an exact hour (e.g., 04:00:00). Structure is documented below.
    DaysOfWeeks List<string>
    The days of the week to perform a backup. At least one day of the week must be provided. Each value may be one of: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    StartTimes []ClusterAutomatedBackupPolicyWeeklyScheduleStartTime
    The times during the day to start a backup. At least one start time must be provided. The start times are assumed to be in UTC and to be an exact hour (e.g., 04:00:00). Structure is documented below.
    DaysOfWeeks []string
    The days of the week to perform a backup. At least one day of the week must be provided. Each value may be one of: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    startTimes List<ClusterAutomatedBackupPolicyWeeklyScheduleStartTime>
    The times during the day to start a backup. At least one start time must be provided. The start times are assumed to be in UTC and to be an exact hour (e.g., 04:00:00). Structure is documented below.
    daysOfWeeks List<String>
    The days of the week to perform a backup. At least one day of the week must be provided. Each value may be one of: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    startTimes ClusterAutomatedBackupPolicyWeeklyScheduleStartTime[]
    The times during the day to start a backup. At least one start time must be provided. The start times are assumed to be in UTC and to be an exact hour (e.g., 04:00:00). Structure is documented below.
    daysOfWeeks string[]
    The days of the week to perform a backup. At least one day of the week must be provided. Each value may be one of: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    start_times Sequence[ClusterAutomatedBackupPolicyWeeklyScheduleStartTime]
    The times during the day to start a backup. At least one start time must be provided. The start times are assumed to be in UTC and to be an exact hour (e.g., 04:00:00). Structure is documented below.
    days_of_weeks Sequence[str]
    The days of the week to perform a backup. At least one day of the week must be provided. Each value may be one of: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
    startTimes List<Property Map>
    The times during the day to start a backup. At least one start time must be provided. The start times are assumed to be in UTC and to be an exact hour (e.g., 04:00:00). Structure is documented below.
    daysOfWeeks List<String>
    The days of the week to perform a backup. At least one day of the week must be provided. Each value may be one of: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.

    ClusterAutomatedBackupPolicyWeeklyScheduleStartTime, ClusterAutomatedBackupPolicyWeeklyScheduleStartTimeArgs

    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. Currently, only the value 0 is supported.
    Nanos int
    Fractions of seconds in nanoseconds. Currently, only the value 0 is supported.
    Seconds int
    Seconds of minutes of the time. Currently, only the value 0 is supported.
    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. Currently, only the value 0 is supported.
    Nanos int
    Fractions of seconds in nanoseconds. Currently, only the value 0 is supported.
    Seconds int
    Seconds of minutes of the time. Currently, only the value 0 is supported.
    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. Currently, only the value 0 is supported.
    nanos Integer
    Fractions of seconds in nanoseconds. Currently, only the value 0 is supported.
    seconds Integer
    Seconds of minutes of the time. Currently, only the value 0 is supported.
    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. Currently, only the value 0 is supported.
    nanos number
    Fractions of seconds in nanoseconds. Currently, only the value 0 is supported.
    seconds number
    Seconds of minutes of the time. Currently, only the value 0 is supported.
    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. Currently, only the value 0 is supported.
    nanos int
    Fractions of seconds in nanoseconds. Currently, only the value 0 is supported.
    seconds int
    Seconds of minutes of the time. Currently, only the value 0 is supported.
    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. Currently, only the value 0 is supported.
    nanos Number
    Fractions of seconds in nanoseconds. Currently, only the value 0 is supported.
    seconds Number
    Seconds of minutes of the time. Currently, only the value 0 is supported.

    ClusterBackupSource, ClusterBackupSourceArgs

    BackupName string
    The name of the backup that this cluster is restored from.
    BackupName string
    The name of the backup that this cluster is restored from.
    backupName String
    The name of the backup that this cluster is restored from.
    backupName string
    The name of the backup that this cluster is restored from.
    backup_name str
    The name of the backup that this cluster is restored from.
    backupName String
    The name of the backup that this cluster is restored from.

    ClusterContinuousBackupConfig, ClusterContinuousBackupConfigArgs

    Enabled bool
    Whether continuous backup recovery is enabled. If not set, defaults to true.
    EncryptionConfig ClusterContinuousBackupConfigEncryptionConfig
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    RecoveryWindowDays int
    The numbers of days that are eligible to restore from using PITR. To support the entire recovery window, backups and logs are retained for one day more than the recovery window. If not set, defaults to 14 days.
    Enabled bool
    Whether continuous backup recovery is enabled. If not set, defaults to true.
    EncryptionConfig ClusterContinuousBackupConfigEncryptionConfig
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    RecoveryWindowDays int
    The numbers of days that are eligible to restore from using PITR. To support the entire recovery window, backups and logs are retained for one day more than the recovery window. If not set, defaults to 14 days.
    enabled Boolean
    Whether continuous backup recovery is enabled. If not set, defaults to true.
    encryptionConfig ClusterContinuousBackupConfigEncryptionConfig
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    recoveryWindowDays Integer
    The numbers of days that are eligible to restore from using PITR. To support the entire recovery window, backups and logs are retained for one day more than the recovery window. If not set, defaults to 14 days.
    enabled boolean
    Whether continuous backup recovery is enabled. If not set, defaults to true.
    encryptionConfig ClusterContinuousBackupConfigEncryptionConfig
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    recoveryWindowDays number
    The numbers of days that are eligible to restore from using PITR. To support the entire recovery window, backups and logs are retained for one day more than the recovery window. If not set, defaults to 14 days.
    enabled bool
    Whether continuous backup recovery is enabled. If not set, defaults to true.
    encryption_config ClusterContinuousBackupConfigEncryptionConfig
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    recovery_window_days int
    The numbers of days that are eligible to restore from using PITR. To support the entire recovery window, backups and logs are retained for one day more than the recovery window. If not set, defaults to 14 days.
    enabled Boolean
    Whether continuous backup recovery is enabled. If not set, defaults to true.
    encryptionConfig Property Map
    EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Structure is documented below.
    recoveryWindowDays Number
    The numbers of days that are eligible to restore from using PITR. To support the entire recovery window, backups and logs are retained for one day more than the recovery window. If not set, defaults to 14 days.

    ClusterContinuousBackupConfigEncryptionConfig, ClusterContinuousBackupConfigEncryptionConfigArgs

    KmsKeyName string
    The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME].
    KmsKeyName string
    The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME].
    kmsKeyName String
    The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME].
    kmsKeyName string
    The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME].
    kms_key_name str
    The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME].
    kmsKeyName String
    The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME].

    ClusterContinuousBackupInfo, ClusterContinuousBackupInfoArgs

    EarliestRestorableTime string
    (Output) The earliest restorable time that can be restored to. Output only field.
    EnabledTime string
    (Output) When ContinuousBackup was most recently enabled. Set to null if ContinuousBackup is not enabled.
    EncryptionInfos List<ClusterContinuousBackupInfoEncryptionInfo>
    (Output) Output only. The encryption information for the WALs and backups required for ContinuousBackup. Structure is documented below.
    Schedules List<string>
    (Output) Days of the week on which a continuous backup is taken. Output only field. Ignored if passed into the request.
    EarliestRestorableTime string
    (Output) The earliest restorable time that can be restored to. Output only field.
    EnabledTime string
    (Output) When ContinuousBackup was most recently enabled. Set to null if ContinuousBackup is not enabled.
    EncryptionInfos []ClusterContinuousBackupInfoEncryptionInfo
    (Output) Output only. The encryption information for the WALs and backups required for ContinuousBackup. Structure is documented below.
    Schedules []string
    (Output) Days of the week on which a continuous backup is taken. Output only field. Ignored if passed into the request.
    earliestRestorableTime String
    (Output) The earliest restorable time that can be restored to. Output only field.
    enabledTime String
    (Output) When ContinuousBackup was most recently enabled. Set to null if ContinuousBackup is not enabled.
    encryptionInfos List<ClusterContinuousBackupInfoEncryptionInfo>
    (Output) Output only. The encryption information for the WALs and backups required for ContinuousBackup. Structure is documented below.
    schedules List<String>
    (Output) Days of the week on which a continuous backup is taken. Output only field. Ignored if passed into the request.
    earliestRestorableTime string
    (Output) The earliest restorable time that can be restored to. Output only field.
    enabledTime string
    (Output) When ContinuousBackup was most recently enabled. Set to null if ContinuousBackup is not enabled.
    encryptionInfos ClusterContinuousBackupInfoEncryptionInfo[]
    (Output) Output only. The encryption information for the WALs and backups required for ContinuousBackup. Structure is documented below.
    schedules string[]
    (Output) Days of the week on which a continuous backup is taken. Output only field. Ignored if passed into the request.
    earliest_restorable_time str
    (Output) The earliest restorable time that can be restored to. Output only field.
    enabled_time str
    (Output) When ContinuousBackup was most recently enabled. Set to null if ContinuousBackup is not enabled.
    encryption_infos Sequence[ClusterContinuousBackupInfoEncryptionInfo]
    (Output) Output only. The encryption information for the WALs and backups required for ContinuousBackup. Structure is documented below.
    schedules Sequence[str]
    (Output) Days of the week on which a continuous backup is taken. Output only field. Ignored if passed into the request.
    earliestRestorableTime String
    (Output) The earliest restorable time that can be restored to. Output only field.
    enabledTime String
    (Output) When ContinuousBackup was most recently enabled. Set to null if ContinuousBackup is not enabled.
    encryptionInfos List<Property Map>
    (Output) Output only. The encryption information for the WALs and backups required for ContinuousBackup. Structure is documented below.
    schedules List<String>
    (Output) Days of the week on which a continuous backup is taken. Output only field. Ignored if passed into the request.

    ClusterContinuousBackupInfoEncryptionInfo, ClusterContinuousBackupInfoEncryptionInfoArgs

    EncryptionType string
    (Output) Output only. Type of encryption.
    KmsKeyVersions List<string>
    (Output) Output only. Cloud KMS key versions that are being used to protect the database or the backup.
    EncryptionType string
    (Output) Output only. Type of encryption.
    KmsKeyVersions []string
    (Output) Output only. Cloud KMS key versions that are being used to protect the database or the backup.
    encryptionType String
    (Output) Output only. Type of encryption.
    kmsKeyVersions List<String>
    (Output) Output only. Cloud KMS key versions that are being used to protect the database or the backup.
    encryptionType string
    (Output) Output only. Type of encryption.
    kmsKeyVersions string[]
    (Output) Output only. Cloud KMS key versions that are being used to protect the database or the backup.
    encryption_type str
    (Output) Output only. Type of encryption.
    kms_key_versions Sequence[str]
    (Output) Output only. Cloud KMS key versions that are being used to protect the database or the backup.
    encryptionType String
    (Output) Output only. Type of encryption.
    kmsKeyVersions List<String>
    (Output) Output only. Cloud KMS key versions that are being used to protect the database or the backup.

    ClusterEncryptionConfig, ClusterEncryptionConfigArgs

    KmsKeyName string
    The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME].
    KmsKeyName string
    The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME].
    kmsKeyName String
    The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME].
    kmsKeyName string
    The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME].
    kms_key_name str
    The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME].
    kmsKeyName String
    The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME].

    ClusterEncryptionInfo, ClusterEncryptionInfoArgs

    EncryptionType string
    (Output) Output only. Type of encryption.
    KmsKeyVersions List<string>
    (Output) Output only. Cloud KMS key versions that are being used to protect the database or the backup.
    EncryptionType string
    (Output) Output only. Type of encryption.
    KmsKeyVersions []string
    (Output) Output only. Cloud KMS key versions that are being used to protect the database or the backup.
    encryptionType String
    (Output) Output only. Type of encryption.
    kmsKeyVersions List<String>
    (Output) Output only. Cloud KMS key versions that are being used to protect the database or the backup.
    encryptionType string
    (Output) Output only. Type of encryption.
    kmsKeyVersions string[]
    (Output) Output only. Cloud KMS key versions that are being used to protect the database or the backup.
    encryption_type str
    (Output) Output only. Type of encryption.
    kms_key_versions Sequence[str]
    (Output) Output only. Cloud KMS key versions that are being used to protect the database or the backup.
    encryptionType String
    (Output) Output only. Type of encryption.
    kmsKeyVersions List<String>
    (Output) Output only. Cloud KMS key versions that are being used to protect the database or the backup.

    ClusterInitialUser, ClusterInitialUserArgs

    Password string
    The initial password for the user. Note: This property is sensitive and will not be displayed in the plan.
    User string
    The database username.
    Password string
    The initial password for the user. Note: This property is sensitive and will not be displayed in the plan.
    User string
    The database username.
    password String
    The initial password for the user. Note: This property is sensitive and will not be displayed in the plan.
    user String
    The database username.
    password string
    The initial password for the user. Note: This property is sensitive and will not be displayed in the plan.
    user string
    The database username.
    password str
    The initial password for the user. Note: This property is sensitive and will not be displayed in the plan.
    user str
    The database username.
    password String
    The initial password for the user. Note: This property is sensitive and will not be displayed in the plan.
    user String
    The database username.

    ClusterMigrationSource, ClusterMigrationSourceArgs

    HostPort string
    The host and port of the on-premises instance in host:port format
    ReferenceId string
    Place holder for the external source identifier(e.g DMS job name) that created the cluster.
    SourceType string
    Type of migration source.
    HostPort string
    The host and port of the on-premises instance in host:port format
    ReferenceId string
    Place holder for the external source identifier(e.g DMS job name) that created the cluster.
    SourceType string
    Type of migration source.
    hostPort String
    The host and port of the on-premises instance in host:port format
    referenceId String
    Place holder for the external source identifier(e.g DMS job name) that created the cluster.
    sourceType String
    Type of migration source.
    hostPort string
    The host and port of the on-premises instance in host:port format
    referenceId string
    Place holder for the external source identifier(e.g DMS job name) that created the cluster.
    sourceType string
    Type of migration source.
    host_port str
    The host and port of the on-premises instance in host:port format
    reference_id str
    Place holder for the external source identifier(e.g DMS job name) that created the cluster.
    source_type str
    Type of migration source.
    hostPort String
    The host and port of the on-premises instance in host:port format
    referenceId String
    Place holder for the external source identifier(e.g DMS job name) that created the cluster.
    sourceType String
    Type of migration source.

    ClusterNetworkConfig, ClusterNetworkConfigArgs

    AllocatedIpRange string
    The name of the allocated IP range for the private IP AlloyDB cluster. For example: "google-managed-services-default". If set, the instance IPs for this cluster will be created in the allocated range.
    Network string
    The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: "projects/{projectNumber}/global/networks/{network_id}".
    AllocatedIpRange string
    The name of the allocated IP range for the private IP AlloyDB cluster. For example: "google-managed-services-default". If set, the instance IPs for this cluster will be created in the allocated range.
    Network string
    The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: "projects/{projectNumber}/global/networks/{network_id}".
    allocatedIpRange String
    The name of the allocated IP range for the private IP AlloyDB cluster. For example: "google-managed-services-default". If set, the instance IPs for this cluster will be created in the allocated range.
    network String
    The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: "projects/{projectNumber}/global/networks/{network_id}".
    allocatedIpRange string
    The name of the allocated IP range for the private IP AlloyDB cluster. For example: "google-managed-services-default". If set, the instance IPs for this cluster will be created in the allocated range.
    network string
    The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: "projects/{projectNumber}/global/networks/{network_id}".
    allocated_ip_range str
    The name of the allocated IP range for the private IP AlloyDB cluster. For example: "google-managed-services-default". If set, the instance IPs for this cluster will be created in the allocated range.
    network str
    The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: "projects/{projectNumber}/global/networks/{network_id}".
    allocatedIpRange String
    The name of the allocated IP range for the private IP AlloyDB cluster. For example: "google-managed-services-default". If set, the instance IPs for this cluster will be created in the allocated range.
    network String
    The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: "projects/{projectNumber}/global/networks/{network_id}".

    ClusterRestoreBackupSource, ClusterRestoreBackupSourceArgs

    BackupName string
    The name of the backup that this cluster is restored from.
    BackupName string
    The name of the backup that this cluster is restored from.
    backupName String
    The name of the backup that this cluster is restored from.
    backupName string
    The name of the backup that this cluster is restored from.
    backup_name str
    The name of the backup that this cluster is restored from.
    backupName String
    The name of the backup that this cluster is restored from.

    ClusterRestoreContinuousBackupSource, ClusterRestoreContinuousBackupSourceArgs

    Cluster string
    The name of the source cluster that this cluster is restored from.
    PointInTime string
    The point in time that this cluster is restored to, in RFC 3339 format.
    Cluster string
    The name of the source cluster that this cluster is restored from.
    PointInTime string
    The point in time that this cluster is restored to, in RFC 3339 format.
    cluster String
    The name of the source cluster that this cluster is restored from.
    pointInTime String
    The point in time that this cluster is restored to, in RFC 3339 format.
    cluster string
    The name of the source cluster that this cluster is restored from.
    pointInTime string
    The point in time that this cluster is restored to, in RFC 3339 format.
    cluster str
    The name of the source cluster that this cluster is restored from.
    point_in_time str
    The point in time that this cluster is restored to, in RFC 3339 format.
    cluster String
    The name of the source cluster that this cluster is restored from.
    pointInTime String
    The point in time that this cluster is restored to, in RFC 3339 format.

    ClusterSecondaryConfig, ClusterSecondaryConfigArgs

    PrimaryClusterName string
    Name of the primary cluster must be in the format 'projects/{project}/locations/{location}/clusters/{cluster_id}'
    PrimaryClusterName string
    Name of the primary cluster must be in the format 'projects/{project}/locations/{location}/clusters/{cluster_id}'
    primaryClusterName String
    Name of the primary cluster must be in the format 'projects/{project}/locations/{location}/clusters/{cluster_id}'
    primaryClusterName string
    Name of the primary cluster must be in the format 'projects/{project}/locations/{location}/clusters/{cluster_id}'
    primary_cluster_name str
    Name of the primary cluster must be in the format 'projects/{project}/locations/{location}/clusters/{cluster_id}'
    primaryClusterName String
    Name of the primary cluster must be in the format 'projects/{project}/locations/{location}/clusters/{cluster_id}'

    Import

    Cluster can be imported using any of these accepted formats:

    • projects/{{project}}/locations/{{location}}/clusters/{{cluster_id}}

    • {{project}}/{{location}}/{{cluster_id}}

    • {{location}}/{{cluster_id}}

    • {{cluster_id}}

    When using the pulumi import command, Cluster can be imported using one of the formats above. For example:

    $ pulumi import gcp:alloydb/cluster:Cluster default projects/{{project}}/locations/{{location}}/clusters/{{cluster_id}}
    
    $ pulumi import gcp:alloydb/cluster:Cluster default {{project}}/{{location}}/{{cluster_id}}
    
    $ pulumi import gcp:alloydb/cluster:Cluster default {{location}}/{{cluster_id}}
    
    $ pulumi import gcp:alloydb/cluster:Cluster default {{cluster_id}}
    

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud Classic v7.9.0 published on Wednesday, Feb 14, 2024 by Pulumi