Пометьте ресурс Azure, используя несколько переменных из конвейера выпуска DevOps - PullRequest
0 голосов
/ 17 апреля 2020

Я пытаюсь назначить теги для ресурса Azure, передав их по конвейеру Azure DevOps, но не могу определить правильное выражение в шаблоне ARM.

Задача развертывания группы ресурсов Azure используется в конвейере выпуска DevOps для развертывания ресурса в Azure. Несколько переменных конвейера определены для тегов, применяемых к этому ресурсу. Эти переменные передаются в шаблон ARM путем переопределения параметров шаблона в задаче. Шаблон ARM определяет параметр «tagsObject» с форматом «tagName» и «tagValue», заключенным в объект. Вопрос в том, как назначить все теги, предоставленные tagsObject в разделе «теги» в шаблоне ARM? Стандартные теги: «[parameters ('resourceTags')]» терпит неудачу. То, что я ищу, - для каждого объекта, извлеките пару ключ-значение и назначьте их соответствующему элементу. Можно ли это сделать?

Как выполнить задание? "tags": "[union(parameters('tagsObject'),json('{\"tagName\":\"tagValue\"}'))]",

Ниже показан объект переменной, используемый в параметрах шаблона переопределения задачи развертывания группы ресурсов Azure:

-tagsObject {"tags":[
    {"tagName":"Application","tagValue":"$(tagApplication)"},
    {"tagName":"Description","tagValue":"$(tagDescription)"},
    {"tagName":"Environment","tagValue":"$(environmentLongName)"},
    {"tagName":"Department","tagValue":"$(departmentLongCode)"},
    {"tagName":"Business Owner","tagValue":"$(tagOwnerBusiness)"},
    {"tagName":"Technical Owner","tagValue":"$(tagOwnerTechnical)"},
    {"tagName":"Platform","tagValue":"$(tagPlatform)"},
    {"tagName":"Project","tagValue":"$(tagProject)"},
    {"tagName":"Solution Type","tagValue":"$(tagSolutionType)"}
]}

Это параметр в шаблоне ARM:

"tagsObject": {
            "type": "Object",
            "defaultValue": "{}",
            "metadata": {
                "description": "Specifies all tags {\"tagName\":\"\",\"tagValue\":\"\"} wrapped in an object."
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...