1. Packages
  2. Azure Classic
  3. API Docs
  4. postgresql
  5. FlexibleServer

We recommend using Azure Native.

Azure v6.21.0 published on Friday, Mar 7, 2025 by Pulumi

azure.postgresql.FlexibleServer

Explore with Pulumi AI

Manages a PostgreSQL Flexible Server.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = new azure.core.ResourceGroup("example", {
    name: "example-resources",
    location: "West Europe",
});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("example", {
    name: "example-vn",
    location: example.location,
    resourceGroupName: example.name,
    addressSpaces: ["10.0.0.0/16"],
});
const exampleSubnet = new azure.network.Subnet("example", {
    name: "example-sn",
    resourceGroupName: example.name,
    virtualNetworkName: exampleVirtualNetwork.name,
    addressPrefixes: ["10.0.2.0/24"],
    serviceEndpoints: ["Microsoft.Storage"],
    delegations: [{
        name: "fs",
        serviceDelegation: {
            name: "Microsoft.DBforPostgreSQL/flexibleServers",
            actions: ["Microsoft.Network/virtualNetworks/subnets/join/action"],
        },
    }],
});
const exampleZone = new azure.privatedns.Zone("example", {
    name: "example.postgres.database.azure.com",
    resourceGroupName: example.name,
});
const exampleZoneVirtualNetworkLink = new azure.privatedns.ZoneVirtualNetworkLink("example", {
    name: "exampleVnetZone.com",
    privateDnsZoneName: exampleZone.name,
    virtualNetworkId: exampleVirtualNetwork.id,
    resourceGroupName: example.name,
}, {
    dependsOn: [exampleSubnet],
});
const exampleFlexibleServer = new azure.postgresql.FlexibleServer("example", {
    name: "example-psqlflexibleserver",
    resourceGroupName: example.name,
    location: example.location,
    version: "12",
    delegatedSubnetId: exampleSubnet.id,
    privateDnsZoneId: exampleZone.id,
    publicNetworkAccessEnabled: false,
    administratorLogin: "psqladmin",
    administratorPassword: "H@Sh1CoR3!",
    zone: "1",
    storageMb: 32768,
    storageTier: "P4",
    skuName: "B_Standard_B1ms",
}, {
    dependsOn: [exampleZoneVirtualNetworkLink],
});
Copy
import pulumi
import pulumi_azure as azure

example = azure.core.ResourceGroup("example",
    name="example-resources",
    location="West Europe")
example_virtual_network = azure.network.VirtualNetwork("example",
    name="example-vn",
    location=example.location,
    resource_group_name=example.name,
    address_spaces=["10.0.0.0/16"])
example_subnet = azure.network.Subnet("example",
    name="example-sn",
    resource_group_name=example.name,
    virtual_network_name=example_virtual_network.name,
    address_prefixes=["10.0.2.0/24"],
    service_endpoints=["Microsoft.Storage"],
    delegations=[{
        "name": "fs",
        "service_delegation": {
            "name": "Microsoft.DBforPostgreSQL/flexibleServers",
            "actions": ["Microsoft.Network/virtualNetworks/subnets/join/action"],
        },
    }])
example_zone = azure.privatedns.Zone("example",
    name="example.postgres.database.azure.com",
    resource_group_name=example.name)
example_zone_virtual_network_link = azure.privatedns.ZoneVirtualNetworkLink("example",
    name="exampleVnetZone.com",
    private_dns_zone_name=example_zone.name,
    virtual_network_id=example_virtual_network.id,
    resource_group_name=example.name,
    opts = pulumi.ResourceOptions(depends_on=[example_subnet]))
example_flexible_server = azure.postgresql.FlexibleServer("example",
    name="example-psqlflexibleserver",
    resource_group_name=example.name,
    location=example.location,
    version="12",
    delegated_subnet_id=example_subnet.id,
    private_dns_zone_id=example_zone.id,
    public_network_access_enabled=False,
    administrator_login="psqladmin",
    administrator_password="H@Sh1CoR3!",
    zone="1",
    storage_mb=32768,
    storage_tier="P4",
    sku_name="B_Standard_B1ms",
    opts = pulumi.ResourceOptions(depends_on=[example_zone_virtual_network_link]))
Copy
package main

import (
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/postgresql"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
			Name:              pulumi.String("example-vn"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
			Name:               pulumi.String("example-sn"),
			ResourceGroupName:  example.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.0.2.0/24"),
			},
			ServiceEndpoints: pulumi.StringArray{
				pulumi.String("Microsoft.Storage"),
			},
			Delegations: network.SubnetDelegationArray{
				&network.SubnetDelegationArgs{
					Name: pulumi.String("fs"),
					ServiceDelegation: &network.SubnetDelegationServiceDelegationArgs{
						Name: pulumi.String("Microsoft.DBforPostgreSQL/flexibleServers"),
						Actions: pulumi.StringArray{
							pulumi.String("Microsoft.Network/virtualNetworks/subnets/join/action"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		exampleZone, err := privatedns.NewZone(ctx, "example", &privatedns.ZoneArgs{
			Name:              pulumi.String("example.postgres.database.azure.com"),
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		exampleZoneVirtualNetworkLink, err := privatedns.NewZoneVirtualNetworkLink(ctx, "example", &privatedns.ZoneVirtualNetworkLinkArgs{
			Name:               pulumi.String("exampleVnetZone.com"),
			PrivateDnsZoneName: exampleZone.Name,
			VirtualNetworkId:   exampleVirtualNetwork.ID(),
			ResourceGroupName:  example.Name,
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleSubnet,
		}))
		if err != nil {
			return err
		}
		_, err = postgresql.NewFlexibleServer(ctx, "example", &postgresql.FlexibleServerArgs{
			Name:                       pulumi.String("example-psqlflexibleserver"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12"),
			DelegatedSubnetId:          exampleSubnet.ID(),
			PrivateDnsZoneId:           exampleZone.ID(),
			PublicNetworkAccessEnabled: pulumi.Bool(false),
			AdministratorLogin:         pulumi.String("psqladmin"),
			AdministratorPassword:      pulumi.String("H@Sh1CoR3!"),
			Zone:                       pulumi.String("1"),
			StorageMb:                  pulumi.Int(32768),
			StorageTier:                pulumi.String("P4"),
			SkuName:                    pulumi.String("B_Standard_B1ms"),
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleZoneVirtualNetworkLink,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;

return await Deployment.RunAsync(() => 
{
    var example = new Azure.Core.ResourceGroup("example", new()
    {
        Name = "example-resources",
        Location = "West Europe",
    });

    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("example", new()
    {
        Name = "example-vn",
        Location = example.Location,
        ResourceGroupName = example.Name,
        AddressSpaces = new[]
        {
            "10.0.0.0/16",
        },
    });

    var exampleSubnet = new Azure.Network.Subnet("example", new()
    {
        Name = "example-sn",
        ResourceGroupName = example.Name,
        VirtualNetworkName = exampleVirtualNetwork.Name,
        AddressPrefixes = new[]
        {
            "10.0.2.0/24",
        },
        ServiceEndpoints = new[]
        {
            "Microsoft.Storage",
        },
        Delegations = new[]
        {
            new Azure.Network.Inputs.SubnetDelegationArgs
            {
                Name = "fs",
                ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs
                {
                    Name = "Microsoft.DBforPostgreSQL/flexibleServers",
                    Actions = new[]
                    {
                        "Microsoft.Network/virtualNetworks/subnets/join/action",
                    },
                },
            },
        },
    });

    var exampleZone = new Azure.PrivateDns.Zone("example", new()
    {
        Name = "example.postgres.database.azure.com",
        ResourceGroupName = example.Name,
    });

    var exampleZoneVirtualNetworkLink = new Azure.PrivateDns.ZoneVirtualNetworkLink("example", new()
    {
        Name = "exampleVnetZone.com",
        PrivateDnsZoneName = exampleZone.Name,
        VirtualNetworkId = exampleVirtualNetwork.Id,
        ResourceGroupName = example.Name,
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            exampleSubnet,
        },
    });

    var exampleFlexibleServer = new Azure.PostgreSql.FlexibleServer("example", new()
    {
        Name = "example-psqlflexibleserver",
        ResourceGroupName = example.Name,
        Location = example.Location,
        Version = "12",
        DelegatedSubnetId = exampleSubnet.Id,
        PrivateDnsZoneId = exampleZone.Id,
        PublicNetworkAccessEnabled = false,
        AdministratorLogin = "psqladmin",
        AdministratorPassword = "H@Sh1CoR3!",
        Zone = "1",
        StorageMb = 32768,
        StorageTier = "P4",
        SkuName = "B_Standard_B1ms",
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            exampleZoneVirtualNetworkLink,
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azure.network.inputs.SubnetDelegationArgs;
import com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;
import com.pulumi.azure.privatedns.Zone;
import com.pulumi.azure.privatedns.ZoneArgs;
import com.pulumi.azure.privatedns.ZoneVirtualNetworkLink;
import com.pulumi.azure.privatedns.ZoneVirtualNetworkLinkArgs;
import com.pulumi.azure.postgresql.FlexibleServer;
import com.pulumi.azure.postgresql.FlexibleServerArgs;
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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
            .name("example-resources")
            .location("West Europe")
            .build());

        var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
            .name("example-vn")
            .location(example.location())
            .resourceGroupName(example.name())
            .addressSpaces("10.0.0.0/16")
            .build());

        var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
            .name("example-sn")
            .resourceGroupName(example.name())
            .virtualNetworkName(exampleVirtualNetwork.name())
            .addressPrefixes("10.0.2.0/24")
            .serviceEndpoints("Microsoft.Storage")
            .delegations(SubnetDelegationArgs.builder()
                .name("fs")
                .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()
                    .name("Microsoft.DBforPostgreSQL/flexibleServers")
                    .actions("Microsoft.Network/virtualNetworks/subnets/join/action")
                    .build())
                .build())
            .build());

        var exampleZone = new Zone("exampleZone", ZoneArgs.builder()
            .name("example.postgres.database.azure.com")
            .resourceGroupName(example.name())
            .build());

        var exampleZoneVirtualNetworkLink = new ZoneVirtualNetworkLink("exampleZoneVirtualNetworkLink", ZoneVirtualNetworkLinkArgs.builder()
            .name("exampleVnetZone.com")
            .privateDnsZoneName(exampleZone.name())
            .virtualNetworkId(exampleVirtualNetwork.id())
            .resourceGroupName(example.name())
            .build(), CustomResourceOptions.builder()
                .dependsOn(exampleSubnet)
                .build());

        var exampleFlexibleServer = new FlexibleServer("exampleFlexibleServer", FlexibleServerArgs.builder()
            .name("example-psqlflexibleserver")
            .resourceGroupName(example.name())
            .location(example.location())
            .version("12")
            .delegatedSubnetId(exampleSubnet.id())
            .privateDnsZoneId(exampleZone.id())
            .publicNetworkAccessEnabled(false)
            .administratorLogin("psqladmin")
            .administratorPassword("H@Sh1CoR3!")
            .zone("1")
            .storageMb(32768)
            .storageTier("P4")
            .skuName("B_Standard_B1ms")
            .build(), CustomResourceOptions.builder()
                .dependsOn(exampleZoneVirtualNetworkLink)
                .build());

    }
}
Copy
resources:
  example:
    type: azure:core:ResourceGroup
    properties:
      name: example-resources
      location: West Europe
  exampleVirtualNetwork:
    type: azure:network:VirtualNetwork
    name: example
    properties:
      name: example-vn
      location: ${example.location}
      resourceGroupName: ${example.name}
      addressSpaces:
        - 10.0.0.0/16
  exampleSubnet:
    type: azure:network:Subnet
    name: example
    properties:
      name: example-sn
      resourceGroupName: ${example.name}
      virtualNetworkName: ${exampleVirtualNetwork.name}
      addressPrefixes:
        - 10.0.2.0/24
      serviceEndpoints:
        - Microsoft.Storage
      delegations:
        - name: fs
          serviceDelegation:
            name: Microsoft.DBforPostgreSQL/flexibleServers
            actions:
              - Microsoft.Network/virtualNetworks/subnets/join/action
  exampleZone:
    type: azure:privatedns:Zone
    name: example
    properties:
      name: example.postgres.database.azure.com
      resourceGroupName: ${example.name}
  exampleZoneVirtualNetworkLink:
    type: azure:privatedns:ZoneVirtualNetworkLink
    name: example
    properties:
      name: exampleVnetZone.com
      privateDnsZoneName: ${exampleZone.name}
      virtualNetworkId: ${exampleVirtualNetwork.id}
      resourceGroupName: ${example.name}
    options:
      dependsOn:
        - ${exampleSubnet}
  exampleFlexibleServer:
    type: azure:postgresql:FlexibleServer
    name: example
    properties:
      name: example-psqlflexibleserver
      resourceGroupName: ${example.name}
      location: ${example.location}
      version: '12'
      delegatedSubnetId: ${exampleSubnet.id}
      privateDnsZoneId: ${exampleZone.id}
      publicNetworkAccessEnabled: false
      administratorLogin: psqladmin
      administratorPassword: H@Sh1CoR3!
      zone: '1'
      storageMb: 32768
      storageTier: P4
      skuName: B_Standard_B1ms
    options:
      dependsOn:
        - ${exampleZoneVirtualNetworkLink}
Copy

storage_tier defaults based on storage_mb

storage_mbGiBTiBDefaultSupported storage_tier’sProvisioned IOPS
3276832-P4P4, P6, P10, P15, P20, P30, P40, P50120
6553664-P6P6, P10, P15, P20, P30, P40, P50240
131072128-P10P10, P15, P20, P30, P40, P50500
262144256-P15P15, P20, P30, P40, P501,100
524288512-P20P20, P30, P40, P502,300
104857610241P30P30, P40, P505,000
209715220482P40P40, P507,500
419328040954P50P507,500
419430440964P50P507,500
838860881928P60P60, P7016,000
167772161638416P70P70, P8018,000
335534083276732P80P8020,000

Note: Host Caching (ReadOnly and Read/Write) is supported on disk sizes less than 4194304 MiB. This means any disk that is provisioned up to 4193280 MiB can take advantage of Host Caching. Host caching is not supported for disk sizes larger than 4193280 MiB. For example, a P50 premium disk provisioned at 4193280 GiB can take advantage of Host caching while a P50 disk provisioned at 4194304 MiB cannot. Moving from a smaller disk size to a larger disk size, greater than 4193280 MiB, will cause the disk to lose the disk caching ability.


Create FlexibleServer Resource

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

Constructor syntax

new FlexibleServer(name: string, args: FlexibleServerArgs, opts?: CustomResourceOptions);
@overload
def FlexibleServer(resource_name: str,
                   args: FlexibleServerArgs,
                   opts: Optional[ResourceOptions] = None)

@overload
def FlexibleServer(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   resource_group_name: Optional[str] = None,
                   location: Optional[str] = None,
                   authentication: Optional[FlexibleServerAuthenticationArgs] = None,
                   name: Optional[str] = None,
                   point_in_time_restore_time_in_utc: Optional[str] = None,
                   backup_retention_days: Optional[int] = None,
                   create_mode: Optional[str] = None,
                   customer_managed_key: Optional[FlexibleServerCustomerManagedKeyArgs] = None,
                   delegated_subnet_id: Optional[str] = None,
                   geo_redundant_backup_enabled: Optional[bool] = None,
                   high_availability: Optional[FlexibleServerHighAvailabilityArgs] = None,
                   identity: Optional[FlexibleServerIdentityArgs] = None,
                   administrator_login: Optional[str] = None,
                   zone: Optional[str] = None,
                   administrator_password_wo_version: Optional[int] = None,
                   auto_grow_enabled: Optional[bool] = None,
                   private_dns_zone_id: Optional[str] = None,
                   public_network_access_enabled: Optional[bool] = None,
                   replication_role: Optional[str] = None,
                   administrator_password: Optional[str] = None,
                   sku_name: Optional[str] = None,
                   source_server_id: Optional[str] = None,
                   storage_mb: Optional[int] = None,
                   storage_tier: Optional[str] = None,
                   tags: Optional[Mapping[str, str]] = None,
                   version: Optional[str] = None,
                   maintenance_window: Optional[FlexibleServerMaintenanceWindowArgs] = None)
func NewFlexibleServer(ctx *Context, name string, args FlexibleServerArgs, opts ...ResourceOption) (*FlexibleServer, error)
public FlexibleServer(string name, FlexibleServerArgs args, CustomResourceOptions? opts = null)
public FlexibleServer(String name, FlexibleServerArgs args)
public FlexibleServer(String name, FlexibleServerArgs args, CustomResourceOptions options)
type: azure:postgresql:FlexibleServer
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. FlexibleServerArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. FlexibleServerArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. FlexibleServerArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. FlexibleServerArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. FlexibleServerArgs
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 azureFlexibleServerResource = new Azure.PostgreSql.FlexibleServer("azureFlexibleServerResource", new()
{
    ResourceGroupName = "string",
    Location = "string",
    Authentication = new Azure.PostgreSql.Inputs.FlexibleServerAuthenticationArgs
    {
        ActiveDirectoryAuthEnabled = false,
        PasswordAuthEnabled = false,
        TenantId = "string",
    },
    Name = "string",
    PointInTimeRestoreTimeInUtc = "string",
    BackupRetentionDays = 0,
    CreateMode = "string",
    CustomerManagedKey = new Azure.PostgreSql.Inputs.FlexibleServerCustomerManagedKeyArgs
    {
        KeyVaultKeyId = "string",
        GeoBackupKeyVaultKeyId = "string",
        GeoBackupUserAssignedIdentityId = "string",
        PrimaryUserAssignedIdentityId = "string",
    },
    DelegatedSubnetId = "string",
    GeoRedundantBackupEnabled = false,
    HighAvailability = new Azure.PostgreSql.Inputs.FlexibleServerHighAvailabilityArgs
    {
        Mode = "string",
        StandbyAvailabilityZone = "string",
    },
    Identity = new Azure.PostgreSql.Inputs.FlexibleServerIdentityArgs
    {
        IdentityIds = new[]
        {
            "string",
        },
        Type = "string",
    },
    AdministratorLogin = "string",
    Zone = "string",
    AdministratorPasswordWoVersion = 0,
    AutoGrowEnabled = false,
    PrivateDnsZoneId = "string",
    PublicNetworkAccessEnabled = false,
    ReplicationRole = "string",
    AdministratorPassword = "string",
    SkuName = "string",
    SourceServerId = "string",
    StorageMb = 0,
    StorageTier = "string",
    Tags = 
    {
        { "string", "string" },
    },
    Version = "string",
    MaintenanceWindow = new Azure.PostgreSql.Inputs.FlexibleServerMaintenanceWindowArgs
    {
        DayOfWeek = 0,
        StartHour = 0,
        StartMinute = 0,
    },
});
Copy
example, err := postgresql.NewFlexibleServer(ctx, "azureFlexibleServerResource", &postgresql.FlexibleServerArgs{
	ResourceGroupName: pulumi.String("string"),
	Location:          pulumi.String("string"),
	Authentication: &postgresql.FlexibleServerAuthenticationArgs{
		ActiveDirectoryAuthEnabled: pulumi.Bool(false),
		PasswordAuthEnabled:        pulumi.Bool(false),
		TenantId:                   pulumi.String("string"),
	},
	Name:                        pulumi.String("string"),
	PointInTimeRestoreTimeInUtc: pulumi.String("string"),
	BackupRetentionDays:         pulumi.Int(0),
	CreateMode:                  pulumi.String("string"),
	CustomerManagedKey: &postgresql.FlexibleServerCustomerManagedKeyArgs{
		KeyVaultKeyId:                   pulumi.String("string"),
		GeoBackupKeyVaultKeyId:          pulumi.String("string"),
		GeoBackupUserAssignedIdentityId: pulumi.String("string"),
		PrimaryUserAssignedIdentityId:   pulumi.String("string"),
	},
	DelegatedSubnetId:         pulumi.String("string"),
	GeoRedundantBackupEnabled: pulumi.Bool(false),
	HighAvailability: &postgresql.FlexibleServerHighAvailabilityArgs{
		Mode:                    pulumi.String("string"),
		StandbyAvailabilityZone: pulumi.String("string"),
	},
	Identity: &postgresql.FlexibleServerIdentityArgs{
		IdentityIds: pulumi.StringArray{
			pulumi.String("string"),
		},
		Type: pulumi.String("string"),
	},
	AdministratorLogin:             pulumi.String("string"),
	Zone:                           pulumi.String("string"),
	AdministratorPasswordWoVersion: pulumi.Int(0),
	AutoGrowEnabled:                pulumi.Bool(false),
	PrivateDnsZoneId:               pulumi.String("string"),
	PublicNetworkAccessEnabled:     pulumi.Bool(false),
	ReplicationRole:                pulumi.String("string"),
	AdministratorPassword:          pulumi.String("string"),
	SkuName:                        pulumi.String("string"),
	SourceServerId:                 pulumi.String("string"),
	StorageMb:                      pulumi.Int(0),
	StorageTier:                    pulumi.String("string"),
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Version: pulumi.String("string"),
	MaintenanceWindow: &postgresql.FlexibleServerMaintenanceWindowArgs{
		DayOfWeek:   pulumi.Int(0),
		StartHour:   pulumi.Int(0),
		StartMinute: pulumi.Int(0),
	},
})
Copy
var azureFlexibleServerResource = new FlexibleServer("azureFlexibleServerResource", FlexibleServerArgs.builder()
    .resourceGroupName("string")
    .location("string")
    .authentication(FlexibleServerAuthenticationArgs.builder()
        .activeDirectoryAuthEnabled(false)
        .passwordAuthEnabled(false)
        .tenantId("string")
        .build())
    .name("string")
    .pointInTimeRestoreTimeInUtc("string")
    .backupRetentionDays(0)
    .createMode("string")
    .customerManagedKey(FlexibleServerCustomerManagedKeyArgs.builder()
        .keyVaultKeyId("string")
        .geoBackupKeyVaultKeyId("string")
        .geoBackupUserAssignedIdentityId("string")
        .primaryUserAssignedIdentityId("string")
        .build())
    .delegatedSubnetId("string")
    .geoRedundantBackupEnabled(false)
    .highAvailability(FlexibleServerHighAvailabilityArgs.builder()
        .mode("string")
        .standbyAvailabilityZone("string")
        .build())
    .identity(FlexibleServerIdentityArgs.builder()
        .identityIds("string")
        .type("string")
        .build())
    .administratorLogin("string")
    .zone("string")
    .administratorPasswordWoVersion(0)
    .autoGrowEnabled(false)
    .privateDnsZoneId("string")
    .publicNetworkAccessEnabled(false)
    .replicationRole("string")
    .administratorPassword("string")
    .skuName("string")
    .sourceServerId("string")
    .storageMb(0)
    .storageTier("string")
    .tags(Map.of("string", "string"))
    .version("string")
    .maintenanceWindow(FlexibleServerMaintenanceWindowArgs.builder()
        .dayOfWeek(0)
        .startHour(0)
        .startMinute(0)
        .build())
    .build());
Copy
azure_flexible_server_resource = azure.postgresql.FlexibleServer("azureFlexibleServerResource",
    resource_group_name="string",
    location="string",
    authentication={
        "active_directory_auth_enabled": False,
        "password_auth_enabled": False,
        "tenant_id": "string",
    },
    name="string",
    point_in_time_restore_time_in_utc="string",
    backup_retention_days=0,
    create_mode="string",
    customer_managed_key={
        "key_vault_key_id": "string",
        "geo_backup_key_vault_key_id": "string",
        "geo_backup_user_assigned_identity_id": "string",
        "primary_user_assigned_identity_id": "string",
    },
    delegated_subnet_id="string",
    geo_redundant_backup_enabled=False,
    high_availability={
        "mode": "string",
        "standby_availability_zone": "string",
    },
    identity={
        "identity_ids": ["string"],
        "type": "string",
    },
    administrator_login="string",
    zone="string",
    administrator_password_wo_version=0,
    auto_grow_enabled=False,
    private_dns_zone_id="string",
    public_network_access_enabled=False,
    replication_role="string",
    administrator_password="string",
    sku_name="string",
    source_server_id="string",
    storage_mb=0,
    storage_tier="string",
    tags={
        "string": "string",
    },
    version="string",
    maintenance_window={
        "day_of_week": 0,
        "start_hour": 0,
        "start_minute": 0,
    })
Copy
const azureFlexibleServerResource = new azure.postgresql.FlexibleServer("azureFlexibleServerResource", {
    resourceGroupName: "string",
    location: "string",
    authentication: {
        activeDirectoryAuthEnabled: false,
        passwordAuthEnabled: false,
        tenantId: "string",
    },
    name: "string",
    pointInTimeRestoreTimeInUtc: "string",
    backupRetentionDays: 0,
    createMode: "string",
    customerManagedKey: {
        keyVaultKeyId: "string",
        geoBackupKeyVaultKeyId: "string",
        geoBackupUserAssignedIdentityId: "string",
        primaryUserAssignedIdentityId: "string",
    },
    delegatedSubnetId: "string",
    geoRedundantBackupEnabled: false,
    highAvailability: {
        mode: "string",
        standbyAvailabilityZone: "string",
    },
    identity: {
        identityIds: ["string"],
        type: "string",
    },
    administratorLogin: "string",
    zone: "string",
    administratorPasswordWoVersion: 0,
    autoGrowEnabled: false,
    privateDnsZoneId: "string",
    publicNetworkAccessEnabled: false,
    replicationRole: "string",
    administratorPassword: "string",
    skuName: "string",
    sourceServerId: "string",
    storageMb: 0,
    storageTier: "string",
    tags: {
        string: "string",
    },
    version: "string",
    maintenanceWindow: {
        dayOfWeek: 0,
        startHour: 0,
        startMinute: 0,
    },
});
Copy
type: azure:postgresql:FlexibleServer
properties:
    administratorLogin: string
    administratorPassword: string
    administratorPasswordWoVersion: 0
    authentication:
        activeDirectoryAuthEnabled: false
        passwordAuthEnabled: false
        tenantId: string
    autoGrowEnabled: false
    backupRetentionDays: 0
    createMode: string
    customerManagedKey:
        geoBackupKeyVaultKeyId: string
        geoBackupUserAssignedIdentityId: string
        keyVaultKeyId: string
        primaryUserAssignedIdentityId: string
    delegatedSubnetId: string
    geoRedundantBackupEnabled: false
    highAvailability:
        mode: string
        standbyAvailabilityZone: string
    identity:
        identityIds:
            - string
        type: string
    location: string
    maintenanceWindow:
        dayOfWeek: 0
        startHour: 0
        startMinute: 0
    name: string
    pointInTimeRestoreTimeInUtc: string
    privateDnsZoneId: string
    publicNetworkAccessEnabled: false
    replicationRole: string
    resourceGroupName: string
    skuName: string
    sourceServerId: string
    storageMb: 0
    storageTier: string
    tags:
        string: string
    version: string
    zone: string
Copy

FlexibleServer 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 FlexibleServer resource accepts the following input properties:

ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
AdministratorLogin string

The Administrator login for the PostgreSQL Flexible Server. Required when create_mode is Default and authentication.password_auth_enabled is true.

Note: Once administrator_login is specified, changing this forces a new PostgreSQL Flexible Server to be created.

Note: To create with administrator_login specified or update with it first specified , authentication.password_auth_enabled must be set to true.

AdministratorPassword string
The Password associated with the administrator_login for the PostgreSQL Flexible Server.
AdministratorPasswordWoVersion int
An integer value used to trigger an update for administrator_password_wo. This property should be incremented when updating administrator_password_wo.
Authentication FlexibleServerAuthentication
An authentication block as defined below.
AutoGrowEnabled bool
Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to false.
BackupRetentionDays int
The backup retention days for the PostgreSQL Flexible Server. Possible values are between 7 and 35 days.
CreateMode string

The creation mode which can be used to restore or replicate existing servers. Possible values are Default, GeoRestore, PointInTimeRestore, Replica and Update. Changing this forces a new PostgreSQL Flexible Server to be created.

Note: create_mode cannot be changed once it's set since it's a parameter at creation.

Note: While creating the resource, create_mode cannot be set to Update.

CustomerManagedKey Changes to this property will trigger replacement. FlexibleServerCustomerManagedKey
A customer_managed_key block as defined below. Changing this forces a new resource to be created.
DelegatedSubnetId Changes to this property will trigger replacement. string
The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.
GeoRedundantBackupEnabled Changes to this property will trigger replacement. bool
Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to false. Changing this forces a new PostgreSQL Flexible Server to be created.
HighAvailability FlexibleServerHighAvailability
A high_availability block as defined below.
Identity FlexibleServerIdentity
An identity block as defined below.
Location Changes to this property will trigger replacement. string
The Azure Region where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
MaintenanceWindow FlexibleServerMaintenanceWindow
A maintenance_window block as defined below.
Name Changes to this property will trigger replacement. string

The name which should be used for this PostgreSQL Flexible Server. Changing this forces a new PostgreSQL Flexible Server to be created.

Note This must be unique across the entire Azure service, not just within the resource group.

PointInTimeRestoreTimeInUtc Changes to this property will trigger replacement. string
The point in time to restore from source_server_id when create_mode is GeoRestore, PointInTimeRestore. Changing this forces a new PostgreSQL Flexible Server to be created.
PrivateDnsZoneId string

The ID of the private DNS zone to create the PostgreSQL Flexible Server.

Note: There will be a breaking change from upstream service at 15th July 2021, the private_dns_zone_id will be required when setting a delegated_subnet_id. For existing flexible servers who don't want to be recreated, you need to provide the private_dns_zone_id to the service team to manually migrate to the specified private DNS zone. The azure.privatedns.Zone should end with suffix .postgres.database.azure.com.

PublicNetworkAccessEnabled bool

Specifies whether this PostgreSQL Flexible Server is publicly accessible. Defaults to true.

Note: public_network_access_enabled must be set to false when delegated_subnet_id and private_dns_zone_id have a value.

ReplicationRole string

The replication role for the PostgreSQL Flexible Server. Possible value is None.

Note: The replication_role cannot be set while creating and only can be updated to None for replica server.

SkuName string
The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the tier + name pattern (e.g. B_Standard_B1ms, GP_Standard_D2s_v3, MO_Standard_E4s_v3).
SourceServerId Changes to this property will trigger replacement. string
The resource ID of the source PostgreSQL Flexible Server to be restored. Required when create_mode is GeoRestore, PointInTimeRestore or Replica. Changing this forces a new PostgreSQL Flexible Server to be created.
StorageMb int

The max storage allowed for the PostgreSQL Flexible Server. Possible values are 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4193280, 4194304, 8388608, 16777216 and 33553408.

Note: If the storage_mb field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to 32768. If the storage_mb field has been defined and then removed, the storage_mb field will retain the previously defined value.

Note: The storage_mb can only be scaled up, for example, you can scale the storage_mb from 32768 to 65536, but not from 65536 to 32768.

StorageTier string

The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are P4, P6, P10, P15,P20, P30,P40, P50,P60, P70 or P80. Default value is dependant on the storage_mb value. Please see the storage_tier defaults based on storage_mb table below.

Note: The storage_tier can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.

Tags Dictionary<string, string>
A mapping of tags which should be assigned to the PostgreSQL Flexible Server.
Version string

The version of PostgreSQL Flexible Server to use. Possible values are 11,12, 13, 14, 15 and 16. Required when create_mode is Default.

Note: When create_mode is Update, upgrading version wouldn't force a new resource to be created.

Zone string
ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
AdministratorLogin string

The Administrator login for the PostgreSQL Flexible Server. Required when create_mode is Default and authentication.password_auth_enabled is true.

Note: Once administrator_login is specified, changing this forces a new PostgreSQL Flexible Server to be created.

Note: To create with administrator_login specified or update with it first specified , authentication.password_auth_enabled must be set to true.

AdministratorPassword string
The Password associated with the administrator_login for the PostgreSQL Flexible Server.
AdministratorPasswordWoVersion int
An integer value used to trigger an update for administrator_password_wo. This property should be incremented when updating administrator_password_wo.
Authentication FlexibleServerAuthenticationArgs
An authentication block as defined below.
AutoGrowEnabled bool
Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to false.
BackupRetentionDays int
The backup retention days for the PostgreSQL Flexible Server. Possible values are between 7 and 35 days.
CreateMode string

The creation mode which can be used to restore or replicate existing servers. Possible values are Default, GeoRestore, PointInTimeRestore, Replica and Update. Changing this forces a new PostgreSQL Flexible Server to be created.

Note: create_mode cannot be changed once it's set since it's a parameter at creation.

Note: While creating the resource, create_mode cannot be set to Update.

CustomerManagedKey Changes to this property will trigger replacement. FlexibleServerCustomerManagedKeyArgs
A customer_managed_key block as defined below. Changing this forces a new resource to be created.
DelegatedSubnetId Changes to this property will trigger replacement. string
The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.
GeoRedundantBackupEnabled Changes to this property will trigger replacement. bool
Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to false. Changing this forces a new PostgreSQL Flexible Server to be created.
HighAvailability FlexibleServerHighAvailabilityArgs
A high_availability block as defined below.
Identity FlexibleServerIdentityArgs
An identity block as defined below.
Location Changes to this property will trigger replacement. string
The Azure Region where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
MaintenanceWindow FlexibleServerMaintenanceWindowArgs
A maintenance_window block as defined below.
Name Changes to this property will trigger replacement. string

The name which should be used for this PostgreSQL Flexible Server. Changing this forces a new PostgreSQL Flexible Server to be created.

Note This must be unique across the entire Azure service, not just within the resource group.

PointInTimeRestoreTimeInUtc Changes to this property will trigger replacement. string
The point in time to restore from source_server_id when create_mode is GeoRestore, PointInTimeRestore. Changing this forces a new PostgreSQL Flexible Server to be created.
PrivateDnsZoneId string

The ID of the private DNS zone to create the PostgreSQL Flexible Server.

Note: There will be a breaking change from upstream service at 15th July 2021, the private_dns_zone_id will be required when setting a delegated_subnet_id. For existing flexible servers who don't want to be recreated, you need to provide the private_dns_zone_id to the service team to manually migrate to the specified private DNS zone. The azure.privatedns.Zone should end with suffix .postgres.database.azure.com.

PublicNetworkAccessEnabled bool

Specifies whether this PostgreSQL Flexible Server is publicly accessible. Defaults to true.

Note: public_network_access_enabled must be set to false when delegated_subnet_id and private_dns_zone_id have a value.

ReplicationRole string

The replication role for the PostgreSQL Flexible Server. Possible value is None.

Note: The replication_role cannot be set while creating and only can be updated to None for replica server.

SkuName string
The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the tier + name pattern (e.g. B_Standard_B1ms, GP_Standard_D2s_v3, MO_Standard_E4s_v3).
SourceServerId Changes to this property will trigger replacement. string
The resource ID of the source PostgreSQL Flexible Server to be restored. Required when create_mode is GeoRestore, PointInTimeRestore or Replica. Changing this forces a new PostgreSQL Flexible Server to be created.
StorageMb int

The max storage allowed for the PostgreSQL Flexible Server. Possible values are 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4193280, 4194304, 8388608, 16777216 and 33553408.

Note: If the storage_mb field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to 32768. If the storage_mb field has been defined and then removed, the storage_mb field will retain the previously defined value.

Note: The storage_mb can only be scaled up, for example, you can scale the storage_mb from 32768 to 65536, but not from 65536 to 32768.

StorageTier string

The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are P4, P6, P10, P15,P20, P30,P40, P50,P60, P70 or P80. Default value is dependant on the storage_mb value. Please see the storage_tier defaults based on storage_mb table below.

Note: The storage_tier can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.

Tags map[string]string
A mapping of tags which should be assigned to the PostgreSQL Flexible Server.
Version string

The version of PostgreSQL Flexible Server to use. Possible values are 11,12, 13, 14, 15 and 16. Required when create_mode is Default.

Note: When create_mode is Update, upgrading version wouldn't force a new resource to be created.

Zone string
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
administratorLogin String

The Administrator login for the PostgreSQL Flexible Server. Required when create_mode is Default and authentication.password_auth_enabled is true.

Note: Once administrator_login is specified, changing this forces a new PostgreSQL Flexible Server to be created.

Note: To create with administrator_login specified or update with it first specified , authentication.password_auth_enabled must be set to true.

administratorPassword String
The Password associated with the administrator_login for the PostgreSQL Flexible Server.
administratorPasswordWoVersion Integer
An integer value used to trigger an update for administrator_password_wo. This property should be incremented when updating administrator_password_wo.
authentication FlexibleServerAuthentication
An authentication block as defined below.
autoGrowEnabled Boolean
Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to false.
backupRetentionDays Integer
The backup retention days for the PostgreSQL Flexible Server. Possible values are between 7 and 35 days.
createMode String

The creation mode which can be used to restore or replicate existing servers. Possible values are Default, GeoRestore, PointInTimeRestore, Replica and Update. Changing this forces a new PostgreSQL Flexible Server to be created.

Note: create_mode cannot be changed once it's set since it's a parameter at creation.

Note: While creating the resource, create_mode cannot be set to Update.

customerManagedKey Changes to this property will trigger replacement. FlexibleServerCustomerManagedKey
A customer_managed_key block as defined below. Changing this forces a new resource to be created.
delegatedSubnetId Changes to this property will trigger replacement. String
The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.
geoRedundantBackupEnabled Changes to this property will trigger replacement. Boolean
Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to false. Changing this forces a new PostgreSQL Flexible Server to be created.
highAvailability FlexibleServerHighAvailability
A high_availability block as defined below.
identity FlexibleServerIdentity
An identity block as defined below.
location Changes to this property will trigger replacement. String
The Azure Region where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
maintenanceWindow FlexibleServerMaintenanceWindow
A maintenance_window block as defined below.
name Changes to this property will trigger replacement. String

The name which should be used for this PostgreSQL Flexible Server. Changing this forces a new PostgreSQL Flexible Server to be created.

Note This must be unique across the entire Azure service, not just within the resource group.

pointInTimeRestoreTimeInUtc Changes to this property will trigger replacement. String
The point in time to restore from source_server_id when create_mode is GeoRestore, PointInTimeRestore. Changing this forces a new PostgreSQL Flexible Server to be created.
privateDnsZoneId String

The ID of the private DNS zone to create the PostgreSQL Flexible Server.

Note: There will be a breaking change from upstream service at 15th July 2021, the private_dns_zone_id will be required when setting a delegated_subnet_id. For existing flexible servers who don't want to be recreated, you need to provide the private_dns_zone_id to the service team to manually migrate to the specified private DNS zone. The azure.privatedns.Zone should end with suffix .postgres.database.azure.com.

publicNetworkAccessEnabled Boolean

Specifies whether this PostgreSQL Flexible Server is publicly accessible. Defaults to true.

Note: public_network_access_enabled must be set to false when delegated_subnet_id and private_dns_zone_id have a value.

replicationRole String

The replication role for the PostgreSQL Flexible Server. Possible value is None.

Note: The replication_role cannot be set while creating and only can be updated to None for replica server.

skuName String
The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the tier + name pattern (e.g. B_Standard_B1ms, GP_Standard_D2s_v3, MO_Standard_E4s_v3).
sourceServerId Changes to this property will trigger replacement. String
The resource ID of the source PostgreSQL Flexible Server to be restored. Required when create_mode is GeoRestore, PointInTimeRestore or Replica. Changing this forces a new PostgreSQL Flexible Server to be created.
storageMb Integer

The max storage allowed for the PostgreSQL Flexible Server. Possible values are 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4193280, 4194304, 8388608, 16777216 and 33553408.

Note: If the storage_mb field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to 32768. If the storage_mb field has been defined and then removed, the storage_mb field will retain the previously defined value.

Note: The storage_mb can only be scaled up, for example, you can scale the storage_mb from 32768 to 65536, but not from 65536 to 32768.

storageTier String

The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are P4, P6, P10, P15,P20, P30,P40, P50,P60, P70 or P80. Default value is dependant on the storage_mb value. Please see the storage_tier defaults based on storage_mb table below.

Note: The storage_tier can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.

tags Map<String,String>
A mapping of tags which should be assigned to the PostgreSQL Flexible Server.
version String

The version of PostgreSQL Flexible Server to use. Possible values are 11,12, 13, 14, 15 and 16. Required when create_mode is Default.

Note: When create_mode is Update, upgrading version wouldn't force a new resource to be created.

zone String
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
administratorLogin string

The Administrator login for the PostgreSQL Flexible Server. Required when create_mode is Default and authentication.password_auth_enabled is true.

Note: Once administrator_login is specified, changing this forces a new PostgreSQL Flexible Server to be created.

Note: To create with administrator_login specified or update with it first specified , authentication.password_auth_enabled must be set to true.

administratorPassword string
The Password associated with the administrator_login for the PostgreSQL Flexible Server.
administratorPasswordWoVersion number
An integer value used to trigger an update for administrator_password_wo. This property should be incremented when updating administrator_password_wo.
authentication FlexibleServerAuthentication
An authentication block as defined below.
autoGrowEnabled boolean
Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to false.
backupRetentionDays number
The backup retention days for the PostgreSQL Flexible Server. Possible values are between 7 and 35 days.
createMode string

The creation mode which can be used to restore or replicate existing servers. Possible values are Default, GeoRestore, PointInTimeRestore, Replica and Update. Changing this forces a new PostgreSQL Flexible Server to be created.

Note: create_mode cannot be changed once it's set since it's a parameter at creation.

Note: While creating the resource, create_mode cannot be set to Update.

customerManagedKey Changes to this property will trigger replacement. FlexibleServerCustomerManagedKey
A customer_managed_key block as defined below. Changing this forces a new resource to be created.
delegatedSubnetId Changes to this property will trigger replacement. string
The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.
geoRedundantBackupEnabled Changes to this property will trigger replacement. boolean
Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to false. Changing this forces a new PostgreSQL Flexible Server to be created.
highAvailability FlexibleServerHighAvailability
A high_availability block as defined below.
identity FlexibleServerIdentity
An identity block as defined below.
location Changes to this property will trigger replacement. string
The Azure Region where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
maintenanceWindow FlexibleServerMaintenanceWindow
A maintenance_window block as defined below.
name Changes to this property will trigger replacement. string

The name which should be used for this PostgreSQL Flexible Server. Changing this forces a new PostgreSQL Flexible Server to be created.

Note This must be unique across the entire Azure service, not just within the resource group.

pointInTimeRestoreTimeInUtc Changes to this property will trigger replacement. string
The point in time to restore from source_server_id when create_mode is GeoRestore, PointInTimeRestore. Changing this forces a new PostgreSQL Flexible Server to be created.
privateDnsZoneId string

The ID of the private DNS zone to create the PostgreSQL Flexible Server.

Note: There will be a breaking change from upstream service at 15th July 2021, the private_dns_zone_id will be required when setting a delegated_subnet_id. For existing flexible servers who don't want to be recreated, you need to provide the private_dns_zone_id to the service team to manually migrate to the specified private DNS zone. The azure.privatedns.Zone should end with suffix .postgres.database.azure.com.

publicNetworkAccessEnabled boolean

Specifies whether this PostgreSQL Flexible Server is publicly accessible. Defaults to true.

Note: public_network_access_enabled must be set to false when delegated_subnet_id and private_dns_zone_id have a value.

replicationRole string

The replication role for the PostgreSQL Flexible Server. Possible value is None.

Note: The replication_role cannot be set while creating and only can be updated to None for replica server.

skuName string
The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the tier + name pattern (e.g. B_Standard_B1ms, GP_Standard_D2s_v3, MO_Standard_E4s_v3).
sourceServerId Changes to this property will trigger replacement. string
The resource ID of the source PostgreSQL Flexible Server to be restored. Required when create_mode is GeoRestore, PointInTimeRestore or Replica. Changing this forces a new PostgreSQL Flexible Server to be created.
storageMb number

The max storage allowed for the PostgreSQL Flexible Server. Possible values are 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4193280, 4194304, 8388608, 16777216 and 33553408.

Note: If the storage_mb field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to 32768. If the storage_mb field has been defined and then removed, the storage_mb field will retain the previously defined value.

Note: The storage_mb can only be scaled up, for example, you can scale the storage_mb from 32768 to 65536, but not from 65536 to 32768.

storageTier string

The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are P4, P6, P10, P15,P20, P30,P40, P50,P60, P70 or P80. Default value is dependant on the storage_mb value. Please see the storage_tier defaults based on storage_mb table below.

Note: The storage_tier can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.

tags {[key: string]: string}
A mapping of tags which should be assigned to the PostgreSQL Flexible Server.
version string

The version of PostgreSQL Flexible Server to use. Possible values are 11,12, 13, 14, 15 and 16. Required when create_mode is Default.

Note: When create_mode is Update, upgrading version wouldn't force a new resource to be created.

zone string
resource_group_name
This property is required.
Changes to this property will trigger replacement.
str
The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
administrator_login str

The Administrator login for the PostgreSQL Flexible Server. Required when create_mode is Default and authentication.password_auth_enabled is true.

Note: Once administrator_login is specified, changing this forces a new PostgreSQL Flexible Server to be created.

Note: To create with administrator_login specified or update with it first specified , authentication.password_auth_enabled must be set to true.

administrator_password str
The Password associated with the administrator_login for the PostgreSQL Flexible Server.
administrator_password_wo_version int
An integer value used to trigger an update for administrator_password_wo. This property should be incremented when updating administrator_password_wo.
authentication FlexibleServerAuthenticationArgs
An authentication block as defined below.
auto_grow_enabled bool
Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to false.
backup_retention_days int
The backup retention days for the PostgreSQL Flexible Server. Possible values are between 7 and 35 days.
create_mode str

The creation mode which can be used to restore or replicate existing servers. Possible values are Default, GeoRestore, PointInTimeRestore, Replica and Update. Changing this forces a new PostgreSQL Flexible Server to be created.

Note: create_mode cannot be changed once it's set since it's a parameter at creation.

Note: While creating the resource, create_mode cannot be set to Update.

customer_managed_key Changes to this property will trigger replacement. FlexibleServerCustomerManagedKeyArgs
A customer_managed_key block as defined below. Changing this forces a new resource to be created.
delegated_subnet_id Changes to this property will trigger replacement. str
The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.
geo_redundant_backup_enabled Changes to this property will trigger replacement. bool
Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to false. Changing this forces a new PostgreSQL Flexible Server to be created.
high_availability FlexibleServerHighAvailabilityArgs
A high_availability block as defined below.
identity FlexibleServerIdentityArgs
An identity block as defined below.
location Changes to this property will trigger replacement. str
The Azure Region where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
maintenance_window FlexibleServerMaintenanceWindowArgs
A maintenance_window block as defined below.
name Changes to this property will trigger replacement. str

The name which should be used for this PostgreSQL Flexible Server. Changing this forces a new PostgreSQL Flexible Server to be created.

Note This must be unique across the entire Azure service, not just within the resource group.

point_in_time_restore_time_in_utc Changes to this property will trigger replacement. str
The point in time to restore from source_server_id when create_mode is GeoRestore, PointInTimeRestore. Changing this forces a new PostgreSQL Flexible Server to be created.
private_dns_zone_id str

The ID of the private DNS zone to create the PostgreSQL Flexible Server.

Note: There will be a breaking change from upstream service at 15th July 2021, the private_dns_zone_id will be required when setting a delegated_subnet_id. For existing flexible servers who don't want to be recreated, you need to provide the private_dns_zone_id to the service team to manually migrate to the specified private DNS zone. The azure.privatedns.Zone should end with suffix .postgres.database.azure.com.

public_network_access_enabled bool

Specifies whether this PostgreSQL Flexible Server is publicly accessible. Defaults to true.

Note: public_network_access_enabled must be set to false when delegated_subnet_id and private_dns_zone_id have a value.

replication_role str

The replication role for the PostgreSQL Flexible Server. Possible value is None.

Note: The replication_role cannot be set while creating and only can be updated to None for replica server.

sku_name str
The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the tier + name pattern (e.g. B_Standard_B1ms, GP_Standard_D2s_v3, MO_Standard_E4s_v3).
source_server_id Changes to this property will trigger replacement. str
The resource ID of the source PostgreSQL Flexible Server to be restored. Required when create_mode is GeoRestore, PointInTimeRestore or Replica. Changing this forces a new PostgreSQL Flexible Server to be created.
storage_mb int

The max storage allowed for the PostgreSQL Flexible Server. Possible values are 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4193280, 4194304, 8388608, 16777216 and 33553408.

Note: If the storage_mb field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to 32768. If the storage_mb field has been defined and then removed, the storage_mb field will retain the previously defined value.

Note: The storage_mb can only be scaled up, for example, you can scale the storage_mb from 32768 to 65536, but not from 65536 to 32768.

storage_tier str

The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are P4, P6, P10, P15,P20, P30,P40, P50,P60, P70 or P80. Default value is dependant on the storage_mb value. Please see the storage_tier defaults based on storage_mb table below.

Note: The storage_tier can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.

tags Mapping[str, str]
A mapping of tags which should be assigned to the PostgreSQL Flexible Server.
version str

The version of PostgreSQL Flexible Server to use. Possible values are 11,12, 13, 14, 15 and 16. Required when create_mode is Default.

Note: When create_mode is Update, upgrading version wouldn't force a new resource to be created.

zone str
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
administratorLogin String

The Administrator login for the PostgreSQL Flexible Server. Required when create_mode is Default and authentication.password_auth_enabled is true.

Note: Once administrator_login is specified, changing this forces a new PostgreSQL Flexible Server to be created.

Note: To create with administrator_login specified or update with it first specified , authentication.password_auth_enabled must be set to true.

administratorPassword String
The Password associated with the administrator_login for the PostgreSQL Flexible Server.
administratorPasswordWoVersion Number
An integer value used to trigger an update for administrator_password_wo. This property should be incremented when updating administrator_password_wo.
authentication Property Map
An authentication block as defined below.
autoGrowEnabled Boolean
Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to false.
backupRetentionDays Number
The backup retention days for the PostgreSQL Flexible Server. Possible values are between 7 and 35 days.
createMode String

The creation mode which can be used to restore or replicate existing servers. Possible values are Default, GeoRestore, PointInTimeRestore, Replica and Update. Changing this forces a new PostgreSQL Flexible Server to be created.

Note: create_mode cannot be changed once it's set since it's a parameter at creation.

Note: While creating the resource, create_mode cannot be set to Update.

customerManagedKey Changes to this property will trigger replacement. Property Map
A customer_managed_key block as defined below. Changing this forces a new resource to be created.
delegatedSubnetId Changes to this property will trigger replacement. String
The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.
geoRedundantBackupEnabled Changes to this property will trigger replacement. Boolean
Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to false. Changing this forces a new PostgreSQL Flexible Server to be created.
highAvailability Property Map
A high_availability block as defined below.
identity Property Map
An identity block as defined below.
location Changes to this property will trigger replacement. String
The Azure Region where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
maintenanceWindow Property Map
A maintenance_window block as defined below.
name Changes to this property will trigger replacement. String

The name which should be used for this PostgreSQL Flexible Server. Changing this forces a new PostgreSQL Flexible Server to be created.

Note This must be unique across the entire Azure service, not just within the resource group.

pointInTimeRestoreTimeInUtc Changes to this property will trigger replacement. String
The point in time to restore from source_server_id when create_mode is GeoRestore, PointInTimeRestore. Changing this forces a new PostgreSQL Flexible Server to be created.
privateDnsZoneId String

The ID of the private DNS zone to create the PostgreSQL Flexible Server.

Note: There will be a breaking change from upstream service at 15th July 2021, the private_dns_zone_id will be required when setting a delegated_subnet_id. For existing flexible servers who don't want to be recreated, you need to provide the private_dns_zone_id to the service team to manually migrate to the specified private DNS zone. The azure.privatedns.Zone should end with suffix .postgres.database.azure.com.

publicNetworkAccessEnabled Boolean

Specifies whether this PostgreSQL Flexible Server is publicly accessible. Defaults to true.

Note: public_network_access_enabled must be set to false when delegated_subnet_id and private_dns_zone_id have a value.

replicationRole String

The replication role for the PostgreSQL Flexible Server. Possible value is None.

Note: The replication_role cannot be set while creating and only can be updated to None for replica server.

skuName String
The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the tier + name pattern (e.g. B_Standard_B1ms, GP_Standard_D2s_v3, MO_Standard_E4s_v3).
sourceServerId Changes to this property will trigger replacement. String
The resource ID of the source PostgreSQL Flexible Server to be restored. Required when create_mode is GeoRestore, PointInTimeRestore or Replica. Changing this forces a new PostgreSQL Flexible Server to be created.
storageMb Number

The max storage allowed for the PostgreSQL Flexible Server. Possible values are 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4193280, 4194304, 8388608, 16777216 and 33553408.

Note: If the storage_mb field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to 32768. If the storage_mb field has been defined and then removed, the storage_mb field will retain the previously defined value.

Note: The storage_mb can only be scaled up, for example, you can scale the storage_mb from 32768 to 65536, but not from 65536 to 32768.

storageTier String

The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are P4, P6, P10, P15,P20, P30,P40, P50,P60, P70 or P80. Default value is dependant on the storage_mb value. Please see the storage_tier defaults based on storage_mb table below.

Note: The storage_tier can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.

tags Map<String>
A mapping of tags which should be assigned to the PostgreSQL Flexible Server.
version String

The version of PostgreSQL Flexible Server to use. Possible values are 11,12, 13, 14, 15 and 16. Required when create_mode is Default.

Note: When create_mode is Update, upgrading version wouldn't force a new resource to be created.

zone String

Outputs

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

Fqdn string
The FQDN of the PostgreSQL Flexible Server.
Id string
The provider-assigned unique ID for this managed resource.
Fqdn string
The FQDN of the PostgreSQL Flexible Server.
Id string
The provider-assigned unique ID for this managed resource.
fqdn String
The FQDN of the PostgreSQL Flexible Server.
id String
The provider-assigned unique ID for this managed resource.
fqdn string
The FQDN of the PostgreSQL Flexible Server.
id string
The provider-assigned unique ID for this managed resource.
fqdn str
The FQDN of the PostgreSQL Flexible Server.
id str
The provider-assigned unique ID for this managed resource.
fqdn String
The FQDN of the PostgreSQL Flexible Server.
id String
The provider-assigned unique ID for this managed resource.

Look up Existing FlexibleServer Resource

Get an existing FlexibleServer 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?: FlexibleServerState, opts?: CustomResourceOptions): FlexibleServer
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        administrator_login: Optional[str] = None,
        administrator_password: Optional[str] = None,
        administrator_password_wo_version: Optional[int] = None,
        authentication: Optional[FlexibleServerAuthenticationArgs] = None,
        auto_grow_enabled: Optional[bool] = None,
        backup_retention_days: Optional[int] = None,
        create_mode: Optional[str] = None,
        customer_managed_key: Optional[FlexibleServerCustomerManagedKeyArgs] = None,
        delegated_subnet_id: Optional[str] = None,
        fqdn: Optional[str] = None,
        geo_redundant_backup_enabled: Optional[bool] = None,
        high_availability: Optional[FlexibleServerHighAvailabilityArgs] = None,
        identity: Optional[FlexibleServerIdentityArgs] = None,
        location: Optional[str] = None,
        maintenance_window: Optional[FlexibleServerMaintenanceWindowArgs] = None,
        name: Optional[str] = None,
        point_in_time_restore_time_in_utc: Optional[str] = None,
        private_dns_zone_id: Optional[str] = None,
        public_network_access_enabled: Optional[bool] = None,
        replication_role: Optional[str] = None,
        resource_group_name: Optional[str] = None,
        sku_name: Optional[str] = None,
        source_server_id: Optional[str] = None,
        storage_mb: Optional[int] = None,
        storage_tier: Optional[str] = None,
        tags: Optional[Mapping[str, str]] = None,
        version: Optional[str] = None,
        zone: Optional[str] = None) -> FlexibleServer
func GetFlexibleServer(ctx *Context, name string, id IDInput, state *FlexibleServerState, opts ...ResourceOption) (*FlexibleServer, error)
public static FlexibleServer Get(string name, Input<string> id, FlexibleServerState? state, CustomResourceOptions? opts = null)
public static FlexibleServer get(String name, Output<String> id, FlexibleServerState state, CustomResourceOptions options)
resources:  _:    type: azure:postgresql:FlexibleServer    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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:
AdministratorLogin string

The Administrator login for the PostgreSQL Flexible Server. Required when create_mode is Default and authentication.password_auth_enabled is true.

Note: Once administrator_login is specified, changing this forces a new PostgreSQL Flexible Server to be created.

Note: To create with administrator_login specified or update with it first specified , authentication.password_auth_enabled must be set to true.

AdministratorPassword string
The Password associated with the administrator_login for the PostgreSQL Flexible Server.
AdministratorPasswordWoVersion int
An integer value used to trigger an update for administrator_password_wo. This property should be incremented when updating administrator_password_wo.
Authentication FlexibleServerAuthentication
An authentication block as defined below.
AutoGrowEnabled bool
Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to false.
BackupRetentionDays int
The backup retention days for the PostgreSQL Flexible Server. Possible values are between 7 and 35 days.
CreateMode string

The creation mode which can be used to restore or replicate existing servers. Possible values are Default, GeoRestore, PointInTimeRestore, Replica and Update. Changing this forces a new PostgreSQL Flexible Server to be created.

Note: create_mode cannot be changed once it's set since it's a parameter at creation.

Note: While creating the resource, create_mode cannot be set to Update.

CustomerManagedKey Changes to this property will trigger replacement. FlexibleServerCustomerManagedKey
A customer_managed_key block as defined below. Changing this forces a new resource to be created.
DelegatedSubnetId Changes to this property will trigger replacement. string
The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.
Fqdn string
The FQDN of the PostgreSQL Flexible Server.
GeoRedundantBackupEnabled Changes to this property will trigger replacement. bool
Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to false. Changing this forces a new PostgreSQL Flexible Server to be created.
HighAvailability FlexibleServerHighAvailability
A high_availability block as defined below.
Identity FlexibleServerIdentity
An identity block as defined below.
Location Changes to this property will trigger replacement. string
The Azure Region where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
MaintenanceWindow FlexibleServerMaintenanceWindow
A maintenance_window block as defined below.
Name Changes to this property will trigger replacement. string

The name which should be used for this PostgreSQL Flexible Server. Changing this forces a new PostgreSQL Flexible Server to be created.

Note This must be unique across the entire Azure service, not just within the resource group.

PointInTimeRestoreTimeInUtc Changes to this property will trigger replacement. string
The point in time to restore from source_server_id when create_mode is GeoRestore, PointInTimeRestore. Changing this forces a new PostgreSQL Flexible Server to be created.
PrivateDnsZoneId string

The ID of the private DNS zone to create the PostgreSQL Flexible Server.

Note: There will be a breaking change from upstream service at 15th July 2021, the private_dns_zone_id will be required when setting a delegated_subnet_id. For existing flexible servers who don't want to be recreated, you need to provide the private_dns_zone_id to the service team to manually migrate to the specified private DNS zone. The azure.privatedns.Zone should end with suffix .postgres.database.azure.com.

PublicNetworkAccessEnabled bool

Specifies whether this PostgreSQL Flexible Server is publicly accessible. Defaults to true.

Note: public_network_access_enabled must be set to false when delegated_subnet_id and private_dns_zone_id have a value.

ReplicationRole string

The replication role for the PostgreSQL Flexible Server. Possible value is None.

Note: The replication_role cannot be set while creating and only can be updated to None for replica server.

ResourceGroupName Changes to this property will trigger replacement. string
The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
SkuName string
The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the tier + name pattern (e.g. B_Standard_B1ms, GP_Standard_D2s_v3, MO_Standard_E4s_v3).
SourceServerId Changes to this property will trigger replacement. string
The resource ID of the source PostgreSQL Flexible Server to be restored. Required when create_mode is GeoRestore, PointInTimeRestore or Replica. Changing this forces a new PostgreSQL Flexible Server to be created.
StorageMb int

The max storage allowed for the PostgreSQL Flexible Server. Possible values are 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4193280, 4194304, 8388608, 16777216 and 33553408.

Note: If the storage_mb field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to 32768. If the storage_mb field has been defined and then removed, the storage_mb field will retain the previously defined value.

Note: The storage_mb can only be scaled up, for example, you can scale the storage_mb from 32768 to 65536, but not from 65536 to 32768.

StorageTier string

The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are P4, P6, P10, P15,P20, P30,P40, P50,P60, P70 or P80. Default value is dependant on the storage_mb value. Please see the storage_tier defaults based on storage_mb table below.

Note: The storage_tier can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.

Tags Dictionary<string, string>
A mapping of tags which should be assigned to the PostgreSQL Flexible Server.
Version string

The version of PostgreSQL Flexible Server to use. Possible values are 11,12, 13, 14, 15 and 16. Required when create_mode is Default.

Note: When create_mode is Update, upgrading version wouldn't force a new resource to be created.

Zone string
AdministratorLogin string

The Administrator login for the PostgreSQL Flexible Server. Required when create_mode is Default and authentication.password_auth_enabled is true.

Note: Once administrator_login is specified, changing this forces a new PostgreSQL Flexible Server to be created.

Note: To create with administrator_login specified or update with it first specified , authentication.password_auth_enabled must be set to true.

AdministratorPassword string
The Password associated with the administrator_login for the PostgreSQL Flexible Server.
AdministratorPasswordWoVersion int
An integer value used to trigger an update for administrator_password_wo. This property should be incremented when updating administrator_password_wo.
Authentication FlexibleServerAuthenticationArgs
An authentication block as defined below.
AutoGrowEnabled bool
Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to false.
BackupRetentionDays int
The backup retention days for the PostgreSQL Flexible Server. Possible values are between 7 and 35 days.
CreateMode string

The creation mode which can be used to restore or replicate existing servers. Possible values are Default, GeoRestore, PointInTimeRestore, Replica and Update. Changing this forces a new PostgreSQL Flexible Server to be created.

Note: create_mode cannot be changed once it's set since it's a parameter at creation.

Note: While creating the resource, create_mode cannot be set to Update.

CustomerManagedKey Changes to this property will trigger replacement. FlexibleServerCustomerManagedKeyArgs
A customer_managed_key block as defined below. Changing this forces a new resource to be created.
DelegatedSubnetId Changes to this property will trigger replacement. string
The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.
Fqdn string
The FQDN of the PostgreSQL Flexible Server.
GeoRedundantBackupEnabled Changes to this property will trigger replacement. bool
Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to false. Changing this forces a new PostgreSQL Flexible Server to be created.
HighAvailability FlexibleServerHighAvailabilityArgs
A high_availability block as defined below.
Identity FlexibleServerIdentityArgs
An identity block as defined below.
Location Changes to this property will trigger replacement. string
The Azure Region where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
MaintenanceWindow FlexibleServerMaintenanceWindowArgs
A maintenance_window block as defined below.
Name Changes to this property will trigger replacement. string

The name which should be used for this PostgreSQL Flexible Server. Changing this forces a new PostgreSQL Flexible Server to be created.

Note This must be unique across the entire Azure service, not just within the resource group.

PointInTimeRestoreTimeInUtc Changes to this property will trigger replacement. string
The point in time to restore from source_server_id when create_mode is GeoRestore, PointInTimeRestore. Changing this forces a new PostgreSQL Flexible Server to be created.
PrivateDnsZoneId string

The ID of the private DNS zone to create the PostgreSQL Flexible Server.

Note: There will be a breaking change from upstream service at 15th July 2021, the private_dns_zone_id will be required when setting a delegated_subnet_id. For existing flexible servers who don't want to be recreated, you need to provide the private_dns_zone_id to the service team to manually migrate to the specified private DNS zone. The azure.privatedns.Zone should end with suffix .postgres.database.azure.com.

PublicNetworkAccessEnabled bool

Specifies whether this PostgreSQL Flexible Server is publicly accessible. Defaults to true.

Note: public_network_access_enabled must be set to false when delegated_subnet_id and private_dns_zone_id have a value.

ReplicationRole string

The replication role for the PostgreSQL Flexible Server. Possible value is None.

Note: The replication_role cannot be set while creating and only can be updated to None for replica server.

ResourceGroupName Changes to this property will trigger replacement. string
The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
SkuName string
The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the tier + name pattern (e.g. B_Standard_B1ms, GP_Standard_D2s_v3, MO_Standard_E4s_v3).
SourceServerId Changes to this property will trigger replacement. string
The resource ID of the source PostgreSQL Flexible Server to be restored. Required when create_mode is GeoRestore, PointInTimeRestore or Replica. Changing this forces a new PostgreSQL Flexible Server to be created.
StorageMb int

The max storage allowed for the PostgreSQL Flexible Server. Possible values are 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4193280, 4194304, 8388608, 16777216 and 33553408.

Note: If the storage_mb field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to 32768. If the storage_mb field has been defined and then removed, the storage_mb field will retain the previously defined value.

Note: The storage_mb can only be scaled up, for example, you can scale the storage_mb from 32768 to 65536, but not from 65536 to 32768.

StorageTier string

The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are P4, P6, P10, P15,P20, P30,P40, P50,P60, P70 or P80. Default value is dependant on the storage_mb value. Please see the storage_tier defaults based on storage_mb table below.

Note: The storage_tier can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.

Tags map[string]string
A mapping of tags which should be assigned to the PostgreSQL Flexible Server.
Version string

The version of PostgreSQL Flexible Server to use. Possible values are 11,12, 13, 14, 15 and 16. Required when create_mode is Default.

Note: When create_mode is Update, upgrading version wouldn't force a new resource to be created.

Zone string
administratorLogin String

The Administrator login for the PostgreSQL Flexible Server. Required when create_mode is Default and authentication.password_auth_enabled is true.

Note: Once administrator_login is specified, changing this forces a new PostgreSQL Flexible Server to be created.

Note: To create with administrator_login specified or update with it first specified , authentication.password_auth_enabled must be set to true.

administratorPassword String
The Password associated with the administrator_login for the PostgreSQL Flexible Server.
administratorPasswordWoVersion Integer
An integer value used to trigger an update for administrator_password_wo. This property should be incremented when updating administrator_password_wo.
authentication FlexibleServerAuthentication
An authentication block as defined below.
autoGrowEnabled Boolean
Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to false.
backupRetentionDays Integer
The backup retention days for the PostgreSQL Flexible Server. Possible values are between 7 and 35 days.
createMode String

The creation mode which can be used to restore or replicate existing servers. Possible values are Default, GeoRestore, PointInTimeRestore, Replica and Update. Changing this forces a new PostgreSQL Flexible Server to be created.

Note: create_mode cannot be changed once it's set since it's a parameter at creation.

Note: While creating the resource, create_mode cannot be set to Update.

customerManagedKey Changes to this property will trigger replacement. FlexibleServerCustomerManagedKey
A customer_managed_key block as defined below. Changing this forces a new resource to be created.
delegatedSubnetId Changes to this property will trigger replacement. String
The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.
fqdn String
The FQDN of the PostgreSQL Flexible Server.
geoRedundantBackupEnabled Changes to this property will trigger replacement. Boolean
Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to false. Changing this forces a new PostgreSQL Flexible Server to be created.
highAvailability FlexibleServerHighAvailability
A high_availability block as defined below.
identity FlexibleServerIdentity
An identity block as defined below.
location Changes to this property will trigger replacement. String
The Azure Region where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
maintenanceWindow FlexibleServerMaintenanceWindow
A maintenance_window block as defined below.
name Changes to this property will trigger replacement. String

The name which should be used for this PostgreSQL Flexible Server. Changing this forces a new PostgreSQL Flexible Server to be created.

Note This must be unique across the entire Azure service, not just within the resource group.

pointInTimeRestoreTimeInUtc Changes to this property will trigger replacement. String
The point in time to restore from source_server_id when create_mode is GeoRestore, PointInTimeRestore. Changing this forces a new PostgreSQL Flexible Server to be created.
privateDnsZoneId String

The ID of the private DNS zone to create the PostgreSQL Flexible Server.

Note: There will be a breaking change from upstream service at 15th July 2021, the private_dns_zone_id will be required when setting a delegated_subnet_id. For existing flexible servers who don't want to be recreated, you need to provide the private_dns_zone_id to the service team to manually migrate to the specified private DNS zone. The azure.privatedns.Zone should end with suffix .postgres.database.azure.com.

publicNetworkAccessEnabled Boolean

Specifies whether this PostgreSQL Flexible Server is publicly accessible. Defaults to true.

Note: public_network_access_enabled must be set to false when delegated_subnet_id and private_dns_zone_id have a value.

replicationRole String

The replication role for the PostgreSQL Flexible Server. Possible value is None.

Note: The replication_role cannot be set while creating and only can be updated to None for replica server.

resourceGroupName Changes to this property will trigger replacement. String
The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
skuName String
The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the tier + name pattern (e.g. B_Standard_B1ms, GP_Standard_D2s_v3, MO_Standard_E4s_v3).
sourceServerId Changes to this property will trigger replacement. String
The resource ID of the source PostgreSQL Flexible Server to be restored. Required when create_mode is GeoRestore, PointInTimeRestore or Replica. Changing this forces a new PostgreSQL Flexible Server to be created.
storageMb Integer

The max storage allowed for the PostgreSQL Flexible Server. Possible values are 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4193280, 4194304, 8388608, 16777216 and 33553408.

Note: If the storage_mb field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to 32768. If the storage_mb field has been defined and then removed, the storage_mb field will retain the previously defined value.

Note: The storage_mb can only be scaled up, for example, you can scale the storage_mb from 32768 to 65536, but not from 65536 to 32768.

storageTier String

The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are P4, P6, P10, P15,P20, P30,P40, P50,P60, P70 or P80. Default value is dependant on the storage_mb value. Please see the storage_tier defaults based on storage_mb table below.

Note: The storage_tier can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.

tags Map<String,String>
A mapping of tags which should be assigned to the PostgreSQL Flexible Server.
version String

The version of PostgreSQL Flexible Server to use. Possible values are 11,12, 13, 14, 15 and 16. Required when create_mode is Default.

Note: When create_mode is Update, upgrading version wouldn't force a new resource to be created.

zone String
administratorLogin string

The Administrator login for the PostgreSQL Flexible Server. Required when create_mode is Default and authentication.password_auth_enabled is true.

Note: Once administrator_login is specified, changing this forces a new PostgreSQL Flexible Server to be created.

Note: To create with administrator_login specified or update with it first specified , authentication.password_auth_enabled must be set to true.

administratorPassword string
The Password associated with the administrator_login for the PostgreSQL Flexible Server.
administratorPasswordWoVersion number
An integer value used to trigger an update for administrator_password_wo. This property should be incremented when updating administrator_password_wo.
authentication FlexibleServerAuthentication
An authentication block as defined below.
autoGrowEnabled boolean
Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to false.
backupRetentionDays number
The backup retention days for the PostgreSQL Flexible Server. Possible values are between 7 and 35 days.
createMode string

The creation mode which can be used to restore or replicate existing servers. Possible values are Default, GeoRestore, PointInTimeRestore, Replica and Update. Changing this forces a new PostgreSQL Flexible Server to be created.

Note: create_mode cannot be changed once it's set since it's a parameter at creation.

Note: While creating the resource, create_mode cannot be set to Update.

customerManagedKey Changes to this property will trigger replacement. FlexibleServerCustomerManagedKey
A customer_managed_key block as defined below. Changing this forces a new resource to be created.
delegatedSubnetId Changes to this property will trigger replacement. string
The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.
fqdn string
The FQDN of the PostgreSQL Flexible Server.
geoRedundantBackupEnabled Changes to this property will trigger replacement. boolean
Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to false. Changing this forces a new PostgreSQL Flexible Server to be created.
highAvailability FlexibleServerHighAvailability
A high_availability block as defined below.
identity FlexibleServerIdentity
An identity block as defined below.
location Changes to this property will trigger replacement. string
The Azure Region where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
maintenanceWindow FlexibleServerMaintenanceWindow
A maintenance_window block as defined below.
name Changes to this property will trigger replacement. string

The name which should be used for this PostgreSQL Flexible Server. Changing this forces a new PostgreSQL Flexible Server to be created.

Note This must be unique across the entire Azure service, not just within the resource group.

pointInTimeRestoreTimeInUtc Changes to this property will trigger replacement. string
The point in time to restore from source_server_id when create_mode is GeoRestore, PointInTimeRestore. Changing this forces a new PostgreSQL Flexible Server to be created.
privateDnsZoneId string

The ID of the private DNS zone to create the PostgreSQL Flexible Server.

Note: There will be a breaking change from upstream service at 15th July 2021, the private_dns_zone_id will be required when setting a delegated_subnet_id. For existing flexible servers who don't want to be recreated, you need to provide the private_dns_zone_id to the service team to manually migrate to the specified private DNS zone. The azure.privatedns.Zone should end with suffix .postgres.database.azure.com.

publicNetworkAccessEnabled boolean

Specifies whether this PostgreSQL Flexible Server is publicly accessible. Defaults to true.

Note: public_network_access_enabled must be set to false when delegated_subnet_id and private_dns_zone_id have a value.

replicationRole string

The replication role for the PostgreSQL Flexible Server. Possible value is None.

Note: The replication_role cannot be set while creating and only can be updated to None for replica server.

resourceGroupName Changes to this property will trigger replacement. string
The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
skuName string
The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the tier + name pattern (e.g. B_Standard_B1ms, GP_Standard_D2s_v3, MO_Standard_E4s_v3).
sourceServerId Changes to this property will trigger replacement. string
The resource ID of the source PostgreSQL Flexible Server to be restored. Required when create_mode is GeoRestore, PointInTimeRestore or Replica. Changing this forces a new PostgreSQL Flexible Server to be created.
storageMb number

The max storage allowed for the PostgreSQL Flexible Server. Possible values are 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4193280, 4194304, 8388608, 16777216 and 33553408.

Note: If the storage_mb field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to 32768. If the storage_mb field has been defined and then removed, the storage_mb field will retain the previously defined value.

Note: The storage_mb can only be scaled up, for example, you can scale the storage_mb from 32768 to 65536, but not from 65536 to 32768.

storageTier string

The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are P4, P6, P10, P15,P20, P30,P40, P50,P60, P70 or P80. Default value is dependant on the storage_mb value. Please see the storage_tier defaults based on storage_mb table below.

Note: The storage_tier can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.

tags {[key: string]: string}
A mapping of tags which should be assigned to the PostgreSQL Flexible Server.
version string

The version of PostgreSQL Flexible Server to use. Possible values are 11,12, 13, 14, 15 and 16. Required when create_mode is Default.

Note: When create_mode is Update, upgrading version wouldn't force a new resource to be created.

zone string
administrator_login str

The Administrator login for the PostgreSQL Flexible Server. Required when create_mode is Default and authentication.password_auth_enabled is true.

Note: Once administrator_login is specified, changing this forces a new PostgreSQL Flexible Server to be created.

Note: To create with administrator_login specified or update with it first specified , authentication.password_auth_enabled must be set to true.

administrator_password str
The Password associated with the administrator_login for the PostgreSQL Flexible Server.
administrator_password_wo_version int
An integer value used to trigger an update for administrator_password_wo. This property should be incremented when updating administrator_password_wo.
authentication FlexibleServerAuthenticationArgs
An authentication block as defined below.
auto_grow_enabled bool
Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to false.
backup_retention_days int
The backup retention days for the PostgreSQL Flexible Server. Possible values are between 7 and 35 days.
create_mode str

The creation mode which can be used to restore or replicate existing servers. Possible values are Default, GeoRestore, PointInTimeRestore, Replica and Update. Changing this forces a new PostgreSQL Flexible Server to be created.

Note: create_mode cannot be changed once it's set since it's a parameter at creation.

Note: While creating the resource, create_mode cannot be set to Update.

customer_managed_key Changes to this property will trigger replacement. FlexibleServerCustomerManagedKeyArgs
A customer_managed_key block as defined below. Changing this forces a new resource to be created.
delegated_subnet_id Changes to this property will trigger replacement. str
The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.
fqdn str
The FQDN of the PostgreSQL Flexible Server.
geo_redundant_backup_enabled Changes to this property will trigger replacement. bool
Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to false. Changing this forces a new PostgreSQL Flexible Server to be created.
high_availability FlexibleServerHighAvailabilityArgs
A high_availability block as defined below.
identity FlexibleServerIdentityArgs
An identity block as defined below.
location Changes to this property will trigger replacement. str
The Azure Region where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
maintenance_window FlexibleServerMaintenanceWindowArgs
A maintenance_window block as defined below.
name Changes to this property will trigger replacement. str

The name which should be used for this PostgreSQL Flexible Server. Changing this forces a new PostgreSQL Flexible Server to be created.

Note This must be unique across the entire Azure service, not just within the resource group.

point_in_time_restore_time_in_utc Changes to this property will trigger replacement. str
The point in time to restore from source_server_id when create_mode is GeoRestore, PointInTimeRestore. Changing this forces a new PostgreSQL Flexible Server to be created.
private_dns_zone_id str

The ID of the private DNS zone to create the PostgreSQL Flexible Server.

Note: There will be a breaking change from upstream service at 15th July 2021, the private_dns_zone_id will be required when setting a delegated_subnet_id. For existing flexible servers who don't want to be recreated, you need to provide the private_dns_zone_id to the service team to manually migrate to the specified private DNS zone. The azure.privatedns.Zone should end with suffix .postgres.database.azure.com.

public_network_access_enabled bool

Specifies whether this PostgreSQL Flexible Server is publicly accessible. Defaults to true.

Note: public_network_access_enabled must be set to false when delegated_subnet_id and private_dns_zone_id have a value.

replication_role str

The replication role for the PostgreSQL Flexible Server. Possible value is None.

Note: The replication_role cannot be set while creating and only can be updated to None for replica server.

resource_group_name Changes to this property will trigger replacement. str
The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
sku_name str
The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the tier + name pattern (e.g. B_Standard_B1ms, GP_Standard_D2s_v3, MO_Standard_E4s_v3).
source_server_id Changes to this property will trigger replacement. str
The resource ID of the source PostgreSQL Flexible Server to be restored. Required when create_mode is GeoRestore, PointInTimeRestore or Replica. Changing this forces a new PostgreSQL Flexible Server to be created.
storage_mb int

The max storage allowed for the PostgreSQL Flexible Server. Possible values are 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4193280, 4194304, 8388608, 16777216 and 33553408.

Note: If the storage_mb field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to 32768. If the storage_mb field has been defined and then removed, the storage_mb field will retain the previously defined value.

Note: The storage_mb can only be scaled up, for example, you can scale the storage_mb from 32768 to 65536, but not from 65536 to 32768.

storage_tier str

The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are P4, P6, P10, P15,P20, P30,P40, P50,P60, P70 or P80. Default value is dependant on the storage_mb value. Please see the storage_tier defaults based on storage_mb table below.

Note: The storage_tier can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.

tags Mapping[str, str]
A mapping of tags which should be assigned to the PostgreSQL Flexible Server.
version str

The version of PostgreSQL Flexible Server to use. Possible values are 11,12, 13, 14, 15 and 16. Required when create_mode is Default.

Note: When create_mode is Update, upgrading version wouldn't force a new resource to be created.

zone str
administratorLogin String

The Administrator login for the PostgreSQL Flexible Server. Required when create_mode is Default and authentication.password_auth_enabled is true.

Note: Once administrator_login is specified, changing this forces a new PostgreSQL Flexible Server to be created.

Note: To create with administrator_login specified or update with it first specified , authentication.password_auth_enabled must be set to true.

administratorPassword String
The Password associated with the administrator_login for the PostgreSQL Flexible Server.
administratorPasswordWoVersion Number
An integer value used to trigger an update for administrator_password_wo. This property should be incremented when updating administrator_password_wo.
authentication Property Map
An authentication block as defined below.
autoGrowEnabled Boolean
Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to false.
backupRetentionDays Number
The backup retention days for the PostgreSQL Flexible Server. Possible values are between 7 and 35 days.
createMode String

The creation mode which can be used to restore or replicate existing servers. Possible values are Default, GeoRestore, PointInTimeRestore, Replica and Update. Changing this forces a new PostgreSQL Flexible Server to be created.

Note: create_mode cannot be changed once it's set since it's a parameter at creation.

Note: While creating the resource, create_mode cannot be set to Update.

customerManagedKey Changes to this property will trigger replacement. Property Map
A customer_managed_key block as defined below. Changing this forces a new resource to be created.
delegatedSubnetId Changes to this property will trigger replacement. String
The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.
fqdn String
The FQDN of the PostgreSQL Flexible Server.
geoRedundantBackupEnabled Changes to this property will trigger replacement. Boolean
Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to false. Changing this forces a new PostgreSQL Flexible Server to be created.
highAvailability Property Map
A high_availability block as defined below.
identity Property Map
An identity block as defined below.
location Changes to this property will trigger replacement. String
The Azure Region where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
maintenanceWindow Property Map
A maintenance_window block as defined below.
name Changes to this property will trigger replacement. String

The name which should be used for this PostgreSQL Flexible Server. Changing this forces a new PostgreSQL Flexible Server to be created.

Note This must be unique across the entire Azure service, not just within the resource group.

pointInTimeRestoreTimeInUtc Changes to this property will trigger replacement. String
The point in time to restore from source_server_id when create_mode is GeoRestore, PointInTimeRestore. Changing this forces a new PostgreSQL Flexible Server to be created.
privateDnsZoneId String

The ID of the private DNS zone to create the PostgreSQL Flexible Server.

Note: There will be a breaking change from upstream service at 15th July 2021, the private_dns_zone_id will be required when setting a delegated_subnet_id. For existing flexible servers who don't want to be recreated, you need to provide the private_dns_zone_id to the service team to manually migrate to the specified private DNS zone. The azure.privatedns.Zone should end with suffix .postgres.database.azure.com.

publicNetworkAccessEnabled Boolean

Specifies whether this PostgreSQL Flexible Server is publicly accessible. Defaults to true.

Note: public_network_access_enabled must be set to false when delegated_subnet_id and private_dns_zone_id have a value.

replicationRole String

The replication role for the PostgreSQL Flexible Server. Possible value is None.

Note: The replication_role cannot be set while creating and only can be updated to None for replica server.

resourceGroupName Changes to this property will trigger replacement. String
The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
skuName String
The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the tier + name pattern (e.g. B_Standard_B1ms, GP_Standard_D2s_v3, MO_Standard_E4s_v3).
sourceServerId Changes to this property will trigger replacement. String
The resource ID of the source PostgreSQL Flexible Server to be restored. Required when create_mode is GeoRestore, PointInTimeRestore or Replica. Changing this forces a new PostgreSQL Flexible Server to be created.
storageMb Number

The max storage allowed for the PostgreSQL Flexible Server. Possible values are 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4193280, 4194304, 8388608, 16777216 and 33553408.

Note: If the storage_mb field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to 32768. If the storage_mb field has been defined and then removed, the storage_mb field will retain the previously defined value.

Note: The storage_mb can only be scaled up, for example, you can scale the storage_mb from 32768 to 65536, but not from 65536 to 32768.

storageTier String

The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are P4, P6, P10, P15,P20, P30,P40, P50,P60, P70 or P80. Default value is dependant on the storage_mb value. Please see the storage_tier defaults based on storage_mb table below.

Note: The storage_tier can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.

tags Map<String>
A mapping of tags which should be assigned to the PostgreSQL Flexible Server.
version String

The version of PostgreSQL Flexible Server to use. Possible values are 11,12, 13, 14, 15 and 16. Required when create_mode is Default.

Note: When create_mode is Update, upgrading version wouldn't force a new resource to be created.

zone String

Supporting Types

FlexibleServerAuthentication
, FlexibleServerAuthenticationArgs

ActiveDirectoryAuthEnabled bool
Whether or not Active Directory authentication is allowed to access the PostgreSQL Flexible Server. Defaults to false.
PasswordAuthEnabled bool
Whether or not password authentication is allowed to access the PostgreSQL Flexible Server. Defaults to true.
TenantId string

The Tenant ID of the Azure Active Directory which is used by the Active Directory authentication. active_directory_auth_enabled must be set to true.

Note: Setting active_directory_auth_enabled to true requires a Service Principal for the Postgres Flexible Server. For more details see this document.

Note: tenant_id is required when active_directory_auth_enabled is set to true. And it should not be specified when active_directory_auth_enabled is set to false

ActiveDirectoryAuthEnabled bool
Whether or not Active Directory authentication is allowed to access the PostgreSQL Flexible Server. Defaults to false.
PasswordAuthEnabled bool
Whether or not password authentication is allowed to access the PostgreSQL Flexible Server. Defaults to true.
TenantId string

The Tenant ID of the Azure Active Directory which is used by the Active Directory authentication. active_directory_auth_enabled must be set to true.

Note: Setting active_directory_auth_enabled to true requires a Service Principal for the Postgres Flexible Server. For more details see this document.

Note: tenant_id is required when active_directory_auth_enabled is set to true. And it should not be specified when active_directory_auth_enabled is set to false

activeDirectoryAuthEnabled Boolean
Whether or not Active Directory authentication is allowed to access the PostgreSQL Flexible Server. Defaults to false.
passwordAuthEnabled Boolean
Whether or not password authentication is allowed to access the PostgreSQL Flexible Server. Defaults to true.
tenantId String

The Tenant ID of the Azure Active Directory which is used by the Active Directory authentication. active_directory_auth_enabled must be set to true.

Note: Setting active_directory_auth_enabled to true requires a Service Principal for the Postgres Flexible Server. For more details see this document.

Note: tenant_id is required when active_directory_auth_enabled is set to true. And it should not be specified when active_directory_auth_enabled is set to false

activeDirectoryAuthEnabled boolean
Whether or not Active Directory authentication is allowed to access the PostgreSQL Flexible Server. Defaults to false.
passwordAuthEnabled boolean
Whether or not password authentication is allowed to access the PostgreSQL Flexible Server. Defaults to true.
tenantId string

The Tenant ID of the Azure Active Directory which is used by the Active Directory authentication. active_directory_auth_enabled must be set to true.

Note: Setting active_directory_auth_enabled to true requires a Service Principal for the Postgres Flexible Server. For more details see this document.

Note: tenant_id is required when active_directory_auth_enabled is set to true. And it should not be specified when active_directory_auth_enabled is set to false

active_directory_auth_enabled bool
Whether or not Active Directory authentication is allowed to access the PostgreSQL Flexible Server. Defaults to false.
password_auth_enabled bool
Whether or not password authentication is allowed to access the PostgreSQL Flexible Server. Defaults to true.
tenant_id str

The Tenant ID of the Azure Active Directory which is used by the Active Directory authentication. active_directory_auth_enabled must be set to true.

Note: Setting active_directory_auth_enabled to true requires a Service Principal for the Postgres Flexible Server. For more details see this document.

Note: tenant_id is required when active_directory_auth_enabled is set to true. And it should not be specified when active_directory_auth_enabled is set to false

activeDirectoryAuthEnabled Boolean
Whether or not Active Directory authentication is allowed to access the PostgreSQL Flexible Server. Defaults to false.
passwordAuthEnabled Boolean
Whether or not password authentication is allowed to access the PostgreSQL Flexible Server. Defaults to true.
tenantId String

The Tenant ID of the Azure Active Directory which is used by the Active Directory authentication. active_directory_auth_enabled must be set to true.

Note: Setting active_directory_auth_enabled to true requires a Service Principal for the Postgres Flexible Server. For more details see this document.

Note: tenant_id is required when active_directory_auth_enabled is set to true. And it should not be specified when active_directory_auth_enabled is set to false

FlexibleServerCustomerManagedKey
, FlexibleServerCustomerManagedKeyArgs

KeyVaultKeyId This property is required. string
The ID of the Key Vault Key.
GeoBackupKeyVaultKeyId string
The ID of the geo backup Key Vault Key. It can't cross region and need Customer Managed Key in same region as geo backup.
GeoBackupUserAssignedIdentityId string

The geo backup user managed identity id for a Customer Managed Key. Should be added with identity_ids. It can't cross region and need identity in same region as geo backup.

Note: primary_user_assigned_identity_id or geo_backup_user_assigned_identity_id is required when type is set to UserAssigned.

PrimaryUserAssignedIdentityId string
Specifies the primary user managed identity id for a Customer Managed Key. Should be added with identity_ids.
KeyVaultKeyId This property is required. string
The ID of the Key Vault Key.
GeoBackupKeyVaultKeyId string
The ID of the geo backup Key Vault Key. It can't cross region and need Customer Managed Key in same region as geo backup.
GeoBackupUserAssignedIdentityId string

The geo backup user managed identity id for a Customer Managed Key. Should be added with identity_ids. It can't cross region and need identity in same region as geo backup.

Note: primary_user_assigned_identity_id or geo_backup_user_assigned_identity_id is required when type is set to UserAssigned.

PrimaryUserAssignedIdentityId string
Specifies the primary user managed identity id for a Customer Managed Key. Should be added with identity_ids.
keyVaultKeyId This property is required. String
The ID of the Key Vault Key.
geoBackupKeyVaultKeyId String
The ID of the geo backup Key Vault Key. It can't cross region and need Customer Managed Key in same region as geo backup.
geoBackupUserAssignedIdentityId String

The geo backup user managed identity id for a Customer Managed Key. Should be added with identity_ids. It can't cross region and need identity in same region as geo backup.

Note: primary_user_assigned_identity_id or geo_backup_user_assigned_identity_id is required when type is set to UserAssigned.

primaryUserAssignedIdentityId String
Specifies the primary user managed identity id for a Customer Managed Key. Should be added with identity_ids.
keyVaultKeyId This property is required. string
The ID of the Key Vault Key.
geoBackupKeyVaultKeyId string
The ID of the geo backup Key Vault Key. It can't cross region and need Customer Managed Key in same region as geo backup.
geoBackupUserAssignedIdentityId string

The geo backup user managed identity id for a Customer Managed Key. Should be added with identity_ids. It can't cross region and need identity in same region as geo backup.

Note: primary_user_assigned_identity_id or geo_backup_user_assigned_identity_id is required when type is set to UserAssigned.

primaryUserAssignedIdentityId string
Specifies the primary user managed identity id for a Customer Managed Key. Should be added with identity_ids.
key_vault_key_id This property is required. str
The ID of the Key Vault Key.
geo_backup_key_vault_key_id str
The ID of the geo backup Key Vault Key. It can't cross region and need Customer Managed Key in same region as geo backup.
geo_backup_user_assigned_identity_id str

The geo backup user managed identity id for a Customer Managed Key. Should be added with identity_ids. It can't cross region and need identity in same region as geo backup.

Note: primary_user_assigned_identity_id or geo_backup_user_assigned_identity_id is required when type is set to UserAssigned.

primary_user_assigned_identity_id str
Specifies the primary user managed identity id for a Customer Managed Key. Should be added with identity_ids.
keyVaultKeyId This property is required. String
The ID of the Key Vault Key.
geoBackupKeyVaultKeyId String
The ID of the geo backup Key Vault Key. It can't cross region and need Customer Managed Key in same region as geo backup.
geoBackupUserAssignedIdentityId String

The geo backup user managed identity id for a Customer Managed Key. Should be added with identity_ids. It can't cross region and need identity in same region as geo backup.

Note: primary_user_assigned_identity_id or geo_backup_user_assigned_identity_id is required when type is set to UserAssigned.

primaryUserAssignedIdentityId String
Specifies the primary user managed identity id for a Customer Managed Key. Should be added with identity_ids.

FlexibleServerHighAvailability
, FlexibleServerHighAvailabilityArgs

Mode This property is required. string
The high availability mode for the PostgreSQL Flexible Server. Possible value are SameZone or ZoneRedundant.
StandbyAvailabilityZone string
Mode This property is required. string
The high availability mode for the PostgreSQL Flexible Server. Possible value are SameZone or ZoneRedundant.
StandbyAvailabilityZone string
mode This property is required. String
The high availability mode for the PostgreSQL Flexible Server. Possible value are SameZone or ZoneRedundant.
standbyAvailabilityZone String
mode This property is required. string
The high availability mode for the PostgreSQL Flexible Server. Possible value are SameZone or ZoneRedundant.
standbyAvailabilityZone string
mode This property is required. str
The high availability mode for the PostgreSQL Flexible Server. Possible value are SameZone or ZoneRedundant.
standby_availability_zone str
mode This property is required. String
The high availability mode for the PostgreSQL Flexible Server. Possible value are SameZone or ZoneRedundant.
standbyAvailabilityZone String

FlexibleServerIdentity
, FlexibleServerIdentityArgs

IdentityIds This property is required. List<string>
A list of User Assigned Managed Identity IDs to be assigned to this PostgreSQL Flexible Server. Required if used together with customer_managed_key block.
Type This property is required. string
Specifies the type of Managed Service Identity that should be configured on this PostgreSQL Flexible Server. The only possible value is UserAssigned.
IdentityIds This property is required. []string
A list of User Assigned Managed Identity IDs to be assigned to this PostgreSQL Flexible Server. Required if used together with customer_managed_key block.
Type This property is required. string
Specifies the type of Managed Service Identity that should be configured on this PostgreSQL Flexible Server. The only possible value is UserAssigned.
identityIds This property is required. List<String>
A list of User Assigned Managed Identity IDs to be assigned to this PostgreSQL Flexible Server. Required if used together with customer_managed_key block.
type This property is required. String
Specifies the type of Managed Service Identity that should be configured on this PostgreSQL Flexible Server. The only possible value is UserAssigned.
identityIds This property is required. string[]
A list of User Assigned Managed Identity IDs to be assigned to this PostgreSQL Flexible Server. Required if used together with customer_managed_key block.
type This property is required. string
Specifies the type of Managed Service Identity that should be configured on this PostgreSQL Flexible Server. The only possible value is UserAssigned.
identity_ids This property is required. Sequence[str]
A list of User Assigned Managed Identity IDs to be assigned to this PostgreSQL Flexible Server. Required if used together with customer_managed_key block.
type This property is required. str
Specifies the type of Managed Service Identity that should be configured on this PostgreSQL Flexible Server. The only possible value is UserAssigned.
identityIds This property is required. List<String>
A list of User Assigned Managed Identity IDs to be assigned to this PostgreSQL Flexible Server. Required if used together with customer_managed_key block.
type This property is required. String
Specifies the type of Managed Service Identity that should be configured on this PostgreSQL Flexible Server. The only possible value is UserAssigned.

FlexibleServerMaintenanceWindow
, FlexibleServerMaintenanceWindowArgs

DayOfWeek int
The day of week for maintenance window, where the week starts on a Sunday, i.e. Sunday = 0, Monday = 1. Defaults to 0.
StartHour int
The start hour for maintenance window. Defaults to 0.
StartMinute int

The start minute for maintenance window. Defaults to 0.

NOTE The specified maintenance_window is always defined in UTC time. When unspecified, the maintenance window falls back to the default system-managed.

DayOfWeek int
The day of week for maintenance window, where the week starts on a Sunday, i.e. Sunday = 0, Monday = 1. Defaults to 0.
StartHour int
The start hour for maintenance window. Defaults to 0.
StartMinute int

The start minute for maintenance window. Defaults to 0.

NOTE The specified maintenance_window is always defined in UTC time. When unspecified, the maintenance window falls back to the default system-managed.

dayOfWeek Integer
The day of week for maintenance window, where the week starts on a Sunday, i.e. Sunday = 0, Monday = 1. Defaults to 0.
startHour Integer
The start hour for maintenance window. Defaults to 0.
startMinute Integer

The start minute for maintenance window. Defaults to 0.

NOTE The specified maintenance_window is always defined in UTC time. When unspecified, the maintenance window falls back to the default system-managed.

dayOfWeek number
The day of week for maintenance window, where the week starts on a Sunday, i.e. Sunday = 0, Monday = 1. Defaults to 0.
startHour number
The start hour for maintenance window. Defaults to 0.
startMinute number

The start minute for maintenance window. Defaults to 0.

NOTE The specified maintenance_window is always defined in UTC time. When unspecified, the maintenance window falls back to the default system-managed.

day_of_week int
The day of week for maintenance window, where the week starts on a Sunday, i.e. Sunday = 0, Monday = 1. Defaults to 0.
start_hour int
The start hour for maintenance window. Defaults to 0.
start_minute int

The start minute for maintenance window. Defaults to 0.

NOTE The specified maintenance_window is always defined in UTC time. When unspecified, the maintenance window falls back to the default system-managed.

dayOfWeek Number
The day of week for maintenance window, where the week starts on a Sunday, i.e. Sunday = 0, Monday = 1. Defaults to 0.
startHour Number
The start hour for maintenance window. Defaults to 0.
startMinute Number

The start minute for maintenance window. Defaults to 0.

NOTE The specified maintenance_window is always defined in UTC time. When unspecified, the maintenance window falls back to the default system-managed.

Import

PostgreSQL Flexible Servers can be imported using the resource id, e.g.

$ pulumi import azure:postgresql/flexibleServer:FlexibleServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforPostgreSQL/flexibleServers/server1
Copy

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

Package Details

Repository
Azure Classic pulumi/pulumi-azure
License
Apache-2.0
Notes
This Pulumi package is based on the azurerm Terraform Provider.