Delen via


Microsoft.DBforPostgreSQL serverGroupsv2

Bicep-resourcedefinitie

Het resourcetype serverGroupsv2 kan worden geïmplementeerd met bewerkingen die zijn gericht op:

Zie logboek wijzigenvoor een lijst met gewijzigde eigenschappen in elke API-versie.

Resource-indeling

Als u een Microsoft.DBforPostgreSQL/serverGroupsv2-resource wilt maken, voegt u de volgende Bicep toe aan uw sjabloon.

resource symbolicname 'Microsoft.DBforPostgreSQL/serverGroupsv2@2023-03-02-preview' = {
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    administratorLoginPassword: 'string'
    authConfig: {
      activeDirectoryAuth: 'string'
      passwordAuth: 'string'
    }
    citusVersion: 'string'
    coordinatorEnablePublicIpAccess: bool
    coordinatorServerEdition: 'string'
    coordinatorStorageQuotaInMb: int
    coordinatorVCores: int
    databaseName: 'string'
    dataEncryption: {
      primaryKeyUri: 'string'
      primaryUserAssignedIdentityId: 'string'
      type: 'string'
    }
    enableGeoBackup: bool
    enableHa: bool
    enableShardsOnCoordinator: bool
    maintenanceWindow: {
      customWindow: 'string'
      dayOfWeek: int
      startHour: int
      startMinute: int
    }
    nodeCount: int
    nodeEnablePublicIpAccess: bool
    nodeServerEdition: 'string'
    nodeStorageQuotaInMb: int
    nodeVCores: int
    pointInTimeUTC: 'string'
    postgresqlVersion: 'string'
    preferredPrimaryZone: 'string'
    sourceLocation: 'string'
    sourceResourceId: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Eigenschapswaarden

Microsoft.DBforPostgreSQL/serverGroupsv2

Naam Beschrijving Waarde
identiteit Beschrijft de identiteit van het cluster. IdentityProperties-
plaats De geografische locatie waar de resource zich bevindt tekenreeks (vereist)
naam De resourcenaam snaar

Beperkingen:
Minimale lengte = 3
Maximale lengte = 40
Patroon = ^(?![0-9]+$)(?!-)[a-z0-9-]{3,40}(?<!-)$ (vereist)
Eigenschappen Eigenschappen van het cluster. ClusterProperties-
Tags Resourcetags Woordenlijst met tagnamen en -waarden. Zie Tags in sjablonen

Verificatieconfiguratie

Naam Beschrijving Waarde
activeDirectoryAuth 'uitgeschakeld'
'ingeschakeld'
wachtwoordAuth 'uitgeschakeld'
'ingeschakeld'

Eigenschappen van clusters

Naam Beschrijving Waarde
administratorLoginPassword Het wachtwoord van de beheerdersaanmelding. Vereist voor het maken. snaar

Beperkingen:
Gevoelige waarde. Doorgeven als een beveiligde parameter.
Verificatieconfiguratie Verificatieconfiguratie van een cluster. AuthConfig-
citusVersie De citus-extensieversie op alle clusterservers. snaar
coördinatorEnablePublicIpAccess Als openbare toegang is ingeschakeld voor coördinator. Bool
coördinatorServerEdition De editie van een coördinatorserver (standaard: GeneralPurpose). Vereist voor het maken. snaar
coördinatorStorageQuotaInMb De opslag van een server in MB. Vereist voor het maken. Zie /azure/cosmos-db/postgresql/resources-compute voor meer informatie. Int
coördinatorVCores Het aantal vCores van een server (max. 96). Vereist voor het maken. Zie /azure/cosmos-db/postgresql/resources-compute voor meer informatie. Int
databasenaam De databasenaam van het cluster. Er wordt slechts één database per cluster ondersteund. snaar
dataEncryptie De eigenschappen van gegevensversleuteling van een cluster. DataEncryption-
enableGeoBackup Als de back-up van het cluster wordt opgeslagen in een andere Azure-regio, naast de kopie van de back-up die is opgeslagen in de regio van het cluster. Alleen ingeschakeld op het moment dat het cluster is gemaakt. Bool
mogelijk maken Als hoge beschikbaarheid (HA) is ingeschakeld of niet voor het cluster. Bool
enableShardsOnCoordinator Als gedistribueerde tabellen al dan niet op coördinator worden geplaatst. Moet worden ingesteld op 'true' op clusters met één knooppunt. Vereist opnieuw verdelen van shards nadat de waarde is gewijzigd. Bool
onderhoudRaam Onderhoudsvenster van een cluster. MaintenanceWindow-
knooppunt tellen Aantal werkknooppunten van het cluster. Wanneer het aantal knooppunten 0 is, vertegenwoordigt het één knooppuntconfiguratie met de mogelijkheid om gedistribueerde tabellen op dat knooppunt te maken. 2 of meer werkknooppunten vertegenwoordigen configuratie met meerdere knooppunten. De waarde voor het aantal knooppunten mag niet 1 zijn. Vereist voor het maken. Int
nodeEnablePublicIpAccess Als openbare toegang is ingeschakeld op werkknooppunten. Bool
nodeServer-editie De editie van een knooppuntserver (standaard: MemoryOptimized). snaar
nodeStorageQuotaInMb De opslag in MB op elk werkknooppunt. Zie /azure/cosmos-db/postgresql/resources-compute voor meer informatie. Int
knooppunt VCores De berekening in vCores op elk werkknooppunt (max. 104). Zie /azure/cosmos-db/postgresql/resources-compute voor meer informatie. Int
puntInTimeUTC Datum en tijd in UTC (ISO8601-indeling) voor het herstellen van clusters. snaar
postgresqlVersion De primaire PostgreSQL-versie op alle clusterservers. snaar
preferredPrimaryZone Voorkeur voor primaire beschikbaarheidszone (AZ) voor alle clusterservers. snaar
bronLocatie De Azure-regio van het broncluster voor leesreplicaclusters. snaar
bronBronId De resource-id van het broncluster voor leesreplicaclusters. snaar

Gegevensversleuteling

Naam Beschrijving Waarde
primaireKeyUri URI voor de sleutel in keyvault voor gegevensversleuteling van de primaire server. snaar
primaireGebruikerToegewezenIdentiteitId Resource-id voor de door de gebruiker toegewezen identiteit die moet worden gebruikt voor gegevensversleuteling van de primaire server. snaar
soort 'AzureKeyVault'
'Systeem toegewezen'

IdentiteitEigenschappen

Naam Beschrijving Waarde
soort 'Systeem toegewezen'
UserAssigned
gebruikers-toegewezen identiteiten De set door de gebruiker toegewezen identiteiten die aan de resource zijn gekoppeld. De woordenlijstsleutels userAssignedIdentities zijn ARM-resource-id's in de vorm: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. De waarden van de woordenlijst kunnen lege objecten ({}) zijn in aanvragen. IdentityPropertiesUserAssignedIdentities

IdentityPropertiesUserAssignedIdentities

Naam Beschrijving Waarde

Onderhoud Window

Naam Beschrijving Waarde
aangepast venster Hiermee wordt aangegeven of het aangepaste onderhoudsvenster is ingeschakeld of niet. snaar
dagVanDeWeek Voorkeursdag van de week voor onderhoudsvenster. Int
beginuur Beginuur binnen de voorkeursdag van de week voor onderhoudsvenster. Int
startminuut Beginminut binnen het beginuur voor onderhoudsvenster. Int

Gevolgde brontags

Naam Beschrijving Waarde

GebruikerstoewijzendeIdentiteit

Naam Beschrijving Waarde

Gebruiksvoorbeelden

Bicep-voorbeelden

Een eenvoudig voorbeeld van het implementeren van Azure Cosmos DB voor PostgreSQL Cluster.

param resourceName string = 'acctest0001'
param location string = 'westeurope'
@secure()
@description('The administrator login password for the PostgreSQL server group')
param administratorLoginPassword string

resource serverGroupsv2 'Microsoft.DBforPostgreSQL/serverGroupsv2@2022-11-08' = {
  name: resourceName
  location: location
  properties: {
    administratorLoginPassword: null
    coordinatorEnablePublicIpAccess: true
    coordinatorServerEdition: 'GeneralPurpose'
    coordinatorStorageQuotaInMb: 131072
    coordinatorVCores: 2
    enableHa: false
    nodeCount: 0
    nodeEnablePublicIpAccess: false
    nodeServerEdition: 'MemoryOptimized'
  }
}

Resourcedefinitie van ARM-sjabloon

Het resourcetype serverGroupsv2 kan worden geïmplementeerd met bewerkingen die zijn gericht op:

Zie logboek wijzigenvoor een lijst met gewijzigde eigenschappen in elke API-versie.

Resource-indeling

Als u een Microsoft.DBforPostgreSQL/serverGroupsv2-resource wilt maken, voegt u de volgende JSON toe aan uw sjabloon.

{
  "type": "Microsoft.DBforPostgreSQL/serverGroupsv2",
  "apiVersion": "2023-03-02-preview",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "administratorLoginPassword": "string",
    "authConfig": {
      "activeDirectoryAuth": "string",
      "passwordAuth": "string"
    },
    "citusVersion": "string",
    "coordinatorEnablePublicIpAccess": "bool",
    "coordinatorServerEdition": "string",
    "coordinatorStorageQuotaInMb": "int",
    "coordinatorVCores": "int",
    "databaseName": "string",
    "dataEncryption": {
      "primaryKeyUri": "string",
      "primaryUserAssignedIdentityId": "string",
      "type": "string"
    },
    "enableGeoBackup": "bool",
    "enableHa": "bool",
    "enableShardsOnCoordinator": "bool",
    "maintenanceWindow": {
      "customWindow": "string",
      "dayOfWeek": "int",
      "startHour": "int",
      "startMinute": "int"
    },
    "nodeCount": "int",
    "nodeEnablePublicIpAccess": "bool",
    "nodeServerEdition": "string",
    "nodeStorageQuotaInMb": "int",
    "nodeVCores": "int",
    "pointInTimeUTC": "string",
    "postgresqlVersion": "string",
    "preferredPrimaryZone": "string",
    "sourceLocation": "string",
    "sourceResourceId": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Eigenschapswaarden

Microsoft.DBforPostgreSQL/serverGroupsv2

Naam Beschrijving Waarde
apiVersion De API-versie '2023-03-02-voorbeschouwing'
identiteit Beschrijft de identiteit van het cluster. IdentityProperties-
plaats De geografische locatie waar de resource zich bevindt tekenreeks (vereist)
naam De resourcenaam snaar

Beperkingen:
Minimale lengte = 3
Maximale lengte = 40
Patroon = ^(?![0-9]+$)(?!-)[a-z0-9-]{3,40}(?<!-)$ (vereist)
Eigenschappen Eigenschappen van het cluster. ClusterProperties-
Tags Resourcetags Woordenlijst met tagnamen en -waarden. Zie Tags in sjablonen
soort Het resourcetype 'Microsoft.DBforPostgreSQL/serverGroupsv2'

Verificatieconfiguratie

Naam Beschrijving Waarde
activeDirectoryAuth 'uitgeschakeld'
'ingeschakeld'
wachtwoordAuth 'uitgeschakeld'
'ingeschakeld'

Eigenschappen van clusters

Naam Beschrijving Waarde
administratorLoginPassword Het wachtwoord van de beheerdersaanmelding. Vereist voor het maken. snaar

Beperkingen:
Gevoelige waarde. Doorgeven als een beveiligde parameter.
Verificatieconfiguratie Verificatieconfiguratie van een cluster. AuthConfig-
citusVersie De citus-extensieversie op alle clusterservers. snaar
coördinatorEnablePublicIpAccess Als openbare toegang is ingeschakeld voor coördinator. Bool
coördinatorServerEdition De editie van een coördinatorserver (standaard: GeneralPurpose). Vereist voor het maken. snaar
coördinatorStorageQuotaInMb De opslag van een server in MB. Vereist voor het maken. Zie /azure/cosmos-db/postgresql/resources-compute voor meer informatie. Int
coördinatorVCores Het aantal vCores van een server (max. 96). Vereist voor het maken. Zie /azure/cosmos-db/postgresql/resources-compute voor meer informatie. Int
databasenaam De databasenaam van het cluster. Er wordt slechts één database per cluster ondersteund. snaar
dataEncryptie De eigenschappen van gegevensversleuteling van een cluster. DataEncryption-
enableGeoBackup Als de back-up van het cluster wordt opgeslagen in een andere Azure-regio, naast de kopie van de back-up die is opgeslagen in de regio van het cluster. Alleen ingeschakeld op het moment dat het cluster is gemaakt. Bool
mogelijk maken Als hoge beschikbaarheid (HA) is ingeschakeld of niet voor het cluster. Bool
enableShardsOnCoordinator Als gedistribueerde tabellen al dan niet op coördinator worden geplaatst. Moet worden ingesteld op 'true' op clusters met één knooppunt. Vereist opnieuw verdelen van shards nadat de waarde is gewijzigd. Bool
onderhoudRaam Onderhoudsvenster van een cluster. MaintenanceWindow-
knooppunt tellen Aantal werkknooppunten van het cluster. Wanneer het aantal knooppunten 0 is, vertegenwoordigt het één knooppuntconfiguratie met de mogelijkheid om gedistribueerde tabellen op dat knooppunt te maken. 2 of meer werkknooppunten vertegenwoordigen configuratie met meerdere knooppunten. De waarde voor het aantal knooppunten mag niet 1 zijn. Vereist voor het maken. Int
nodeEnablePublicIpAccess Als openbare toegang is ingeschakeld op werkknooppunten. Bool
nodeServer-editie De editie van een knooppuntserver (standaard: MemoryOptimized). snaar
nodeStorageQuotaInMb De opslag in MB op elk werkknooppunt. Zie /azure/cosmos-db/postgresql/resources-compute voor meer informatie. Int
knooppunt VCores De berekening in vCores op elk werkknooppunt (max. 104). Zie /azure/cosmos-db/postgresql/resources-compute voor meer informatie. Int
puntInTimeUTC Datum en tijd in UTC (ISO8601-indeling) voor het herstellen van clusters. snaar
postgresqlVersion De primaire PostgreSQL-versie op alle clusterservers. snaar
preferredPrimaryZone Voorkeur voor primaire beschikbaarheidszone (AZ) voor alle clusterservers. snaar
bronLocatie De Azure-regio van het broncluster voor leesreplicaclusters. snaar
bronBronId De resource-id van het broncluster voor leesreplicaclusters. snaar

Gegevensversleuteling

Naam Beschrijving Waarde
primaireKeyUri URI voor de sleutel in keyvault voor gegevensversleuteling van de primaire server. snaar
primaireGebruikerToegewezenIdentiteitId Resource-id voor de door de gebruiker toegewezen identiteit die moet worden gebruikt voor gegevensversleuteling van de primaire server. snaar
soort 'AzureKeyVault'
'Systeem toegewezen'

IdentiteitEigenschappen

Naam Beschrijving Waarde
soort 'Systeem toegewezen'
UserAssigned
gebruikers-toegewezen identiteiten De set door de gebruiker toegewezen identiteiten die aan de resource zijn gekoppeld. De woordenlijstsleutels userAssignedIdentities zijn ARM-resource-id's in de vorm: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. De waarden van de woordenlijst kunnen lege objecten ({}) zijn in aanvragen. IdentityPropertiesUserAssignedIdentities

IdentityPropertiesUserAssignedIdentities

Naam Beschrijving Waarde

Onderhoud Window

Naam Beschrijving Waarde
aangepast venster Hiermee wordt aangegeven of het aangepaste onderhoudsvenster is ingeschakeld of niet. snaar
dagVanDeWeek Voorkeursdag van de week voor onderhoudsvenster. Int
beginuur Beginuur binnen de voorkeursdag van de week voor onderhoudsvenster. Int
startminuut Beginminut binnen het beginuur voor onderhoudsvenster. Int

Gevolgde brontags

Naam Beschrijving Waarde

GebruikerstoewijzendeIdentiteit

Naam Beschrijving Waarde

Gebruiksvoorbeelden

Resourcedefinitie van Terraform (AzAPI-provider)

Het resourcetype serverGroupsv2 kan worden geïmplementeerd met bewerkingen die zijn gericht op:

  • Resourcegroepen

Zie logboek wijzigenvoor een lijst met gewijzigde eigenschappen in elke API-versie.

Resource-indeling

Als u een Microsoft.DBforPostgreSQL/serverGroupsv2-resource wilt maken, voegt u de volgende Terraform toe aan uw sjabloon.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DBforPostgreSQL/serverGroupsv2@2023-03-02-preview"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      administratorLoginPassword = "string"
      authConfig = {
        activeDirectoryAuth = "string"
        passwordAuth = "string"
      }
      citusVersion = "string"
      coordinatorEnablePublicIpAccess = bool
      coordinatorServerEdition = "string"
      coordinatorStorageQuotaInMb = int
      coordinatorVCores = int
      databaseName = "string"
      dataEncryption = {
        primaryKeyUri = "string"
        primaryUserAssignedIdentityId = "string"
        type = "string"
      }
      enableGeoBackup = bool
      enableHa = bool
      enableShardsOnCoordinator = bool
      maintenanceWindow = {
        customWindow = "string"
        dayOfWeek = int
        startHour = int
        startMinute = int
      }
      nodeCount = int
      nodeEnablePublicIpAccess = bool
      nodeServerEdition = "string"
      nodeStorageQuotaInMb = int
      nodeVCores = int
      pointInTimeUTC = "string"
      postgresqlVersion = "string"
      preferredPrimaryZone = "string"
      sourceLocation = "string"
      sourceResourceId = "string"
    }
  }
}

Eigenschapswaarden

Microsoft.DBforPostgreSQL/serverGroupsv2

Naam Beschrijving Waarde
identiteit Beschrijft de identiteit van het cluster. IdentityProperties-
plaats De geografische locatie waar de resource zich bevindt tekenreeks (vereist)
naam De resourcenaam snaar

Beperkingen:
Minimale lengte = 3
Maximale lengte = 40
Patroon = ^(?![0-9]+$)(?!-)[a-z0-9-]{3,40}(?<!-)$ (vereist)
Eigenschappen Eigenschappen van het cluster. ClusterProperties-
Tags Resourcetags Woordenlijst met tagnamen en -waarden.
soort Het resourcetype "Microsoft.DBforPostgreSQL/serverGroupsv2@2023-03-02-preview"

Verificatieconfiguratie

Naam Beschrijving Waarde
activeDirectoryAuth 'uitgeschakeld'
'ingeschakeld'
wachtwoordAuth 'uitgeschakeld'
'ingeschakeld'

Eigenschappen van clusters

Naam Beschrijving Waarde
administratorLoginPassword Het wachtwoord van de beheerdersaanmelding. Vereist voor het maken. snaar

Beperkingen:
Gevoelige waarde. Doorgeven als een beveiligde parameter.
Verificatieconfiguratie Verificatieconfiguratie van een cluster. AuthConfig-
citusVersie De citus-extensieversie op alle clusterservers. snaar
coördinatorEnablePublicIpAccess Als openbare toegang is ingeschakeld voor coördinator. Bool
coördinatorServerEdition De editie van een coördinatorserver (standaard: GeneralPurpose). Vereist voor het maken. snaar
coördinatorStorageQuotaInMb De opslag van een server in MB. Vereist voor het maken. Zie /azure/cosmos-db/postgresql/resources-compute voor meer informatie. Int
coördinatorVCores Het aantal vCores van een server (max. 96). Vereist voor het maken. Zie /azure/cosmos-db/postgresql/resources-compute voor meer informatie. Int
databasenaam De databasenaam van het cluster. Er wordt slechts één database per cluster ondersteund. snaar
dataEncryptie De eigenschappen van gegevensversleuteling van een cluster. DataEncryption-
enableGeoBackup Als de back-up van het cluster wordt opgeslagen in een andere Azure-regio, naast de kopie van de back-up die is opgeslagen in de regio van het cluster. Alleen ingeschakeld op het moment dat het cluster is gemaakt. Bool
mogelijk maken Als hoge beschikbaarheid (HA) is ingeschakeld of niet voor het cluster. Bool
enableShardsOnCoordinator Als gedistribueerde tabellen al dan niet op coördinator worden geplaatst. Moet worden ingesteld op 'true' op clusters met één knooppunt. Vereist opnieuw verdelen van shards nadat de waarde is gewijzigd. Bool
onderhoudRaam Onderhoudsvenster van een cluster. MaintenanceWindow-
knooppunt tellen Aantal werkknooppunten van het cluster. Wanneer het aantal knooppunten 0 is, vertegenwoordigt het één knooppuntconfiguratie met de mogelijkheid om gedistribueerde tabellen op dat knooppunt te maken. 2 of meer werkknooppunten vertegenwoordigen configuratie met meerdere knooppunten. De waarde voor het aantal knooppunten mag niet 1 zijn. Vereist voor het maken. Int
nodeEnablePublicIpAccess Als openbare toegang is ingeschakeld op werkknooppunten. Bool
nodeServer-editie De editie van een knooppuntserver (standaard: MemoryOptimized). snaar
nodeStorageQuotaInMb De opslag in MB op elk werkknooppunt. Zie /azure/cosmos-db/postgresql/resources-compute voor meer informatie. Int
knooppunt VCores De berekening in vCores op elk werkknooppunt (max. 104). Zie /azure/cosmos-db/postgresql/resources-compute voor meer informatie. Int
puntInTimeUTC Datum en tijd in UTC (ISO8601-indeling) voor het herstellen van clusters. snaar
postgresqlVersion De primaire PostgreSQL-versie op alle clusterservers. snaar
preferredPrimaryZone Voorkeur voor primaire beschikbaarheidszone (AZ) voor alle clusterservers. snaar
bronLocatie De Azure-regio van het broncluster voor leesreplicaclusters. snaar
bronBronId De resource-id van het broncluster voor leesreplicaclusters. snaar

Gegevensversleuteling

Naam Beschrijving Waarde
primaireKeyUri URI voor de sleutel in keyvault voor gegevensversleuteling van de primaire server. snaar
primaireGebruikerToegewezenIdentiteitId Resource-id voor de door de gebruiker toegewezen identiteit die moet worden gebruikt voor gegevensversleuteling van de primaire server. snaar
soort 'AzureKeyVault'
'Systeem toegewezen'

IdentiteitEigenschappen

Naam Beschrijving Waarde
soort 'Systeem toegewezen'
UserAssigned
gebruikers-toegewezen identiteiten De set door de gebruiker toegewezen identiteiten die aan de resource zijn gekoppeld. De woordenlijstsleutels userAssignedIdentities zijn ARM-resource-id's in de vorm: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. De waarden van de woordenlijst kunnen lege objecten ({}) zijn in aanvragen. IdentityPropertiesUserAssignedIdentities

IdentityPropertiesUserAssignedIdentities

Naam Beschrijving Waarde

Onderhoud Window

Naam Beschrijving Waarde
aangepast venster Hiermee wordt aangegeven of het aangepaste onderhoudsvenster is ingeschakeld of niet. snaar
dagVanDeWeek Voorkeursdag van de week voor onderhoudsvenster. Int
beginuur Beginuur binnen de voorkeursdag van de week voor onderhoudsvenster. Int
startminuut Beginminut binnen het beginuur voor onderhoudsvenster. Int

Gevolgde brontags

Naam Beschrijving Waarde

GebruikerstoewijzendeIdentiteit

Naam Beschrijving Waarde

Gebruiksvoorbeelden

Terraform-monsters

Een eenvoudig voorbeeld van het implementeren van Azure Cosmos DB voor PostgreSQL Cluster.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

variable "administrator_login_password" {
  type        = string
  description = "The administrator login password for the PostgreSQL server group"
  sensitive   = true
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "serverGroupsv2" {
  type      = "Microsoft.DBforPostgreSQL/serverGroupsv2@2022-11-08"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      administratorLoginPassword      = var.administrator_login_password
      coordinatorEnablePublicIpAccess = true
      coordinatorServerEdition        = "GeneralPurpose"
      coordinatorStorageQuotaInMb     = 131072
      coordinatorVCores               = 2
      enableHa                        = false
      nodeCount                       = 0
      nodeEnablePublicIpAccess        = false
      nodeServerEdition               = "MemoryOptimized"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}