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.
terraform-provider-dynamix/wiki/1.1.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). Эту информацию вы можете узнать у администратора вашей облачной инфраструктуры.