You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wiki-terraform-provider-dyn.../1.3.0/04.02-Инициализация-Terrafo...

14 KiB

Список аргументов для инициализации

Перед началом использования любой Terraform провайдер должен быть инициализирован.

В процессе инициализации Terraform провайдера DYNAMIX проверяется корректность переданных аргументов и выполняется авторизация в указанном контроллере облачной инфраструктуры. Подробнее о способах авторизации на платформе DYNAMIX смотри соответствующий раздел.

При инициализации Terraform провайдера DYNAMIX используются следующие аргументы:

Аргумент Переменная окружения Описание
allow_unverified_ssl - Если данный аргумент явно установлен в true, то провайдер не будет проверять SSL сертификаты при взаимодействии с авторизационным сервисом OAuth2 и контроллером облачной платформы.
Отключение проверок может быть полезным при работе в доверенной среде, использующей самоподписанные SSL сертификаты. Однако, так как отключение проверок несёт потенциальные риски безопасности, данную настройку следует использовать с осторожностью.
Разрешённые значения: false (значение по умолчанию) и true.
app_id DYNAMIX_APP_ID Идентификатор приложения (клиента) для авторизации в контроллере облачной платформы в режиме decs3o или bvs.
Аргументы app_id и app_secret являются обязательными для режимов авторизации authenticator=decs3o и authenticator=bvs.
Если app_id не задан в tf-файле, то провайдер будет использовать значение из переменной окружения DYNAMIX_APP_ID.
app_secret DYNAMIX_APP_SECRET Секретный код приложения (клиента) для авторизации в контроллере облачной платформы в режиме decs3o или bvs.
Аргументы app_id и app_secret являются обязательными для режимов авторизации authenticator=decs3o и authenticator=bvs.
Если app_secret не задан в tf-файле, то провайдер будет использовать значение из переменной окружения DYNAMIX_APP_SECRET.
authenticator - Режим авторизации при подключении к контроллеру облачной платформы.
Доступные режимы: decs3o, legacy, jwt или bvs.
Данный аргумент является обязательным.
bvs_user DYNAMIX_BVS_USER Имя пользователя для авторизации в контроллере облачной платформы в режиме bvs.
Аргументы bvs_password и bvs_user являются обязательными для режима авторизации authenticator=bvs.
Если bvs_user не задан в tf-файле, то провайдер будет использовать значение из переменной окружения DYNAMIX_BVS_USER.
bvs_password DYNAMIX_BVS_PASSWORD Пароль пользователя для авторизации в контроллере облачной платформы в режиме bvs.
Аргументы bvs_user и bvs_password являются обязательными для режима авторизации authenticator=bvs.
Если bvs_password не задан в tf-файле, то провайдер будет использовать значение из переменной окружения DYNAMIX_BVS_PASSWORD.
domain DYNAMIX_DOMAIN Имя домена в контроллере облачной платформы в режиме bvs.
Данный аргумент является обязательным.
Если domain не задан в tf-файле, то провайдер будет использовать значение из переменной окружения DYNAMIX_DOMAIN.
controller_url DYNAMIX_CONTROLLER_URL URL контроллера облачной платформы, через который будет осуществляться управление облачными ресурсами.
Данный аргумент является обязательным.
jwt DYNAMIX_JWT JSON Web Token (JWT), который используется для авторизации в контроллере облачной платформы в режиме jwt.
Данный аргумент является обязательным для режима авторизации authenticator=jwt.
Если jwt не задан в tf-файле, то провайдер будет использовать значение из переменной окружения DYNAMIX_JWT
oauth2_url DYNAMIX_OAUTH2_URL URL авторизационного сервиса OAuth2, который используется для управления доступом пользователей (или программных клиентов) к контроллеру облачной платформы.
Данный аргумент является обязательным для режимов авторизации authenticator=decs3o, authenticator=bvs и authenticator=jwt.
Если oauth2_url не задан в tf-файле, то провайдер будет использовать значение из переменной окружения DYNAMIX_OAUTH2_URL
password DYNAMIX_PASSWORD Пароль для авторизации в контроллере облачной платформы в режиме legacy.
Аргументы password и user являются обязательными для режима авторизации authenticator=legacy.
Если password не задан в tf-файле, то провайдер будет использовать значение из переменной окружения DYNAMIX_PASSWORD.
user DYNAMIX_USER Имя пользователя для авторизации в контроллере облачной платформы в режиме legacy.
Аргументы user и password являются обязательными для режима авторизации authenticator=legacy.
Если user не задан в tf-файле, то провайдер будет использовать значение из переменной окружения DYNAMIX_USER.

Пример инициализации в режиме авторизации decs3o

Пример инициализации Terraform провайдера DYNAMIX:

provider "dynamix" {
   authenticator  = "decs3o"
   controller_url = "https://ctrl.decort.online"
   oauth2_url     = "https://oauth2.decort.online:7777"
}

В данном примере используется режим авторизации decs3o.

Как отмечено выше, в данном режиме требуется указать аргументы app_id и app_secret, идентифицирующие пользователя (или приложение-клиент), от лица которого будут выполняться дальнейшие действия. Однако, так как данная информация является конфиденциальной (по сути, она эквивалентна паре имя пользователя : пароль), то в общем случае заносить такого рода данные в tf-файл не следует. Рекомендуется определять в среде запуска Terraform переменные окружения DYNAMIX_APP_ID и DYNAMIX_APP_SECRET, из которых провайдер извлечёт нужные данные. Приведенный пример подразумевает, что нужная информация будет получена из этих переменных окружения.

Пользователь, от лица которого Terrafrom будет выполнять действия на облачной платформе, должен заранее создать пару Application ID и Application Secret в авторизационном приложении OAuth2. Именно эти значения, а также URL авторизационного приложения Oauth2, должны присваиваться аргументам app_id, app_secret и oauth2_url соответственно для успешной инициализации провайдера.

Также обратите внимание на формат задания аргументов controller_url и oauth2_url. В общем случае они должны содержать идентификатор протокола (https://) и сетевой порт, если он отличается от порта по умолчанию (в примере для авторизационного сервиса OAuth2 указан порт 7777). Эту информацию вы можете узнать у администратора вашей облачной инфраструктуры.

Пример инициализации в режиме авторизации bvs

Пример инициализации Terraform провайдера DYNAMIX:

provider "dynamix" {
  authenticator        = "bvs" 
  controller_url       = "https://delta.qa.loc" 
  oauth2_url           = "https://bvs-delta.qa.loc:8443" 
  app_id = "delta" 
  app_secret = "" 
  bvs_password = "" 
  bvs_user = "" 
  domain = "dynamix" 
}

В данном примере используется режим авторизации bvs.

Как отмечено выше, в данном режиме требуется указать аргументы app_id - идентификатор площадки - delta, alpha, poc, etc. Можно найти на странице администратора по следующему пути: вкладка безопасность - клиентские сервисы - наименование площадки. app_secret - пароль площадки. Можно найти на странице администратора по следующему пути: вкладка безопасность - клиентские сервисы - наименование площадки (символ i) - поле "Пароль". Однако, так как данная информация является конфиденциальной, то в общем случае заносить такого рода данные в tf-файл не следует. Рекомендуется определять в среде запуска Terraform переменные окружения DYNAMIX_APP_ID и DYNAMIX_APP_SECRET, из которых провайдер извлечёт нужные данные. Приведенный пример подразумевает, что нужная информация будет получена из этих переменных окружения. Также обязательными аргументами являются: bvs_user - имя пользователя, bvs_password - пароль пользователя. Рекомендуется не заносить их в tf-файл, а определять в среде запуска Terraform переменные окружения DYNAMIX_BVS_USER и DYNAMIX_BVS_PASSWORD, из которых провайдер извлечёт нужные данные. Приведенный пример подразумевает, что нужная информация будет получена из этих переменных окружения. Домен для подключения domain - указывается наименование площадки. Данный аргумент является обязательным. Рекомендуется не заносить его в tf-файл, а определять в среде запуска Terraform переменную окружения DYNAMIX_DOMAIN, из которой провайдер извлечёт нужные данные. Приведенный пример подразумевает, что нужная информация будет получена из этих переменных окружения.

Пользователь, от лица которого Terrafrom будет выполнять действия на облачной платформе, должен заранее получить от администратора Application ID и Application Secret, bvs user и bvs password, а также domain. А также осуществить первичный вход на платформу посредством браузера.

Также обратите внимание на формат задания аргументов controller_url и oauth2_url. В общем случае они должны содержать идентификатор протокола (https://) и сетевой порт, если он отличается от порта по умолчанию (в примере для авторизационного сервиса OAuth2 указан порт 8443). Эту информацию вы можете узнать у администратора вашей облачной инфраструктуры.