Шаблоны ARM: получить параметры из другого файла - PullRequest
1 голос
/ 19 июня 2020

Я использую Azure CLI (Linux хост) для развертывания Infra в виде кода, у меня разные файлы развертывания и файлы параметров,

Моя цель - избежать дублирования входных параметров,

main_parameters. json:

{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
    "artifactLocation": {
        "value": "xxxx_xxxx_path"
    }
    }
}

main.deploy:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
      "artifactLocation": {
            "type": "string",
            "metadata": {
                "description": "artifactLocation path"
            }   
        }
  },
  "variables": {},
  "resources": [
    {
      "type": "Microsoft.Resources/deployments",
      "apiVersion": "2019-10-01",
      "name": "linkedTemplate",
      "properties": {
        "mode": "Incremental",
        "templateLink": {
          "uri":"[parameters('artifactLocation')]",
          "contentVersion":"1.0.0.0"
        }
      }
    }
  ],
  "outputs": {
  }
}

sub_parameters. json:

{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
    "artifactLocation": {
        "value": "xxxx_xxxx_path"
    },
    "customName": {
        "value": "Name"
    }
    }
}

sub_deploy. json:

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "artifactLocation": {
              "type": "string",
              "metadata": {
                  "description": "artifactLocation path"
              }   
          },
          "customName": {
              "type": "string",
              "metadata": {
                  "description": "some name"
              }   
          }
    },
    "variables": {},
    "resources": [
      {
        "type": "Microsoft.Resources/deployments",
        "apiVersion": "2019-10-01",
        "name": "[parameters('customName')]",
        "properties": {
          "mode": "Incremental",
          "templateLink": {
            "uri":"[parameters('artifactLocation')]",
            "contentVersion":"1.0.0.0"
          }
        }
      }
    ],
    "outputs": {
    }
  }

И main.parameters, и sub.parameters имеют входной параметр "artifactLocation". Есть ли способ импортировать параметры из main_parameters в sub_deploy. json. так что я не буду добавлять одни и те же параметры в несколько файлов параметров.

Я могу создавать ресурсы main_deploy и sub_deploy вместе, но я хочу сохранить файлы main_deploy и sub_deploy отдельно для удобства чтения

...