Как получить доступ к заданному значению в terraform

Я не могу получить доступ к членам набора terraform путем индексации

Это дает мне ошибку:

variable "set" {
  type = set(string)
  default = ["./someFile2.txt", "Hello World Again!"]
}

output "set" {
  value = var.set[1]
}

Я подозреваю, что мы не можем получить доступ к членам путем их индексации, а только путем итерации. Не могли бы вы это подтвердить? и, возможно, приведите какой-нибудь пример.

Обновлять:

  • сообщение об ошибке: Elements of a set are identified only by their value and don't have any separate index or key to select with, so it's only possible to perform operations across all elements of the │ set.

Что ж, это как бы подтверждает мои подозрения, но как его использовать, или распространен ли этот тип данных (на первый взгляд, это приносит гораздо больше головной боли, чем решений)

Чего вы хотите добиться с помощью переменной? Источники данных полезны, но неясно, как и где вы хотите использовать этот набор.

Marko E 17.05.2024 08:31

У меня нет конкретного варианта использования, это в образовательных целях, мне хотелось бы понять, какие проблемы решаются с помощью наборов.

Pall Arpad 17.05.2024 08:44
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
2
126
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

По определению set неупорядочен, и к его участникам нельзя получить доступ по отдельности. Вместо этого вам понадобится list:

variable "list" {
  type = list(string)
  default = ["./someFile2.txt", "Hello World Again!"]
}

output "list" {
  value = var.set[1]
}

Если в какой-то момент вам по какой-то причине понадобится вернуть тип обратно к set, то функция toset позволит добиться этого.

Ах... вот что я пропустил, наборы не упорядочены!

Pall Arpad 17.05.2024 13:09

Другие вопросы по теме