Параметр / переменная типа КАРТЫ в БИЦЕПСЕ?

#azure #azure-resource-manager #azure-bicep

Вопрос:

Есть ли способ воспроизвести переменную MAP в TF, в БИЦЕПСЕ? В ссылке на шаблон ARM я вижу, что «объект» похож по объявлению на КАРТУ, но отличается по использованию.

пример tf — карты (https://gist.github.com/devops-school/1f3efed15d390748b208a109f9765e0c)

объект шаблона руки / пример бицепса (https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/data-types?tabs=bicep#objects)

Спасибо!

Комментарии:

1. Вы правы — объект в значительной степени представляет собой карту. Какое именно использование вы ищете?

Ответ №1:

Да, в Object бицепсах тоже есть тип. Он похож на своего аналога ARM, но также имеет некоторые тонкие отличия. В Bicep объект должен быть объявлен в нескольких строках. Каждое свойство объекта состоит из ключа и значения. Ключ и значение разделяются двоеточием ( : ). Объект допускает любое свойство любого типа.

В бицепсе ключ не заключен в кавычки. Не используйте запятые между свойствами.

 param exampleObject object = {
  name: 'test name'
  id: '123-abc'
  isCurrent: true
  tier: 1
}
 

Методы доступа к свойствам используются для доступа к свойствам объекта. Они построены с использованием . оператора.

 var a = {
  b: 'Dev'
  c: 42
  d: {
    e: true
  }
}

output result1 string = a.b // returns 'Dev' 
output result2 int = a.c // returns 42
output result3 bool = a.d.e // returns true
 

Вы также можете использовать [] синтаксис для доступа к свойству. a.d.e также может быть выражено как a['d'].e .

Ссылка: Объекты в бицепсе