1. Packages
  2. Ionoscloud
  3. API Docs
  4. dbaas
  5. PSQLCluster
IonosCloud v0.2.3 published on Tuesday, May 13, 2025 by ionos-cloud

ionoscloud.dbaas.PSQLCluster

Explore with Pulumi AI

ionoscloud logo
IonosCloud v0.2.3 published on Tuesday, May 13, 2025 by ionos-cloud

    Manages a DbaaS PgSql Cluster.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as ionoscloud from "@ionos-cloud/sdk-pulumi";
    
    // Basic example
    const example = new ionoscloud.compute.Datacenter("example", {
        name: "example",
        location: "de/txl",
        description: "Datacenter for testing dbaas cluster",
    });
    const exampleLan = new ionoscloud.compute.Lan("example", {
        datacenterId: example.id,
        "public": false,
        name: "example",
    });
    const examplePSQLCluster = new ionoscloud.dbaas.PSQLCluster("example", {
        postgresVersion: "12",
        instances: 1,
        cores: 4,
        ram: 2048,
        storageSize: 2048,
        storageType: "HDD",
        connectionPooler: {
            enabled: true,
            poolMode: "session",
        },
        connections: {
            datacenterId: example.id,
            lanId: exampleLan.id,
            cidr: "192.168.100.1/24",
        },
        location: example.location,
        displayName: "PostgreSQL_cluster",
        maintenanceWindow: {
            dayOfTheWeek: "Sunday",
            time: "09:00:00",
        },
        credentials: {
            username: "username",
            password: "strongPassword",
        },
        synchronizationMode: "ASYNCHRONOUS",
    });
    
    import pulumi
    import pulumi_ionoscloud as ionoscloud
    
    # Basic example
    example = ionoscloud.compute.Datacenter("example",
        name="example",
        location="de/txl",
        description="Datacenter for testing dbaas cluster")
    example_lan = ionoscloud.compute.Lan("example",
        datacenter_id=example.id,
        public=False,
        name="example")
    example_psql_cluster = ionoscloud.dbaas.PSQLCluster("example",
        postgres_version="12",
        instances=1,
        cores=4,
        ram=2048,
        storage_size=2048,
        storage_type="HDD",
        connection_pooler={
            "enabled": True,
            "pool_mode": "session",
        },
        connections={
            "datacenter_id": example.id,
            "lan_id": example_lan.id,
            "cidr": "192.168.100.1/24",
        },
        location=example.location,
        display_name="PostgreSQL_cluster",
        maintenance_window={
            "day_of_the_week": "Sunday",
            "time": "09:00:00",
        },
        credentials={
            "username": "username",
            "password": "strongPassword",
        },
        synchronization_mode="ASYNCHRONOUS")
    
    package main
    
    import (
    	"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/compute"
    	"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/dbaas"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Basic example
    		example, err := compute.NewDatacenter(ctx, "example", &compute.DatacenterArgs{
    			Name:        pulumi.String("example"),
    			Location:    pulumi.String("de/txl"),
    			Description: pulumi.String("Datacenter for testing dbaas cluster"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleLan, err := compute.NewLan(ctx, "example", &compute.LanArgs{
    			DatacenterId: example.ID(),
    			Public:       pulumi.Bool(false),
    			Name:         pulumi.String("example"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = dbaas.NewPSQLCluster(ctx, "example", &dbaas.PSQLClusterArgs{
    			PostgresVersion: pulumi.String("12"),
    			Instances:       pulumi.Int(1),
    			Cores:           pulumi.Int(4),
    			Ram:             pulumi.Int(2048),
    			StorageSize:     pulumi.Int(2048),
    			StorageType:     pulumi.String("HDD"),
    			ConnectionPooler: &dbaas.PSQLClusterConnectionPoolerArgs{
    				Enabled:  pulumi.Bool(true),
    				PoolMode: pulumi.String("session"),
    			},
    			Connections: &dbaas.PSQLClusterConnectionsArgs{
    				DatacenterId: example.ID(),
    				LanId:        exampleLan.ID(),
    				Cidr:         pulumi.String("192.168.100.1/24"),
    			},
    			Location:    example.Location,
    			DisplayName: pulumi.String("PostgreSQL_cluster"),
    			MaintenanceWindow: &dbaas.PSQLClusterMaintenanceWindowArgs{
    				DayOfTheWeek: pulumi.String("Sunday"),
    				Time:         pulumi.String("09:00:00"),
    			},
    			Credentials: &dbaas.PSQLClusterCredentialsArgs{
    				Username: pulumi.String("username"),
    				Password: pulumi.String("strongPassword"),
    			},
    			SynchronizationMode: pulumi.String("ASYNCHRONOUS"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Ionoscloud = Ionoscloud.Pulumi.Ionoscloud;
    
    return await Deployment.RunAsync(() => 
    {
        // Basic example
        var example = new Ionoscloud.Compute.Datacenter("example", new()
        {
            Name = "example",
            Location = "de/txl",
            Description = "Datacenter for testing dbaas cluster",
        });
    
        var exampleLan = new Ionoscloud.Compute.Lan("example", new()
        {
            DatacenterId = example.Id,
            Public = false,
            Name = "example",
        });
    
        var examplePSQLCluster = new Ionoscloud.Dbaas.PSQLCluster("example", new()
        {
            PostgresVersion = "12",
            Instances = 1,
            Cores = 4,
            Ram = 2048,
            StorageSize = 2048,
            StorageType = "HDD",
            ConnectionPooler = new Ionoscloud.Dbaas.Inputs.PSQLClusterConnectionPoolerArgs
            {
                Enabled = true,
                PoolMode = "session",
            },
            Connections = new Ionoscloud.Dbaas.Inputs.PSQLClusterConnectionsArgs
            {
                DatacenterId = example.Id,
                LanId = exampleLan.Id,
                Cidr = "192.168.100.1/24",
            },
            Location = example.Location,
            DisplayName = "PostgreSQL_cluster",
            MaintenanceWindow = new Ionoscloud.Dbaas.Inputs.PSQLClusterMaintenanceWindowArgs
            {
                DayOfTheWeek = "Sunday",
                Time = "09:00:00",
            },
            Credentials = new Ionoscloud.Dbaas.Inputs.PSQLClusterCredentialsArgs
            {
                Username = "username",
                Password = "strongPassword",
            },
            SynchronizationMode = "ASYNCHRONOUS",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.ionoscloud.compute.Datacenter;
    import com.pulumi.ionoscloud.compute.DatacenterArgs;
    import com.pulumi.ionoscloud.compute.Lan;
    import com.pulumi.ionoscloud.compute.LanArgs;
    import com.pulumi.ionoscloud.dbaas.PSQLCluster;
    import com.pulumi.ionoscloud.dbaas.PSQLClusterArgs;
    import com.pulumi.ionoscloud.dbaas.inputs.PSQLClusterConnectionPoolerArgs;
    import com.pulumi.ionoscloud.dbaas.inputs.PSQLClusterConnectionsArgs;
    import com.pulumi.ionoscloud.dbaas.inputs.PSQLClusterMaintenanceWindowArgs;
    import com.pulumi.ionoscloud.dbaas.inputs.PSQLClusterCredentialsArgs;
    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) {
            // Basic example
            var example = new Datacenter("example", DatacenterArgs.builder()
                .name("example")
                .location("de/txl")
                .description("Datacenter for testing dbaas cluster")
                .build());
    
            var exampleLan = new Lan("exampleLan", LanArgs.builder()
                .datacenterId(example.id())
                .public_(false)
                .name("example")
                .build());
    
            var examplePSQLCluster = new PSQLCluster("examplePSQLCluster", PSQLClusterArgs.builder()
                .postgresVersion("12")
                .instances(1)
                .cores(4)
                .ram(2048)
                .storageSize(2048)
                .storageType("HDD")
                .connectionPooler(PSQLClusterConnectionPoolerArgs.builder()
                    .enabled(true)
                    .poolMode("session")
                    .build())
                .connections(PSQLClusterConnectionsArgs.builder()
                    .datacenterId(example.id())
                    .lanId(exampleLan.id())
                    .cidr("192.168.100.1/24")
                    .build())
                .location(example.location())
                .displayName("PostgreSQL_cluster")
                .maintenanceWindow(PSQLClusterMaintenanceWindowArgs.builder()
                    .dayOfTheWeek("Sunday")
                    .time("09:00:00")
                    .build())
                .credentials(PSQLClusterCredentialsArgs.builder()
                    .username("username")
                    .password("strongPassword")
                    .build())
                .synchronizationMode("ASYNCHRONOUS")
                .build());
    
        }
    }
    
    resources:
      # Basic example
      example:
        type: ionoscloud:compute:Datacenter
        properties:
          name: example
          location: de/txl
          description: Datacenter for testing dbaas cluster
      exampleLan:
        type: ionoscloud:compute:Lan
        name: example
        properties:
          datacenterId: ${example.id}
          public: false
          name: example
      examplePSQLCluster:
        type: ionoscloud:dbaas:PSQLCluster
        name: example
        properties:
          postgresVersion: '12'
          instances: 1
          cores: 4
          ram: 2048
          storageSize: 2048
          storageType: HDD
          connectionPooler:
            enabled: true
            poolMode: session
          connections:
            datacenterId: ${example.id}
            lanId: ${exampleLan.id}
            cidr: 192.168.100.1/24
          location: ${example.location}
          displayName: PostgreSQL_cluster
          maintenanceWindow:
            dayOfTheWeek: Sunday
            time: 09:00:00
          credentials:
            username: username
            password: strongPassword
          synchronizationMode: ASYNCHRONOUS
    
    import * as pulumi from "@pulumi/pulumi";
    import * as ionoscloud from "@ionos-cloud/sdk-pulumi";
    import * as random from "@pulumi/random";
    
    // Complete example
    const example = new ionoscloud.compute.Datacenter("example", {
        name: "example",
        location: "de/txl",
        description: "Datacenter for testing dbaas cluster",
    });
    const exampleLan = new ionoscloud.compute.Lan("example", {
        datacenterId: example.id,
        "public": false,
        name: "example",
    });
    const exampleServer = new ionoscloud.compute.Server("example", {
        name: "example",
        datacenterId: example.id,
        cores: 2,
        ram: 2048,
        availabilityZone: "ZONE_1",
        cpuFamily: "INTEL_SKYLAKE",
        imageName: "rockylinux-8-GenericCloud-20230518",
        imagePassword: "password",
        volume: {
            name: "example",
            size: 6,
            diskType: "SSD Standard",
        },
        nic: {
            lan: exampleLan.id,
            name: "example",
            dhcp: true,
        },
    });
    const clusterPassword = new random.index.Password("cluster_password", {
        length: 16,
        special: true,
        overrideSpecial: "!#$%&*()-_=+[]{}<>:?",
    });
    const examplePSQLCluster = new ionoscloud.dbaas.PSQLCluster("example", {
        postgresVersion: "12",
        instances: 1,
        cores: 4,
        ram: 2048,
        storageSize: 2048,
        storageType: "HDD",
        connectionPooler: {
            enabled: true,
            poolMode: "session",
        },
        connections: {
            datacenterId: example.id,
            lanId: exampleLan.id,
            cidr: "database_ip_cidr_from_nic",
        },
        location: example.location,
        displayName: "PostgreSQL_cluster",
        maintenanceWindow: {
            dayOfTheWeek: "Sunday",
            time: "09:00:00",
        },
        credentials: {
            username: "username",
            password: clusterPassword.result,
        },
        synchronizationMode: "ASYNCHRONOUS",
        fromBackup: {
            backupId: "backup_uuid",
            recoveryTargetTime: "2021-12-06T13:54:08Z",
        },
    });
    
    import pulumi
    import pulumi_ionoscloud as ionoscloud
    import pulumi_random as random
    
    # Complete example
    example = ionoscloud.compute.Datacenter("example",
        name="example",
        location="de/txl",
        description="Datacenter for testing dbaas cluster")
    example_lan = ionoscloud.compute.Lan("example",
        datacenter_id=example.id,
        public=False,
        name="example")
    example_server = ionoscloud.compute.Server("example",
        name="example",
        datacenter_id=example.id,
        cores=2,
        ram=2048,
        availability_zone="ZONE_1",
        cpu_family="INTEL_SKYLAKE",
        image_name="rockylinux-8-GenericCloud-20230518",
        image_password="password",
        volume={
            "name": "example",
            "size": 6,
            "disk_type": "SSD Standard",
        },
        nic={
            "lan": example_lan.id,
            "name": "example",
            "dhcp": True,
        })
    cluster_password = random.index.Password("cluster_password",
        length=16,
        special=True,
        override_special=!#$%&*()-_=+[]{}<>:?)
    example_psql_cluster = ionoscloud.dbaas.PSQLCluster("example",
        postgres_version="12",
        instances=1,
        cores=4,
        ram=2048,
        storage_size=2048,
        storage_type="HDD",
        connection_pooler={
            "enabled": True,
            "pool_mode": "session",
        },
        connections={
            "datacenter_id": example.id,
            "lan_id": example_lan.id,
            "cidr": "database_ip_cidr_from_nic",
        },
        location=example.location,
        display_name="PostgreSQL_cluster",
        maintenance_window={
            "day_of_the_week": "Sunday",
            "time": "09:00:00",
        },
        credentials={
            "username": "username",
            "password": cluster_password["result"],
        },
        synchronization_mode="ASYNCHRONOUS",
        from_backup={
            "backup_id": "backup_uuid",
            "recovery_target_time": "2021-12-06T13:54:08Z",
        })
    
    package main
    
    import (
    	"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/compute"
    	"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/dbaas"
    	"github.com/pulumi/pulumi-random/sdk/go/random"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Complete example
    		example, err := compute.NewDatacenter(ctx, "example", &compute.DatacenterArgs{
    			Name:        pulumi.String("example"),
    			Location:    pulumi.String("de/txl"),
    			Description: pulumi.String("Datacenter for testing dbaas cluster"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleLan, err := compute.NewLan(ctx, "example", &compute.LanArgs{
    			DatacenterId: example.ID(),
    			Public:       pulumi.Bool(false),
    			Name:         pulumi.String("example"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = compute.NewServer(ctx, "example", &compute.ServerArgs{
    			Name:             pulumi.String("example"),
    			DatacenterId:     example.ID(),
    			Cores:            pulumi.Int(2),
    			Ram:              pulumi.Int(2048),
    			AvailabilityZone: pulumi.String("ZONE_1"),
    			CpuFamily:        pulumi.String("INTEL_SKYLAKE"),
    			ImageName:        pulumi.String("rockylinux-8-GenericCloud-20230518"),
    			ImagePassword:    pulumi.String("password"),
    			Volume: &compute.ServerVolumeArgs{
    				Name:     pulumi.String("example"),
    				Size:     pulumi.Int(6),
    				DiskType: pulumi.String("SSD Standard"),
    			},
    			Nic: &compute.ServerNicArgs{
    				Lan:  exampleLan.ID(),
    				Name: pulumi.String("example"),
    				Dhcp: pulumi.Bool(true),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		clusterPassword, err := random.NewPassword(ctx, "cluster_password", &random.PasswordArgs{
    			Length:          16,
    			Special:         true,
    			OverrideSpecial: "!#$%&*()-_=+[]{}<>:?",
    		})
    		if err != nil {
    			return err
    		}
    		_, err = dbaas.NewPSQLCluster(ctx, "example", &dbaas.PSQLClusterArgs{
    			PostgresVersion: pulumi.String("12"),
    			Instances:       pulumi.Int(1),
    			Cores:           pulumi.Int(4),
    			Ram:             pulumi.Int(2048),
    			StorageSize:     pulumi.Int(2048),
    			StorageType:     pulumi.String("HDD"),
    			ConnectionPooler: &dbaas.PSQLClusterConnectionPoolerArgs{
    				Enabled:  pulumi.Bool(true),
    				PoolMode: pulumi.String("session"),
    			},
    			Connections: &dbaas.PSQLClusterConnectionsArgs{
    				DatacenterId: example.ID(),
    				LanId:        exampleLan.ID(),
    				Cidr:         pulumi.String("database_ip_cidr_from_nic"),
    			},
    			Location:    example.Location,
    			DisplayName: pulumi.String("PostgreSQL_cluster"),
    			MaintenanceWindow: &dbaas.PSQLClusterMaintenanceWindowArgs{
    				DayOfTheWeek: pulumi.String("Sunday"),
    				Time:         pulumi.String("09:00:00"),
    			},
    			Credentials: &dbaas.PSQLClusterCredentialsArgs{
    				Username: pulumi.String("username"),
    				Password: clusterPassword.Result,
    			},
    			SynchronizationMode: pulumi.String("ASYNCHRONOUS"),
    			FromBackup: &dbaas.PSQLClusterFromBackupArgs{
    				BackupId:           pulumi.String("backup_uuid"),
    				RecoveryTargetTime: pulumi.String("2021-12-06T13:54:08Z"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Ionoscloud = Ionoscloud.Pulumi.Ionoscloud;
    using Random = Pulumi.Random;
    
    return await Deployment.RunAsync(() => 
    {
        // Complete example
        var example = new Ionoscloud.Compute.Datacenter("example", new()
        {
            Name = "example",
            Location = "de/txl",
            Description = "Datacenter for testing dbaas cluster",
        });
    
        var exampleLan = new Ionoscloud.Compute.Lan("example", new()
        {
            DatacenterId = example.Id,
            Public = false,
            Name = "example",
        });
    
        var exampleServer = new Ionoscloud.Compute.Server("example", new()
        {
            Name = "example",
            DatacenterId = example.Id,
            Cores = 2,
            Ram = 2048,
            AvailabilityZone = "ZONE_1",
            CpuFamily = "INTEL_SKYLAKE",
            ImageName = "rockylinux-8-GenericCloud-20230518",
            ImagePassword = "password",
            Volume = new Ionoscloud.Compute.Inputs.ServerVolumeArgs
            {
                Name = "example",
                Size = 6,
                DiskType = "SSD Standard",
            },
            Nic = new Ionoscloud.Compute.Inputs.ServerNicArgs
            {
                Lan = exampleLan.Id,
                Name = "example",
                Dhcp = true,
            },
        });
    
        var clusterPassword = new Random.Index.Password("cluster_password", new()
        {
            Length = 16,
            Special = true,
            OverrideSpecial = "!#$%&*()-_=+[]{}<>:?",
        });
    
        var examplePSQLCluster = new Ionoscloud.Dbaas.PSQLCluster("example", new()
        {
            PostgresVersion = "12",
            Instances = 1,
            Cores = 4,
            Ram = 2048,
            StorageSize = 2048,
            StorageType = "HDD",
            ConnectionPooler = new Ionoscloud.Dbaas.Inputs.PSQLClusterConnectionPoolerArgs
            {
                Enabled = true,
                PoolMode = "session",
            },
            Connections = new Ionoscloud.Dbaas.Inputs.PSQLClusterConnectionsArgs
            {
                DatacenterId = example.Id,
                LanId = exampleLan.Id,
                Cidr = "database_ip_cidr_from_nic",
            },
            Location = example.Location,
            DisplayName = "PostgreSQL_cluster",
            MaintenanceWindow = new Ionoscloud.Dbaas.Inputs.PSQLClusterMaintenanceWindowArgs
            {
                DayOfTheWeek = "Sunday",
                Time = "09:00:00",
            },
            Credentials = new Ionoscloud.Dbaas.Inputs.PSQLClusterCredentialsArgs
            {
                Username = "username",
                Password = clusterPassword.Result,
            },
            SynchronizationMode = "ASYNCHRONOUS",
            FromBackup = new Ionoscloud.Dbaas.Inputs.PSQLClusterFromBackupArgs
            {
                BackupId = "backup_uuid",
                RecoveryTargetTime = "2021-12-06T13:54:08Z",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.ionoscloud.compute.Datacenter;
    import com.pulumi.ionoscloud.compute.DatacenterArgs;
    import com.pulumi.ionoscloud.compute.Lan;
    import com.pulumi.ionoscloud.compute.LanArgs;
    import com.pulumi.ionoscloud.compute.Server;
    import com.pulumi.ionoscloud.compute.ServerArgs;
    import com.pulumi.ionoscloud.compute.inputs.ServerVolumeArgs;
    import com.pulumi.ionoscloud.compute.inputs.ServerNicArgs;
    import com.pulumi.random.password;
    import com.pulumi.random.PasswordArgs;
    import com.pulumi.ionoscloud.dbaas.PSQLCluster;
    import com.pulumi.ionoscloud.dbaas.PSQLClusterArgs;
    import com.pulumi.ionoscloud.dbaas.inputs.PSQLClusterConnectionPoolerArgs;
    import com.pulumi.ionoscloud.dbaas.inputs.PSQLClusterConnectionsArgs;
    import com.pulumi.ionoscloud.dbaas.inputs.PSQLClusterMaintenanceWindowArgs;
    import com.pulumi.ionoscloud.dbaas.inputs.PSQLClusterCredentialsArgs;
    import com.pulumi.ionoscloud.dbaas.inputs.PSQLClusterFromBackupArgs;
    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) {
            // Complete example
            var example = new Datacenter("example", DatacenterArgs.builder()
                .name("example")
                .location("de/txl")
                .description("Datacenter for testing dbaas cluster")
                .build());
    
            var exampleLan = new Lan("exampleLan", LanArgs.builder()
                .datacenterId(example.id())
                .public_(false)
                .name("example")
                .build());
    
            var exampleServer = new Server("exampleServer", ServerArgs.builder()
                .name("example")
                .datacenterId(example.id())
                .cores(2)
                .ram(2048)
                .availabilityZone("ZONE_1")
                .cpuFamily("INTEL_SKYLAKE")
                .imageName("rockylinux-8-GenericCloud-20230518")
                .imagePassword("password")
                .volume(ServerVolumeArgs.builder()
                    .name("example")
                    .size(6)
                    .diskType("SSD Standard")
                    .build())
                .nic(ServerNicArgs.builder()
                    .lan(exampleLan.id())
                    .name("example")
                    .dhcp(true)
                    .build())
                .build());
    
            var clusterPassword = new Password("clusterPassword", PasswordArgs.builder()
                .length(16)
                .special(true)
                .overrideSpecial("!#$%&*()-_=+[]{}<>:?")
                .build());
    
            var examplePSQLCluster = new PSQLCluster("examplePSQLCluster", PSQLClusterArgs.builder()
                .postgresVersion("12")
                .instances(1)
                .cores(4)
                .ram(2048)
                .storageSize(2048)
                .storageType("HDD")
                .connectionPooler(PSQLClusterConnectionPoolerArgs.builder()
                    .enabled(true)
                    .poolMode("session")
                    .build())
                .connections(PSQLClusterConnectionsArgs.builder()
                    .datacenterId(example.id())
                    .lanId(exampleLan.id())
                    .cidr("database_ip_cidr_from_nic")
                    .build())
                .location(example.location())
                .displayName("PostgreSQL_cluster")
                .maintenanceWindow(PSQLClusterMaintenanceWindowArgs.builder()
                    .dayOfTheWeek("Sunday")
                    .time("09:00:00")
                    .build())
                .credentials(PSQLClusterCredentialsArgs.builder()
                    .username("username")
                    .password(clusterPassword.result())
                    .build())
                .synchronizationMode("ASYNCHRONOUS")
                .fromBackup(PSQLClusterFromBackupArgs.builder()
                    .backupId("backup_uuid")
                    .recoveryTargetTime("2021-12-06T13:54:08Z")
                    .build())
                .build());
    
        }
    }
    
    resources:
      # Complete example
      example:
        type: ionoscloud:compute:Datacenter
        properties:
          name: example
          location: de/txl
          description: Datacenter for testing dbaas cluster
      exampleLan:
        type: ionoscloud:compute:Lan
        name: example
        properties:
          datacenterId: ${example.id}
          public: false
          name: example
      exampleServer:
        type: ionoscloud:compute:Server
        name: example
        properties:
          name: example
          datacenterId: ${example.id}
          cores: 2
          ram: 2048
          availabilityZone: ZONE_1
          cpuFamily: INTEL_SKYLAKE
          imageName: rockylinux-8-GenericCloud-20230518
          imagePassword: password
          volume:
            name: example
            size: 6
            diskType: SSD Standard
          nic:
            lan: ${exampleLan.id}
            name: example
            dhcp: true
      examplePSQLCluster:
        type: ionoscloud:dbaas:PSQLCluster
        name: example
        properties:
          postgresVersion: '12'
          instances: 1
          cores: 4
          ram: 2048
          storageSize: 2048
          storageType: HDD
          connectionPooler:
            enabled: true
            poolMode: session
          connections:
            datacenterId: ${example.id}
            lanId: ${exampleLan.id}
            cidr: database_ip_cidr_from_nic
          location: ${example.location}
          displayName: PostgreSQL_cluster
          maintenanceWindow:
            dayOfTheWeek: Sunday
            time: 09:00:00
          credentials:
            username: username
            password: ${clusterPassword.result}
          synchronizationMode: ASYNCHRONOUS
          fromBackup:
            backupId: backup_uuid
            recoveryTargetTime: 2021-12-06T13:54:08Z
      clusterPassword:
        type: random:password
        name: cluster_password
        properties:
          length: 16
          special: true
          overrideSpecial: '!#$%&*()-_=+[]{}<>:?'
    

    Create PSQLCluster Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new PSQLCluster(name: string, args: PSQLClusterArgs, opts?: CustomResourceOptions);
    @overload
    def PSQLCluster(resource_name: str,
                    args: PSQLClusterArgs,
                    opts: Optional[ResourceOptions] = None)
    
    @overload
    def PSQLCluster(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    postgres_version: Optional[str] = None,
                    synchronization_mode: Optional[str] = None,
                    storage_type: Optional[str] = None,
                    cores: Optional[int] = None,
                    credentials: Optional[PSQLClusterCredentialsArgs] = None,
                    display_name: Optional[str] = None,
                    storage_size: Optional[int] = None,
                    instances: Optional[int] = None,
                    location: Optional[str] = None,
                    ram: Optional[int] = None,
                    from_backup: Optional[PSQLClusterFromBackupArgs] = None,
                    maintenance_window: Optional[PSQLClusterMaintenanceWindowArgs] = None,
                    backup_location: Optional[str] = None,
                    connections: Optional[PSQLClusterConnectionsArgs] = None,
                    connection_pooler: Optional[PSQLClusterConnectionPoolerArgs] = None)
    func NewPSQLCluster(ctx *Context, name string, args PSQLClusterArgs, opts ...ResourceOption) (*PSQLCluster, error)
    public PSQLCluster(string name, PSQLClusterArgs args, CustomResourceOptions? opts = null)
    public PSQLCluster(String name, PSQLClusterArgs args)
    public PSQLCluster(String name, PSQLClusterArgs args, CustomResourceOptions options)
    
    type: ionoscloud:dbaas:PSQLCluster
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args PSQLClusterArgs
    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 PSQLClusterArgs
    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 PSQLClusterArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args PSQLClusterArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args PSQLClusterArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var psqlclusterResource = new Ionoscloud.Dbaas.PSQLCluster("psqlclusterResource", new()
    {
        PostgresVersion = "string",
        SynchronizationMode = "string",
        StorageType = "string",
        Cores = 0,
        Credentials = new Ionoscloud.Dbaas.Inputs.PSQLClusterCredentialsArgs
        {
            Password = "string",
            Username = "string",
        },
        DisplayName = "string",
        StorageSize = 0,
        Instances = 0,
        Location = "string",
        Ram = 0,
        FromBackup = new Ionoscloud.Dbaas.Inputs.PSQLClusterFromBackupArgs
        {
            BackupId = "string",
            RecoveryTargetTime = "string",
        },
        MaintenanceWindow = new Ionoscloud.Dbaas.Inputs.PSQLClusterMaintenanceWindowArgs
        {
            DayOfTheWeek = "string",
            Time = "string",
        },
        BackupLocation = "string",
        Connections = new Ionoscloud.Dbaas.Inputs.PSQLClusterConnectionsArgs
        {
            Cidr = "string",
            DatacenterId = "string",
            LanId = "string",
        },
        ConnectionPooler = new Ionoscloud.Dbaas.Inputs.PSQLClusterConnectionPoolerArgs
        {
            Enabled = false,
            PoolMode = "string",
        },
    });
    
    example, err := dbaas.NewPSQLCluster(ctx, "psqlclusterResource", &dbaas.PSQLClusterArgs{
    	PostgresVersion:     pulumi.String("string"),
    	SynchronizationMode: pulumi.String("string"),
    	StorageType:         pulumi.String("string"),
    	Cores:               pulumi.Int(0),
    	Credentials: &dbaas.PSQLClusterCredentialsArgs{
    		Password: pulumi.String("string"),
    		Username: pulumi.String("string"),
    	},
    	DisplayName: pulumi.String("string"),
    	StorageSize: pulumi.Int(0),
    	Instances:   pulumi.Int(0),
    	Location:    pulumi.String("string"),
    	Ram:         pulumi.Int(0),
    	FromBackup: &dbaas.PSQLClusterFromBackupArgs{
    		BackupId:           pulumi.String("string"),
    		RecoveryTargetTime: pulumi.String("string"),
    	},
    	MaintenanceWindow: &dbaas.PSQLClusterMaintenanceWindowArgs{
    		DayOfTheWeek: pulumi.String("string"),
    		Time:         pulumi.String("string"),
    	},
    	BackupLocation: pulumi.String("string"),
    	Connections: &dbaas.PSQLClusterConnectionsArgs{
    		Cidr:         pulumi.String("string"),
    		DatacenterId: pulumi.String("string"),
    		LanId:        pulumi.String("string"),
    	},
    	ConnectionPooler: &dbaas.PSQLClusterConnectionPoolerArgs{
    		Enabled:  pulumi.Bool(false),
    		PoolMode: pulumi.String("string"),
    	},
    })
    
    var psqlclusterResource = new PSQLCluster("psqlclusterResource", PSQLClusterArgs.builder()
        .postgresVersion("string")
        .synchronizationMode("string")
        .storageType("string")
        .cores(0)
        .credentials(PSQLClusterCredentialsArgs.builder()
            .password("string")
            .username("string")
            .build())
        .displayName("string")
        .storageSize(0)
        .instances(0)
        .location("string")
        .ram(0)
        .fromBackup(PSQLClusterFromBackupArgs.builder()
            .backupId("string")
            .recoveryTargetTime("string")
            .build())
        .maintenanceWindow(PSQLClusterMaintenanceWindowArgs.builder()
            .dayOfTheWeek("string")
            .time("string")
            .build())
        .backupLocation("string")
        .connections(PSQLClusterConnectionsArgs.builder()
            .cidr("string")
            .datacenterId("string")
            .lanId("string")
            .build())
        .connectionPooler(PSQLClusterConnectionPoolerArgs.builder()
            .enabled(false)
            .poolMode("string")
            .build())
        .build());
    
    psqlcluster_resource = ionoscloud.dbaas.PSQLCluster("psqlclusterResource",
        postgres_version="string",
        synchronization_mode="string",
        storage_type="string",
        cores=0,
        credentials={
            "password": "string",
            "username": "string",
        },
        display_name="string",
        storage_size=0,
        instances=0,
        location="string",
        ram=0,
        from_backup={
            "backup_id": "string",
            "recovery_target_time": "string",
        },
        maintenance_window={
            "day_of_the_week": "string",
            "time": "string",
        },
        backup_location="string",
        connections={
            "cidr": "string",
            "datacenter_id": "string",
            "lan_id": "string",
        },
        connection_pooler={
            "enabled": False,
            "pool_mode": "string",
        })
    
    const psqlclusterResource = new ionoscloud.dbaas.PSQLCluster("psqlclusterResource", {
        postgresVersion: "string",
        synchronizationMode: "string",
        storageType: "string",
        cores: 0,
        credentials: {
            password: "string",
            username: "string",
        },
        displayName: "string",
        storageSize: 0,
        instances: 0,
        location: "string",
        ram: 0,
        fromBackup: {
            backupId: "string",
            recoveryTargetTime: "string",
        },
        maintenanceWindow: {
            dayOfTheWeek: "string",
            time: "string",
        },
        backupLocation: "string",
        connections: {
            cidr: "string",
            datacenterId: "string",
            lanId: "string",
        },
        connectionPooler: {
            enabled: false,
            poolMode: "string",
        },
    });
    
    type: ionoscloud:dbaas:PSQLCluster
    properties:
        backupLocation: string
        connectionPooler:
            enabled: false
            poolMode: string
        connections:
            cidr: string
            datacenterId: string
            lanId: string
        cores: 0
        credentials:
            password: string
            username: string
        displayName: string
        fromBackup:
            backupId: string
            recoveryTargetTime: string
        instances: 0
        location: string
        maintenanceWindow:
            dayOfTheWeek: string
            time: string
        postgresVersion: string
        ram: 0
        storageSize: 0
        storageType: string
        synchronizationMode: string
    

    PSQLCluster Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The PSQLCluster resource accepts the following input properties:

    Cores int
    [int] The number of CPU cores per replica.
    Credentials Ionoscloud.PSQLClusterCredentials
    [string] Credentials for the database user to be created. This attribute is immutable(disallowed in update requests).
    DisplayName string
    [string] The friendly name of your cluster.
    Instances int
    [int] The total number of instances in the cluster (one master and n-1 standbys)
    Location string
    [string] The physical location where the cluster will be created. This will be where all of your instances live. Property cannot be modified after datacenter creation. Possible values are: de/fra, de/txl, gb/lhr, es/vit, us/ewr, us/las. This attribute is immutable(disallowed in update requests).
    PostgresVersion string
    [string] The PostgreSQL version of your cluster.
    Ram int
    [int] The amount of memory per instance in megabytes. Has to be a multiple of 1024.
    StorageSize int
    [int] The amount of storage per instance in MB. Has to be a multiple of 2048.
    StorageType string
    [string] SSD, SSD Standard, SSD Premium, or HDD. Value "SSD" is deprecated, use the equivalent "SSD Premium" instead. This attribute is immutable(disallowed in update requests).
    SynchronizationMode string
    [string] Represents different modes of replication. Can have one of the following values: ASYNCHRONOUS, SYNCHRONOUS, STRICTLY_SYNCHRONOUS. This attribute is immutable(disallowed in update requests).
    BackupLocation string
    (Computed)[string] The IONOS Object Storage location where the backups will be stored. Possible values are: de, eu-south-2, eu-central-2. This attribute is immutable (disallowed in update requests).
    ConnectionPooler Ionoscloud.PSQLClusterConnectionPooler
    [object]
    Connections Ionoscloud.PSQLClusterConnections
    [string] Details about the network connection for your cluster.
    FromBackup Ionoscloud.PSQLClusterFromBackup
    [string] The unique ID of the backup you want to restore. This attribute is immutable(disallowed in update requests).
    MaintenanceWindow Ionoscloud.PSQLClusterMaintenanceWindow
    (Computed) A weekly 4 hour-long window, during which maintenance might occur
    Cores int
    [int] The number of CPU cores per replica.
    Credentials PSQLClusterCredentialsArgs
    [string] Credentials for the database user to be created. This attribute is immutable(disallowed in update requests).
    DisplayName string
    [string] The friendly name of your cluster.
    Instances int
    [int] The total number of instances in the cluster (one master and n-1 standbys)
    Location string
    [string] The physical location where the cluster will be created. This will be where all of your instances live. Property cannot be modified after datacenter creation. Possible values are: de/fra, de/txl, gb/lhr, es/vit, us/ewr, us/las. This attribute is immutable(disallowed in update requests).
    PostgresVersion string
    [string] The PostgreSQL version of your cluster.
    Ram int
    [int] The amount of memory per instance in megabytes. Has to be a multiple of 1024.
    StorageSize int
    [int] The amount of storage per instance in MB. Has to be a multiple of 2048.
    StorageType string
    [string] SSD, SSD Standard, SSD Premium, or HDD. Value "SSD" is deprecated, use the equivalent "SSD Premium" instead. This attribute is immutable(disallowed in update requests).
    SynchronizationMode string
    [string] Represents different modes of replication. Can have one of the following values: ASYNCHRONOUS, SYNCHRONOUS, STRICTLY_SYNCHRONOUS. This attribute is immutable(disallowed in update requests).
    BackupLocation string
    (Computed)[string] The IONOS Object Storage location where the backups will be stored. Possible values are: de, eu-south-2, eu-central-2. This attribute is immutable (disallowed in update requests).
    ConnectionPooler PSQLClusterConnectionPoolerArgs
    [object]
    Connections PSQLClusterConnectionsArgs
    [string] Details about the network connection for your cluster.
    FromBackup PSQLClusterFromBackupArgs
    [string] The unique ID of the backup you want to restore. This attribute is immutable(disallowed in update requests).
    MaintenanceWindow PSQLClusterMaintenanceWindowArgs
    (Computed) A weekly 4 hour-long window, during which maintenance might occur
    cores Integer
    [int] The number of CPU cores per replica.
    credentials PSQLClusterCredentials
    [string] Credentials for the database user to be created. This attribute is immutable(disallowed in update requests).
    displayName String
    [string] The friendly name of your cluster.
    instances Integer
    [int] The total number of instances in the cluster (one master and n-1 standbys)
    location String
    [string] The physical location where the cluster will be created. This will be where all of your instances live. Property cannot be modified after datacenter creation. Possible values are: de/fra, de/txl, gb/lhr, es/vit, us/ewr, us/las. This attribute is immutable(disallowed in update requests).
    postgresVersion String
    [string] The PostgreSQL version of your cluster.
    ram Integer
    [int] The amount of memory per instance in megabytes. Has to be a multiple of 1024.
    storageSize Integer
    [int] The amount of storage per instance in MB. Has to be a multiple of 2048.
    storageType String
    [string] SSD, SSD Standard, SSD Premium, or HDD. Value "SSD" is deprecated, use the equivalent "SSD Premium" instead. This attribute is immutable(disallowed in update requests).
    synchronizationMode String
    [string] Represents different modes of replication. Can have one of the following values: ASYNCHRONOUS, SYNCHRONOUS, STRICTLY_SYNCHRONOUS. This attribute is immutable(disallowed in update requests).
    backupLocation String
    (Computed)[string] The IONOS Object Storage location where the backups will be stored. Possible values are: de, eu-south-2, eu-central-2. This attribute is immutable (disallowed in update requests).
    connectionPooler PSQLClusterConnectionPooler
    [object]
    connections PSQLClusterConnections
    [string] Details about the network connection for your cluster.
    fromBackup PSQLClusterFromBackup
    [string] The unique ID of the backup you want to restore. This attribute is immutable(disallowed in update requests).
    maintenanceWindow PSQLClusterMaintenanceWindow
    (Computed) A weekly 4 hour-long window, during which maintenance might occur
    cores number
    [int] The number of CPU cores per replica.
    credentials PSQLClusterCredentials
    [string] Credentials for the database user to be created. This attribute is immutable(disallowed in update requests).
    displayName string
    [string] The friendly name of your cluster.
    instances number
    [int] The total number of instances in the cluster (one master and n-1 standbys)
    location string
    [string] The physical location where the cluster will be created. This will be where all of your instances live. Property cannot be modified after datacenter creation. Possible values are: de/fra, de/txl, gb/lhr, es/vit, us/ewr, us/las. This attribute is immutable(disallowed in update requests).
    postgresVersion string
    [string] The PostgreSQL version of your cluster.
    ram number
    [int] The amount of memory per instance in megabytes. Has to be a multiple of 1024.
    storageSize number
    [int] The amount of storage per instance in MB. Has to be a multiple of 2048.
    storageType string
    [string] SSD, SSD Standard, SSD Premium, or HDD. Value "SSD" is deprecated, use the equivalent "SSD Premium" instead. This attribute is immutable(disallowed in update requests).
    synchronizationMode string
    [string] Represents different modes of replication. Can have one of the following values: ASYNCHRONOUS, SYNCHRONOUS, STRICTLY_SYNCHRONOUS. This attribute is immutable(disallowed in update requests).
    backupLocation string
    (Computed)[string] The IONOS Object Storage location where the backups will be stored. Possible values are: de, eu-south-2, eu-central-2. This attribute is immutable (disallowed in update requests).
    connectionPooler PSQLClusterConnectionPooler
    [object]
    connections PSQLClusterConnections
    [string] Details about the network connection for your cluster.
    fromBackup PSQLClusterFromBackup
    [string] The unique ID of the backup you want to restore. This attribute is immutable(disallowed in update requests).
    maintenanceWindow PSQLClusterMaintenanceWindow
    (Computed) A weekly 4 hour-long window, during which maintenance might occur
    cores int
    [int] The number of CPU cores per replica.
    credentials PSQLClusterCredentialsArgs
    [string] Credentials for the database user to be created. This attribute is immutable(disallowed in update requests).
    display_name str
    [string] The friendly name of your cluster.
    instances int
    [int] The total number of instances in the cluster (one master and n-1 standbys)
    location str
    [string] The physical location where the cluster will be created. This will be where all of your instances live. Property cannot be modified after datacenter creation. Possible values are: de/fra, de/txl, gb/lhr, es/vit, us/ewr, us/las. This attribute is immutable(disallowed in update requests).
    postgres_version str
    [string] The PostgreSQL version of your cluster.
    ram int
    [int] The amount of memory per instance in megabytes. Has to be a multiple of 1024.
    storage_size int
    [int] The amount of storage per instance in MB. Has to be a multiple of 2048.
    storage_type str
    [string] SSD, SSD Standard, SSD Premium, or HDD. Value "SSD" is deprecated, use the equivalent "SSD Premium" instead. This attribute is immutable(disallowed in update requests).
    synchronization_mode str
    [string] Represents different modes of replication. Can have one of the following values: ASYNCHRONOUS, SYNCHRONOUS, STRICTLY_SYNCHRONOUS. This attribute is immutable(disallowed in update requests).
    backup_location str
    (Computed)[string] The IONOS Object Storage location where the backups will be stored. Possible values are: de, eu-south-2, eu-central-2. This attribute is immutable (disallowed in update requests).
    connection_pooler PSQLClusterConnectionPoolerArgs
    [object]
    connections PSQLClusterConnectionsArgs
    [string] Details about the network connection for your cluster.
    from_backup PSQLClusterFromBackupArgs
    [string] The unique ID of the backup you want to restore. This attribute is immutable(disallowed in update requests).
    maintenance_window PSQLClusterMaintenanceWindowArgs
    (Computed) A weekly 4 hour-long window, during which maintenance might occur
    cores Number
    [int] The number of CPU cores per replica.
    credentials Property Map
    [string] Credentials for the database user to be created. This attribute is immutable(disallowed in update requests).
    displayName String
    [string] The friendly name of your cluster.
    instances Number
    [int] The total number of instances in the cluster (one master and n-1 standbys)
    location String
    [string] The physical location where the cluster will be created. This will be where all of your instances live. Property cannot be modified after datacenter creation. Possible values are: de/fra, de/txl, gb/lhr, es/vit, us/ewr, us/las. This attribute is immutable(disallowed in update requests).
    postgresVersion String
    [string] The PostgreSQL version of your cluster.
    ram Number
    [int] The amount of memory per instance in megabytes. Has to be a multiple of 1024.
    storageSize Number
    [int] The amount of storage per instance in MB. Has to be a multiple of 2048.
    storageType String
    [string] SSD, SSD Standard, SSD Premium, or HDD. Value "SSD" is deprecated, use the equivalent "SSD Premium" instead. This attribute is immutable(disallowed in update requests).
    synchronizationMode String
    [string] Represents different modes of replication. Can have one of the following values: ASYNCHRONOUS, SYNCHRONOUS, STRICTLY_SYNCHRONOUS. This attribute is immutable(disallowed in update requests).
    backupLocation String
    (Computed)[string] The IONOS Object Storage location where the backups will be stored. Possible values are: de, eu-south-2, eu-central-2. This attribute is immutable (disallowed in update requests).
    connectionPooler Property Map
    [object]
    connections Property Map
    [string] Details about the network connection for your cluster.
    fromBackup Property Map
    [string] The unique ID of the backup you want to restore. This attribute is immutable(disallowed in update requests).
    maintenanceWindow Property Map
    (Computed) A weekly 4 hour-long window, during which maintenance might occur

    Outputs

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

    DnsName string
    [string] The DNS name pointing to your cluster.
    Id string
    The provider-assigned unique ID for this managed resource.
    DnsName string
    [string] The DNS name pointing to your cluster.
    Id string
    The provider-assigned unique ID for this managed resource.
    dnsName String
    [string] The DNS name pointing to your cluster.
    id String
    The provider-assigned unique ID for this managed resource.
    dnsName string
    [string] The DNS name pointing to your cluster.
    id string
    The provider-assigned unique ID for this managed resource.
    dns_name str
    [string] The DNS name pointing to your cluster.
    id str
    The provider-assigned unique ID for this managed resource.
    dnsName String
    [string] The DNS name pointing to your cluster.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing PSQLCluster Resource

    Get an existing PSQLCluster 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?: PSQLClusterState, opts?: CustomResourceOptions): PSQLCluster
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            backup_location: Optional[str] = None,
            connection_pooler: Optional[PSQLClusterConnectionPoolerArgs] = None,
            connections: Optional[PSQLClusterConnectionsArgs] = None,
            cores: Optional[int] = None,
            credentials: Optional[PSQLClusterCredentialsArgs] = None,
            display_name: Optional[str] = None,
            dns_name: Optional[str] = None,
            from_backup: Optional[PSQLClusterFromBackupArgs] = None,
            instances: Optional[int] = None,
            location: Optional[str] = None,
            maintenance_window: Optional[PSQLClusterMaintenanceWindowArgs] = None,
            postgres_version: Optional[str] = None,
            ram: Optional[int] = None,
            storage_size: Optional[int] = None,
            storage_type: Optional[str] = None,
            synchronization_mode: Optional[str] = None) -> PSQLCluster
    func GetPSQLCluster(ctx *Context, name string, id IDInput, state *PSQLClusterState, opts ...ResourceOption) (*PSQLCluster, error)
    public static PSQLCluster Get(string name, Input<string> id, PSQLClusterState? state, CustomResourceOptions? opts = null)
    public static PSQLCluster get(String name, Output<String> id, PSQLClusterState state, CustomResourceOptions options)
    resources:  _:    type: ionoscloud:dbaas:PSQLCluster    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    BackupLocation string
    (Computed)[string] The IONOS Object Storage location where the backups will be stored. Possible values are: de, eu-south-2, eu-central-2. This attribute is immutable (disallowed in update requests).
    ConnectionPooler Ionoscloud.PSQLClusterConnectionPooler
    [object]
    Connections Ionoscloud.PSQLClusterConnections
    [string] Details about the network connection for your cluster.
    Cores int
    [int] The number of CPU cores per replica.
    Credentials Ionoscloud.PSQLClusterCredentials
    [string] Credentials for the database user to be created. This attribute is immutable(disallowed in update requests).
    DisplayName string
    [string] The friendly name of your cluster.
    DnsName string
    [string] The DNS name pointing to your cluster.
    FromBackup Ionoscloud.PSQLClusterFromBackup
    [string] The unique ID of the backup you want to restore. This attribute is immutable(disallowed in update requests).
    Instances int
    [int] The total number of instances in the cluster (one master and n-1 standbys)
    Location string
    [string] The physical location where the cluster will be created. This will be where all of your instances live. Property cannot be modified after datacenter creation. Possible values are: de/fra, de/txl, gb/lhr, es/vit, us/ewr, us/las. This attribute is immutable(disallowed in update requests).
    MaintenanceWindow Ionoscloud.PSQLClusterMaintenanceWindow
    (Computed) A weekly 4 hour-long window, during which maintenance might occur
    PostgresVersion string
    [string] The PostgreSQL version of your cluster.
    Ram int
    [int] The amount of memory per instance in megabytes. Has to be a multiple of 1024.
    StorageSize int
    [int] The amount of storage per instance in MB. Has to be a multiple of 2048.
    StorageType string
    [string] SSD, SSD Standard, SSD Premium, or HDD. Value "SSD" is deprecated, use the equivalent "SSD Premium" instead. This attribute is immutable(disallowed in update requests).
    SynchronizationMode string
    [string] Represents different modes of replication. Can have one of the following values: ASYNCHRONOUS, SYNCHRONOUS, STRICTLY_SYNCHRONOUS. This attribute is immutable(disallowed in update requests).
    BackupLocation string
    (Computed)[string] The IONOS Object Storage location where the backups will be stored. Possible values are: de, eu-south-2, eu-central-2. This attribute is immutable (disallowed in update requests).
    ConnectionPooler PSQLClusterConnectionPoolerArgs
    [object]
    Connections PSQLClusterConnectionsArgs
    [string] Details about the network connection for your cluster.
    Cores int
    [int] The number of CPU cores per replica.
    Credentials PSQLClusterCredentialsArgs
    [string] Credentials for the database user to be created. This attribute is immutable(disallowed in update requests).
    DisplayName string
    [string] The friendly name of your cluster.
    DnsName string
    [string] The DNS name pointing to your cluster.
    FromBackup PSQLClusterFromBackupArgs
    [string] The unique ID of the backup you want to restore. This attribute is immutable(disallowed in update requests).
    Instances int
    [int] The total number of instances in the cluster (one master and n-1 standbys)
    Location string
    [string] The physical location where the cluster will be created. This will be where all of your instances live. Property cannot be modified after datacenter creation. Possible values are: de/fra, de/txl, gb/lhr, es/vit, us/ewr, us/las. This attribute is immutable(disallowed in update requests).
    MaintenanceWindow PSQLClusterMaintenanceWindowArgs
    (Computed) A weekly 4 hour-long window, during which maintenance might occur
    PostgresVersion string
    [string] The PostgreSQL version of your cluster.
    Ram int
    [int] The amount of memory per instance in megabytes. Has to be a multiple of 1024.
    StorageSize int
    [int] The amount of storage per instance in MB. Has to be a multiple of 2048.
    StorageType string
    [string] SSD, SSD Standard, SSD Premium, or HDD. Value "SSD" is deprecated, use the equivalent "SSD Premium" instead. This attribute is immutable(disallowed in update requests).
    SynchronizationMode string
    [string] Represents different modes of replication. Can have one of the following values: ASYNCHRONOUS, SYNCHRONOUS, STRICTLY_SYNCHRONOUS. This attribute is immutable(disallowed in update requests).
    backupLocation String
    (Computed)[string] The IONOS Object Storage location where the backups will be stored. Possible values are: de, eu-south-2, eu-central-2. This attribute is immutable (disallowed in update requests).
    connectionPooler PSQLClusterConnectionPooler
    [object]
    connections PSQLClusterConnections
    [string] Details about the network connection for your cluster.
    cores Integer
    [int] The number of CPU cores per replica.
    credentials PSQLClusterCredentials
    [string] Credentials for the database user to be created. This attribute is immutable(disallowed in update requests).
    displayName String
    [string] The friendly name of your cluster.
    dnsName String
    [string] The DNS name pointing to your cluster.
    fromBackup PSQLClusterFromBackup
    [string] The unique ID of the backup you want to restore. This attribute is immutable(disallowed in update requests).
    instances Integer
    [int] The total number of instances in the cluster (one master and n-1 standbys)
    location String
    [string] The physical location where the cluster will be created. This will be where all of your instances live. Property cannot be modified after datacenter creation. Possible values are: de/fra, de/txl, gb/lhr, es/vit, us/ewr, us/las. This attribute is immutable(disallowed in update requests).
    maintenanceWindow PSQLClusterMaintenanceWindow
    (Computed) A weekly 4 hour-long window, during which maintenance might occur
    postgresVersion String
    [string] The PostgreSQL version of your cluster.
    ram Integer
    [int] The amount of memory per instance in megabytes. Has to be a multiple of 1024.
    storageSize Integer
    [int] The amount of storage per instance in MB. Has to be a multiple of 2048.
    storageType String
    [string] SSD, SSD Standard, SSD Premium, or HDD. Value "SSD" is deprecated, use the equivalent "SSD Premium" instead. This attribute is immutable(disallowed in update requests).
    synchronizationMode String
    [string] Represents different modes of replication. Can have one of the following values: ASYNCHRONOUS, SYNCHRONOUS, STRICTLY_SYNCHRONOUS. This attribute is immutable(disallowed in update requests).
    backupLocation string
    (Computed)[string] The IONOS Object Storage location where the backups will be stored. Possible values are: de, eu-south-2, eu-central-2. This attribute is immutable (disallowed in update requests).
    connectionPooler PSQLClusterConnectionPooler
    [object]
    connections PSQLClusterConnections
    [string] Details about the network connection for your cluster.
    cores number
    [int] The number of CPU cores per replica.
    credentials PSQLClusterCredentials
    [string] Credentials for the database user to be created. This attribute is immutable(disallowed in update requests).
    displayName string
    [string] The friendly name of your cluster.
    dnsName string
    [string] The DNS name pointing to your cluster.
    fromBackup PSQLClusterFromBackup
    [string] The unique ID of the backup you want to restore. This attribute is immutable(disallowed in update requests).
    instances number
    [int] The total number of instances in the cluster (one master and n-1 standbys)
    location string
    [string] The physical location where the cluster will be created. This will be where all of your instances live. Property cannot be modified after datacenter creation. Possible values are: de/fra, de/txl, gb/lhr, es/vit, us/ewr, us/las. This attribute is immutable(disallowed in update requests).
    maintenanceWindow PSQLClusterMaintenanceWindow
    (Computed) A weekly 4 hour-long window, during which maintenance might occur
    postgresVersion string
    [string] The PostgreSQL version of your cluster.
    ram number
    [int] The amount of memory per instance in megabytes. Has to be a multiple of 1024.
    storageSize number
    [int] The amount of storage per instance in MB. Has to be a multiple of 2048.
    storageType string
    [string] SSD, SSD Standard, SSD Premium, or HDD. Value "SSD" is deprecated, use the equivalent "SSD Premium" instead. This attribute is immutable(disallowed in update requests).
    synchronizationMode string
    [string] Represents different modes of replication. Can have one of the following values: ASYNCHRONOUS, SYNCHRONOUS, STRICTLY_SYNCHRONOUS. This attribute is immutable(disallowed in update requests).
    backup_location str
    (Computed)[string] The IONOS Object Storage location where the backups will be stored. Possible values are: de, eu-south-2, eu-central-2. This attribute is immutable (disallowed in update requests).
    connection_pooler PSQLClusterConnectionPoolerArgs
    [object]
    connections PSQLClusterConnectionsArgs
    [string] Details about the network connection for your cluster.
    cores int
    [int] The number of CPU cores per replica.
    credentials PSQLClusterCredentialsArgs
    [string] Credentials for the database user to be created. This attribute is immutable(disallowed in update requests).
    display_name str
    [string] The friendly name of your cluster.
    dns_name str
    [string] The DNS name pointing to your cluster.
    from_backup PSQLClusterFromBackupArgs
    [string] The unique ID of the backup you want to restore. This attribute is immutable(disallowed in update requests).
    instances int
    [int] The total number of instances in the cluster (one master and n-1 standbys)
    location str
    [string] The physical location where the cluster will be created. This will be where all of your instances live. Property cannot be modified after datacenter creation. Possible values are: de/fra, de/txl, gb/lhr, es/vit, us/ewr, us/las. This attribute is immutable(disallowed in update requests).
    maintenance_window PSQLClusterMaintenanceWindowArgs
    (Computed) A weekly 4 hour-long window, during which maintenance might occur
    postgres_version str
    [string] The PostgreSQL version of your cluster.
    ram int
    [int] The amount of memory per instance in megabytes. Has to be a multiple of 1024.
    storage_size int
    [int] The amount of storage per instance in MB. Has to be a multiple of 2048.
    storage_type str
    [string] SSD, SSD Standard, SSD Premium, or HDD. Value "SSD" is deprecated, use the equivalent "SSD Premium" instead. This attribute is immutable(disallowed in update requests).
    synchronization_mode str
    [string] Represents different modes of replication. Can have one of the following values: ASYNCHRONOUS, SYNCHRONOUS, STRICTLY_SYNCHRONOUS. This attribute is immutable(disallowed in update requests).
    backupLocation String
    (Computed)[string] The IONOS Object Storage location where the backups will be stored. Possible values are: de, eu-south-2, eu-central-2. This attribute is immutable (disallowed in update requests).
    connectionPooler Property Map
    [object]
    connections Property Map
    [string] Details about the network connection for your cluster.
    cores Number
    [int] The number of CPU cores per replica.
    credentials Property Map
    [string] Credentials for the database user to be created. This attribute is immutable(disallowed in update requests).
    displayName String
    [string] The friendly name of your cluster.
    dnsName String
    [string] The DNS name pointing to your cluster.
    fromBackup Property Map
    [string] The unique ID of the backup you want to restore. This attribute is immutable(disallowed in update requests).
    instances Number
    [int] The total number of instances in the cluster (one master and n-1 standbys)
    location String
    [string] The physical location where the cluster will be created. This will be where all of your instances live. Property cannot be modified after datacenter creation. Possible values are: de/fra, de/txl, gb/lhr, es/vit, us/ewr, us/las. This attribute is immutable(disallowed in update requests).
    maintenanceWindow Property Map
    (Computed) A weekly 4 hour-long window, during which maintenance might occur
    postgresVersion String
    [string] The PostgreSQL version of your cluster.
    ram Number
    [int] The amount of memory per instance in megabytes. Has to be a multiple of 1024.
    storageSize Number
    [int] The amount of storage per instance in MB. Has to be a multiple of 2048.
    storageType String
    [string] SSD, SSD Standard, SSD Premium, or HDD. Value "SSD" is deprecated, use the equivalent "SSD Premium" instead. This attribute is immutable(disallowed in update requests).
    synchronizationMode String
    [string] Represents different modes of replication. Can have one of the following values: ASYNCHRONOUS, SYNCHRONOUS, STRICTLY_SYNCHRONOUS. This attribute is immutable(disallowed in update requests).

    Supporting Types

    PSQLClusterConnectionPooler, PSQLClusterConnectionPoolerArgs

    Enabled bool
    [bool]
    PoolMode string
    [string] Represents different modes of connection pooling for the connection pooler.
    Enabled bool
    [bool]
    PoolMode string
    [string] Represents different modes of connection pooling for the connection pooler.
    enabled Boolean
    [bool]
    poolMode String
    [string] Represents different modes of connection pooling for the connection pooler.
    enabled boolean
    [bool]
    poolMode string
    [string] Represents different modes of connection pooling for the connection pooler.
    enabled bool
    [bool]
    pool_mode str
    [string] Represents different modes of connection pooling for the connection pooler.
    enabled Boolean
    [bool]
    poolMode String
    [string] Represents different modes of connection pooling for the connection pooler.

    PSQLClusterConnections, PSQLClusterConnectionsArgs

    Cidr string
    [true] The IP and subnet for the database. Note the following unavailable IP ranges: 10.233.64.0/18, 10.233.0.0/18, 10.233.114.0/24. Please enter in the correct format like IP/Subnet, exp: 192.168.10.0/24. See Private IPs and Configuring the network.
    DatacenterId string
    [true] The datacenter to connect your cluster to.
    LanId string
    [true] The LAN to connect your cluster to.
    Cidr string
    [true] The IP and subnet for the database. Note the following unavailable IP ranges: 10.233.64.0/18, 10.233.0.0/18, 10.233.114.0/24. Please enter in the correct format like IP/Subnet, exp: 192.168.10.0/24. See Private IPs and Configuring the network.
    DatacenterId string
    [true] The datacenter to connect your cluster to.
    LanId string
    [true] The LAN to connect your cluster to.
    cidr String
    [true] The IP and subnet for the database. Note the following unavailable IP ranges: 10.233.64.0/18, 10.233.0.0/18, 10.233.114.0/24. Please enter in the correct format like IP/Subnet, exp: 192.168.10.0/24. See Private IPs and Configuring the network.
    datacenterId String
    [true] The datacenter to connect your cluster to.
    lanId String
    [true] The LAN to connect your cluster to.
    cidr string
    [true] The IP and subnet for the database. Note the following unavailable IP ranges: 10.233.64.0/18, 10.233.0.0/18, 10.233.114.0/24. Please enter in the correct format like IP/Subnet, exp: 192.168.10.0/24. See Private IPs and Configuring the network.
    datacenterId string
    [true] The datacenter to connect your cluster to.
    lanId string
    [true] The LAN to connect your cluster to.
    cidr str
    [true] The IP and subnet for the database. Note the following unavailable IP ranges: 10.233.64.0/18, 10.233.0.0/18, 10.233.114.0/24. Please enter in the correct format like IP/Subnet, exp: 192.168.10.0/24. See Private IPs and Configuring the network.
    datacenter_id str
    [true] The datacenter to connect your cluster to.
    lan_id str
    [true] The LAN to connect your cluster to.
    cidr String
    [true] The IP and subnet for the database. Note the following unavailable IP ranges: 10.233.64.0/18, 10.233.0.0/18, 10.233.114.0/24. Please enter in the correct format like IP/Subnet, exp: 192.168.10.0/24. See Private IPs and Configuring the network.
    datacenterId String
    [true] The datacenter to connect your cluster to.
    lanId String
    [true] The LAN to connect your cluster to.

    PSQLClusterCredentials, PSQLClusterCredentialsArgs

    Password string
    [string]
    Username string
    [string] The username for the initial postgres user. Some system usernames are restricted (e.g. "postgres", "admin", "standby")
    Password string
    [string]
    Username string
    [string] The username for the initial postgres user. Some system usernames are restricted (e.g. "postgres", "admin", "standby")
    password String
    [string]
    username String
    [string] The username for the initial postgres user. Some system usernames are restricted (e.g. "postgres", "admin", "standby")
    password string
    [string]
    username string
    [string] The username for the initial postgres user. Some system usernames are restricted (e.g. "postgres", "admin", "standby")
    password str
    [string]
    username str
    [string] The username for the initial postgres user. Some system usernames are restricted (e.g. "postgres", "admin", "standby")
    password String
    [string]
    username String
    [string] The username for the initial postgres user. Some system usernames are restricted (e.g. "postgres", "admin", "standby")

    PSQLClusterFromBackup, PSQLClusterFromBackupArgs

    BackupId string
    [string] The unique ID of the backup you want to restore.
    RecoveryTargetTime string
    [string] If this value is supplied as ISO 8601 timestamp, the backup will be replayed up until the given timestamp. If empty, the backup will be applied completely.
    BackupId string
    [string] The unique ID of the backup you want to restore.
    RecoveryTargetTime string
    [string] If this value is supplied as ISO 8601 timestamp, the backup will be replayed up until the given timestamp. If empty, the backup will be applied completely.
    backupId String
    [string] The unique ID of the backup you want to restore.
    recoveryTargetTime String
    [string] If this value is supplied as ISO 8601 timestamp, the backup will be replayed up until the given timestamp. If empty, the backup will be applied completely.
    backupId string
    [string] The unique ID of the backup you want to restore.
    recoveryTargetTime string
    [string] If this value is supplied as ISO 8601 timestamp, the backup will be replayed up until the given timestamp. If empty, the backup will be applied completely.
    backup_id str
    [string] The unique ID of the backup you want to restore.
    recovery_target_time str
    [string] If this value is supplied as ISO 8601 timestamp, the backup will be replayed up until the given timestamp. If empty, the backup will be applied completely.
    backupId String
    [string] The unique ID of the backup you want to restore.
    recoveryTargetTime String
    [string] If this value is supplied as ISO 8601 timestamp, the backup will be replayed up until the given timestamp. If empty, the backup will be applied completely.

    PSQLClusterMaintenanceWindow, PSQLClusterMaintenanceWindowArgs

    DayOfTheWeek string
    [string]
    Time string
    [string]
    DayOfTheWeek string
    [string]
    Time string
    [string]
    dayOfTheWeek String
    [string]
    time String
    [string]
    dayOfTheWeek string
    [string]
    time string
    [string]
    day_of_the_week str
    [string]
    time str
    [string]
    dayOfTheWeek String
    [string]
    time String
    [string]

    Import

    Resource DbaaS Postgres Cluster can be imported using the cluster_id, e.g.

    $ pulumi import ionoscloud:dbaas/pSQLCluster:PSQLCluster mycluser cluster uuid
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    ionoscloud ionos-cloud/pulumi-ionoscloud
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the ionoscloud Terraform Provider.
    ionoscloud logo
    IonosCloud v0.2.3 published on Tuesday, May 13, 2025 by ionos-cloud