×

Подготовка конфигурации

 
Создайте новую директорию для хранения конфигурационных файлов, например, oblakoteka_cloud_space
Обратите внимание, что каждая конфигурация должна находиться в отдельной директории.
В созданной директории создайте файл с расширением .tf для настройки конфигурации, например, main.tf
 
В файле нужно.
1. Настроить провайдера.
2. Настроить подключение к API используя файл key.json.
3. Описать создание нужных ресурсов (хранилище, бакет, ключи доступа).
4. При необходимости описать загрузку данных.
 
НАСТРОЙКА ПРОВАЙДЕРА.
 
terraform {
  required_providers {
    clouparduz = {
      source = "tf.cloupard.uz/clouparduz/clouparduz"
    }
  }
}
 
Где, sourсe – адрес источника провайдера, tf.cloupard.uz/clouparduz/clouparduz$ version – версия провайдера.
Примечание: В файле можно не указывать версию. Если версия не указана, то при инициализации terraform скачивается последняя версия. Если версия указана – скачивается именно она.
 
НАСТРОЙКА ПОДКЛЮЧЕНИЕ К API.
 
Получите файл key.json для аутентификации  и далее для указания параметров подключения используйте файл key.json.
Обратите внимание, что файл key.json должен находиться в той же директории, где сохранен проект ИЛИ должен быть указан полный путь к нему в виде C:\user\keys\key.json
 
provider "clouparduz" {
 key_file = "key.json"
}
 
СОЗДАНИЕ ХРАНИЛИЩА
 
resource "clouparduz_storage" "storage_test" { 
 name = "mystorage"
}
 
Где, clouparduz_storage - тип ресурса, storage_test - имя ресурса для Terraform, name - имя создаваемого хранилища.
 
см. подробное описание ресурса clouparduz_storage.
 
СОЗДАНИЕ БАКЕТА.
 
Например, со следующими параметрами.
1. Класс хранилища: Тёплое.
2. Версионирование: Выключено.
3. Анонимный доступ: Нет.
resource "clouparduz_storage_bucket" "mybucket" {
 storage_id = clouparduz_storage.storage_test.id
 name = "mybucket"
 note = "bucket1 on mystorage"
# класс хранилища - тёплое
 storage_class_id = var.storage_warm
# анонимный доступ: только чтение
 anonymous_access_type = 1
 move_into_commercial_mode_on_test_out = false
# версионирование: выключено
 versioning = false
}
 
Где,
name - имя создаваемого хранилища
note – описание создаваемого бакета, необязательный параметр
storage_class_id - класс хранилища, на котором размещается бакет
anonymous_access_type - анонимный доступ, устанавливаемый для бакета
move_into_commercial_mode_on_test_out - автоматический переход в коммерческий режим
versioning = версионирование.
 
см. подробное описание ресурса clouparduz_storage_bucket.
 
ГЕНЕРАЦИЯ КЛЮЧЕЙ ДОСТУПА К БАКЕТУ.
 
resource "clouparduz_storage_access_key" "mykey" {
 storage_id = clouparduz_storage.storage_test.id
 note = "mykey for mystorage"
}
 
Где,
# storage_id - идентификатор хранилища, генерируется Terraform
# note - пользовательское описание для генерируемого ключа доступа.
 
см. подробное описание ресурса clouparduz_storage_access_key.