Один ARM-шаблон для базы данных Azure для MySQL и Postgresql? - PullRequest
0 голосов
/ 09 апреля 2019

В настоящее время я пытаюсь написать ARM-шаблон, который должен включать MySQL и PostgreSQL в файле deploy.json, а затем иметь два отдельных файла параметров, один для postgreSQL и один для MySQL.

У меня естьначал с шаблона, но он не работает так, как я хочу, и я не могу понять, почему.В шаблоне у меня есть и Microsoft.DBforMySQL / servers, и Microsoft.DBforPostgreSQL / servers.

"resources": [
    {
      "type": "Microsoft.DBforMySQL/servers",
      "apiVersion": "2017-12-01",
      "name": 
      "location": 
      "sku": {
        "name": 
      },
      "properties": {
            "version": 
            "administratorLogin": 
            "administratorLoginPassword": 
            "createMode": 
            "sslEnforcement": 
            "storageProfile": {
                "storageGb": 
                "backupRetentionDays": 
                "geoRedundantBackup": 
            }
      }
    },
    {
        "type": "Microsoft.DBforPostgreSQL/servers",
        "apiVersion": "2017-12-01",
        "name": 
        "location": 
        "sku": {
          "name": 
        },
        "properties": {
              "apiVersion": 
              "administratorLogin": 
              "administratorLoginPassword":
              "createMode": 
              "sslEnforcement": 
              "storageProfile": {
                  "storageGb": 
                  "backupRetentionDays":
                  "geoRedundantBackup": 
        }
    },

Вывод, который я хочу получить, заключается в том, что при использовании, например, файла «Postgre-parameter» он должен развернутьПочитайте базу данных PostgreSQL и прочитайте ресурс «Microsoft.DBforPostgreSQL / серверы» и наоборот.Это возможно или я должен прекратить попытки?

1 Ответ

1 голос
/ 09 апреля 2019

это возможно, но не волшебным образом (что, как вам кажется, должно быть). Вы должны код для этого. Самый простой способ сделать это - добавить условия к ресурсам:

"resources": [
    {
        "condition": "[equals(parameters('postgres'), true)]"
        ...
    },
    {
        "condition": "[equals(parameters('mysql'), true)]"
        ...
    },
]

вам также необходимо отобразить значения из ваших параметров в ресурсы.

Синтаксис: https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-authoring-templates

...