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

We recommend using Azure Native.

Azure Classic v6.4.0 published on Tuesday, Oct 8, 2024 by Pulumi

azure.postgresql.FlexibleServer

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure Classic v6.4.0 published on Tuesday, Oct 8, 2024 by Pulumi

    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: "P30",
        skuName: "GP_Standard_D4s_v3",
    }, {
        dependsOn: [exampleZoneVirtualNetworkLink],
    });
    
    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="P30",
        sku_name="GP_Standard_D4s_v3",
        opts = pulumi.ResourceOptions(depends_on=[example_zone_virtual_network_link]))
    
    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("P30"),
    			SkuName:                    pulumi.String("GP_Standard_D4s_v3"),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			exampleZoneVirtualNetworkLink,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    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 = "P30",
            SkuName = "GP_Standard_D4s_v3",
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                exampleZoneVirtualNetworkLink,
            },
        });
    
    });
    
    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("P30")
                .skuName("GP_Standard_D4s_v3")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(exampleZoneVirtualNetworkLink)
                    .build());
    
        }
    }
    
    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: P30
          skuName: GP_Standard_D4s_v3
        options:
          dependson:
            - ${exampleZoneVirtualNetworkLink}
    

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

    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

    The FlexibleServer resource accepts the following input properties:

    ResourceGroupName 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. Required when create_mode is Default and authentication.password_auth_enabled is true.
    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 FlexibleServerCustomerManagedKey
    A customer_managed_key block as defined below. Changing this forces a new resource to be created.
    DelegatedSubnetId 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 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 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 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 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 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 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. Required when create_mode is Default and authentication.password_auth_enabled is true.
    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 FlexibleServerCustomerManagedKeyArgs
    A customer_managed_key block as defined below. Changing this forces a new resource to be created.
    DelegatedSubnetId 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 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 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 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 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 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 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. Required when create_mode is Default and authentication.password_auth_enabled is true.
    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 FlexibleServerCustomerManagedKey
    A customer_managed_key block as defined below. Changing this forces a new resource to be created.
    delegatedSubnetId 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 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 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 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 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 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 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. Required when create_mode is Default and authentication.password_auth_enabled is true.
    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 FlexibleServerCustomerManagedKey
    A customer_managed_key block as defined below. Changing this forces a new resource to be created.
    delegatedSubnetId 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 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 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 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 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 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 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. Required when create_mode is Default and authentication.password_auth_enabled is true.
    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 FlexibleServerCustomerManagedKeyArgs
    A customer_managed_key block as defined below. Changing this forces a new resource to be created.
    delegated_subnet_id 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 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 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 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 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 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 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. Required when create_mode is Default and authentication.password_auth_enabled is true.
    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 Property Map
    A customer_managed_key block as defined below. Changing this forces a new resource to be created.
    delegatedSubnetId 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 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 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 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 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 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,
            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)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    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. Required when create_mode is Default and authentication.password_auth_enabled is true.
    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 FlexibleServerCustomerManagedKey
    A customer_managed_key block as defined below. Changing this forces a new resource to be created.
    DelegatedSubnetId 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 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 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 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 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 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 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. Required when create_mode is Default and authentication.password_auth_enabled is true.
    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 FlexibleServerCustomerManagedKeyArgs
    A customer_managed_key block as defined below. Changing this forces a new resource to be created.
    DelegatedSubnetId 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 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 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 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 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 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 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. Required when create_mode is Default and authentication.password_auth_enabled is true.
    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 FlexibleServerCustomerManagedKey
    A customer_managed_key block as defined below. Changing this forces a new resource to be created.
    delegatedSubnetId 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 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 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 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 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 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 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. Required when create_mode is Default and authentication.password_auth_enabled is true.
    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 FlexibleServerCustomerManagedKey
    A customer_managed_key block as defined below. Changing this forces a new resource to be created.
    delegatedSubnetId 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 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 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 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 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 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 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. Required when create_mode is Default and authentication.password_auth_enabled is true.
    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 FlexibleServerCustomerManagedKeyArgs
    A customer_managed_key block as defined below. Changing this forces a new resource to be created.
    delegated_subnet_id 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 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 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 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 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 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 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. Required when create_mode is Default and authentication.password_auth_enabled is true.
    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 Property Map
    A customer_managed_key block as defined below. Changing this forces a new resource to be created.
    delegatedSubnetId 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 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 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 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 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 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 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 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 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 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 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 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 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 string
    The high availability mode for the PostgreSQL Flexible Server. Possible value are SameZone or ZoneRedundant.
    StandbyAvailabilityZone string
    Mode string
    The high availability mode for the PostgreSQL Flexible Server. Possible value are SameZone or ZoneRedundant.
    StandbyAvailabilityZone string
    mode String
    The high availability mode for the PostgreSQL Flexible Server. Possible value are SameZone or ZoneRedundant.
    standbyAvailabilityZone String
    mode string
    The high availability mode for the PostgreSQL Flexible Server. Possible value are SameZone or ZoneRedundant.
    standbyAvailabilityZone string
    mode str
    The high availability mode for the PostgreSQL Flexible Server. Possible value are SameZone or ZoneRedundant.
    standby_availability_zone str
    mode String
    The high availability mode for the PostgreSQL Flexible Server. Possible value are SameZone or ZoneRedundant.
    standbyAvailabilityZone String

    FlexibleServerIdentity, FlexibleServerIdentityArgs

    IdentityIds 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 string
    Specifies the type of Managed Service Identity that should be configured on this PostgreSQL Flexible Server. The only possible value is UserAssigned.
    IdentityIds []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 string
    Specifies the type of Managed Service Identity that should be configured on this PostgreSQL Flexible Server. The only possible value is UserAssigned.
    identityIds 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 String
    Specifies the type of Managed Service Identity that should be configured on this PostgreSQL Flexible Server. The only possible value is UserAssigned.
    identityIds 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 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 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 str
    Specifies the type of Managed Service Identity that should be configured on this PostgreSQL Flexible Server. The only possible value is UserAssigned.
    identityIds 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 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
    

    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.
    azure logo

    We recommend using Azure Native.

    Azure Classic v6.4.0 published on Tuesday, Oct 8, 2024 by Pulumi