diff --git a/src/billing/registration_org.md b/src/billing/registration_org.md deleted file mode 100644 index c5f3da6..0000000 --- a/src/billing/registration_org.md +++ /dev/null @@ -1,9 +0,0 @@ -# Заключение договора с ЮЛ - -Аккаунт beeline cloud создается для физического лица. Для добавления организации необходимо отправить заявку из личного кабинета beeline cloud физического лица: - -1. Войдите в [личный кабинет beeline cloud](https://lk.cloud.beeline.ru/). -2. В информационном окне о бесплатном тестировании нажмите на ссылку **Заключить договор**. -3. Заполните заявку на заключение договора: - - **ФИО**: укажите контактное лицо; - - **ИНН**: укажите ИНН организации, с которой заключается договор. diff --git a/src/guide/compute/compute-getting-started.md b/src/guide/compute/compute-getting-started.md index b9fc1f8..1d85980 100644 --- a/src/guide/compute/compute-getting-started.md +++ b/src/guide/compute/compute-getting-started.md @@ -4,12 +4,12 @@ ## Создать виртуальный ВМ -1. Откройте [консоль управления](https://console.cloud.dfcloud.ru). +1. Отк 2. Выбрать проект. 3. На странице **Обзор** убедитесь в наличии свободных ресурсов. 4. Нажмите **Создать ВМ**. 5. Выберите образ ОС UNIX. -6. [Заполните свойства cервера](../compute/compute-instructions/compute-servers-create.md#создать-ВМ). +6. 7. Нажмите **Cоздать ВМ**. Виртуальный ВМ отобразится на странице **Облачные вычисления → ВМы**. Выполняется сборка виртуального ВМа. После окончания сборки ВМ перейдет в статус `Включен`. @@ -36,6 +36,3 @@ $ ssh -l ivanov -i /home/user/.ssh/id_rsa 10.0.0.1 ``` ## Далее - -- [Подключение дополнительного диска к виртуальному ВМу](../compute/compute-instructions/compute-disks.md#добавить-диск). -- [Удаление виртуального ВМа](../compute/compute-instructions/compute-servers-manage.md#удалить-ВМ). \ No newline at end of file diff --git a/src/guide/dns/dns-instructions/dns-create.md b/src/guide/dns/dns-instructions/dns-create.md deleted file mode 100644 index d0be852..0000000 --- a/src/guide/dns/dns-instructions/dns-create.md +++ /dev/null @@ -1,74 +0,0 @@ -# Ресурсные записи - -Ресурсная запись — это запись о соответствии доменного имени и IP-адреса и другой информации в системе доменных имен. Ресурсные записи хранятся на DNS-ВМах. DNS-ВМы выполняют маршрутизацию запросов, поступающих на определенные доменные имена. - -Сервис DNS поддерживает работу с типами записей: - -`A` — сопоставление доменного имени и IPv4-адреса. - -`CNAME` — синоним FQDN. - -`PTR` — сопоставление IP-адреса и доменного имени. - -У каждой ресурсной записи есть следующие параметры: - -- зона DNS; -- тип записи; -- доменное имя; -- значение записи; -- время жизни записи (TTL). - -**TTL (Time to live)** — время жизни записи. TTL определяет, сколько времени запись будет храниться в локальном кэше пользователя. Если вы изменили свойства записи в DNS, то пользователи не увидят этих изменений до тех пор, пока не истечет значение TTL. - -## Создать запись - -1. Перейдите в консоль управления. -2. Откройте **DNS**. -3. Нажмите **Добавить**. -4. Выберите тип записи: `A`, `CNAME`, `PTR`. -5. Заполните параметры записи: - - ::: details A - - **Зона**: выберите из списка *.cloud.dfcloud.ru*. - - **Параметр**: введите доменное имя записи. Максимальная длина имени — 63 символа и полного доменного имени (FQDN) — 255 символов. - - **Значение**: введите IP-адрес виртуального ВМа. IP-адрес можно посмотреть на странице **Облачные вычисления → ВМы**. - - **TTL**: введите время жизни записи в секундах. - ::: - - ::: details CNAME - - **Зона**: выберите из списка *.cloud.dfcloud.ru*. - - **Параметр**: введите доменное имя записи. - - **Значение**: введите FQDN ВМа, точка не ставится в конце значения. - - **TTL**: введите время жизни записи в секундах. - ::: - - ::: details PTR - - Запись в обратной зоне добавляется автоматически при создании виртуального ВМа. Для одного IP-адреса предназначена одна PTR-запись. Если для нужного IP-адреса не создана PTR-запись, то создайте ее вручную. - - - **Зона**: выберите из списка *.cloud.dfcloud.ru*. - - **Параметр**: введите IP-адрес виртуального ВМа. IP-адрес можно посмотреть на странице **Облачные вычисления → ВМы**. - - **Значение**: введите FQDN ВМа. - - **TTL**: введите время жизни записи в секундах. - ::: - -2. Нажмите **Добавить**. - -## Редактировать запись - -1. Перейдите в консоль управления. -2. Откройте **DNS**. -3. Откройте записи прямой или обратной зоны. -4. В таблице записей напротив нужной записи нажмите **Редактировать**. -5. Измените `Параметр`, `Значение` или `TTL` записи. -6. Нажмите **Сохранить**. - -## Удалить запись - -1. Перейдите в консоль управления. -2. Откройте **DNS**. -3. Откройте записи прямой или обратной зоны. -4. В таблице записей напротив нужной записи нажмите **Удалить**. -5. В открывшемся окне подтвердите операцию: - - Скопируйте предложенный текст. - - Нажмите **Удалить**. \ No newline at end of file diff --git a/src/guide/dns/dns-limits.md b/src/guide/dns/dns-limits.md deleted file mode 100644 index 35591b2..0000000 --- a/src/guide/dns/dns-limits.md +++ /dev/null @@ -1,3 +0,0 @@ -# Квоты и лимиты - -Ограничений на количество создаваемых записей в зоне нет. \ No newline at end of file diff --git a/src/guide/dns/dns-overview.md b/src/guide/dns/dns-overview.md deleted file mode 100644 index d5bf435..0000000 --- a/src/guide/dns/dns-overview.md +++ /dev/null @@ -1,11 +0,0 @@ -# Обзор сервиса - -Сервис DNS предназначен для управления доменными именами ресурсов в проекте. - -Сервис DNS предоставляет одну зону в `cloud.dfcloud.ru`. - -Для каждого проекта автоматически создается зона: `.cloud.dfcloud.ru`. В этой зоне можно [управлять записями](../dns/dns-instructions/dns-create.md): создавать, редактировать, удалять. - -При создании виртуального ВМа автоматически добавляются: -- FQDN ВМа в прямой зоне; -- PTR-запись в обратной зоне. \ No newline at end of file diff --git a/src/guide/storage/storage-instructions/s3-connect/s3cmd.md b/src/guide/storage/storage-instructions/s3-connect/s3cmd.md deleted file mode 100644 index d20bcd0..0000000 --- a/src/guide/storage/storage-instructions/s3-connect/s3cmd.md +++ /dev/null @@ -1,86 +0,0 @@ -# S3cmd - -S3cmd — это консольный клиент (Linux, Mac) для работы с Amazon S3-совместимыми хранилищами. - -Подробности о работе c s3cmd см. [в документации s3cmd](https://s3tools.org/s3cmd-howto). - -## Подготовительные шаги - -- [Создайте аккаунт S3 и ключ доступа](../storage-s3.md#создать-аккаунт). Сохраните ключ **secret**. -- Установите [S3cmd](https://s3tools.org/download). - -## Настроить подключение - -Перед настройкой подключения [создайте аккаунт и ключ доступа](../storage-s3.md#создать-аккаунт). - -Настроить подключение к хранилищу можно одним из способов: -- **1 способ**: установить значения переменных и подключиться к хранилищу; -- **2 способ**: настроить подключение с помощью стандартной команды s3cmd `s3cmd --configure`. - -::: tabs - -== 1 способ -1. Установите значения переменных: - - ```sh - S3_ACCESS_KEY=... - S3_SECRET_KEY=... - S3_URL=... - ``` - где: - - `S3_ACCESS_KEY`: введите *Access key*, полученный при [создании хранилища в консоли управления](../storage-s3.md#создать-аккаунт). - - `S3_SECRET_KEY`: введите ключ *secret*, полученный при [создании хранилища в консоли управления](../storage-s3.md#создать-аккаунт). - - `S3_URL`: имя хоста для подключения соответствует [региону](../../storage-overview.md#регионы-и-зоны-доступности). - -2. Подключите хранилище: - - ```sh - s3cmd --ssl --access_key="${S3_ACCESS_KEY}" --secret_key="${S3_SECRET_KEY}" --host="${S3_URL}" --region=US --no-progress --host-bucket="%(bucket)" --dump-config > ~/.s3cfg - ``` - -== 2 способ -1. Выполните команду в терминале: - - ```sh - s3cmd --configure - ``` -2. Укажите значения для следующих параметров: - - `Access Key`: введите *Access key*, полученный при [создании хранилища в консоли управления](../storage-s3.md#создать-аккаунт). - - `Secret Key`: введите ключ *secret*, полученный при [создании хранилища в консоли управления](../storage-s3.md#создать-аккаунт) - - . - - `S3 Endpoint`: имя хоста для подключения соответствует [региону](../../storage-overview.md#регионы-и-зоны-доступности). - - `DNS-style bucket+hostname:port template for accessing a bucket`: введите `%(bucket)`. - - `Use HTTPS protocol`: введите `Y`. -3. Остальные настройки оставьте без изменений. -4. Устанавливается соединение. В случае успеха, отобразится `Success. Your access key and secret key worked fine :-)`. -5. Сохраните конфигурацию: `Save settings? [y/N]`: введите `Y` - -::: - -S3cmd сохранит настройки в файле `~/.s3cfg`, его можно изменить вручную. - -::: warning Важно -Если при установке соединения с хранилищем возникла ошибка валидности SSL-сертификатов, то выполните команду в терминале для добавления корневого сертификата: - -```sh -echo 'alias s3cmd="s3cmd --ca-certs /etc/ssl/certs/ca-certificates.crt"' >> ~/.profile -``` -Выполните настройку подключения к хранилищу снова. -::: - -## Проверить подключение к хранилищу - -Выполните команду в терминале: - -```sh -s3cmd ls -``` -В выводе должен отобразиться список доступных бакетов. Список может быть пустым, если в хранилище не создано ни одного бакета. - -## Примеры команд - -- `s3cmd --help` - справка. -- `s3cmd mb s3://<имя_бакета>` - создание бакета. -- `s3cmd ls s3://<имя_бакета>` - получение списка бакетов. - -Подробности о работе c s3cmd см. [в документации s3cmd](https://s3tools.org/usage). \ No newline at end of file diff --git a/src/guide/storage/storage-instructions/s3-connect/winscp.md b/src/guide/storage/storage-instructions/s3-connect/winscp.md deleted file mode 100644 index 4c1fec5..0000000 --- a/src/guide/storage/storage-instructions/s3-connect/winscp.md +++ /dev/null @@ -1,44 +0,0 @@ -# WinSCP - -WinSCP — это графический клиент, поддерживающий работу с различными типами хранилищ, в том числе с [Amazon S3](https://aws.amazon.com/ru/s3/) совместимыми хранилищами. Доступен для Windows. - -## Настроить подключение - -1. [Создайте аккаунт и ключ доступа](../storage-s3.md#создать-аккаунт). -2. Скачайте WinSCP с [официального сайта](https://winscp.net/eng/download.php). -3. Откройте WinSCP. -4. Cоздайте новое подключение: - - **Протокол передачи**: выберите из списка *Amazon S3*. - - **Имя хоста**: соответствует [региону](../../storage-overview.md#регионы-и-зоны-доступности). - - **Порт**: введите *443*. - - **Идентификатор ключа доступа**: введите *Access key*, полученный при создании аккаунта в консоли управления. - - **Секретный ключ доступа**: введите ключ *Secret*, полученный при создании аккаунта в консоли управления. -5. Нажмите **Еще**. -6. В окне **Расширенные настройки соединения** выберите **Среда → S3 → Стиль по умолчанию URL** значение *Путь*. -7. Нажмите **OK**. -8. Нажмите **Войти**, потребуется еще раз ввести секретный ключ доступа. - -В результате успешного подключения на вкладке справа отобразятся бакеты. Список может быть пустым, если в хранилище не создано ни одного объекта. - -Подробности о работе WinSCP с S3-совместимыми хранилищами см. [в документации WinSCP](https://winscp.net/eng/docs/guide_amazon_s3#buckets). - -## Проверить доступность хранилища - -Для проверки доступности хранилища создайте файл в хранилище и попробуйте его скачать. - -1. Войдите в S3 хранилище. -2. В меню **Файлы** выберите **Новый → Каталог**; - - введите название каталога по [правилам](../../storage-overview.md#правила-именования); -3. Создайте файл в каталоге из п. 2: - - в меню **Файлы** выберите **Новый → Файл**; - - введите название файла по [правилам](../../storage-overview.md#правила-именования); - - сохраните файл. -4. Выдайте права на действия с файлом: - - правой кнопкой мыши нажмите на имя файла и выберите **Свойства**; - - в ACL установите права **R** для всех; - - нажмите **OK**. -5. Проверьте сетевую доступность файла, созданного на шаге 3: - - правой кнопкой мыши нажмите на имя файла и выберите **Файловые пользовательские команды → Сгенерировать URL для протокола HTTP**; - - в открывшемся окне нажмите **Копировать**; - - вставьте скопированную ссылку в браузер, заменив `http://` на `https://`; - - начнется скачивание файла. \ No newline at end of file diff --git a/src/guide/storage/storage-instructions/storage-s3.md b/src/guide/storage/storage-instructions/storage-s3.md deleted file mode 100644 index 5bd0122..0000000 --- a/src/guide/storage/storage-instructions/storage-s3.md +++ /dev/null @@ -1,136 +0,0 @@ -# Управление хранилищем - -## Создать аккаунт - -При добавлении хранилища выполняется создание аккаунта S3 и ключей доступа. - -::: tip Информация -В момент создания нового хранилища сохраните ключи и секреты (токены) доступа. Данная информация не хранится на ВМах Vega. В случае утери ключей доступа все данные хранилища будут недоступны. -::: - -1. Перейдите в консоль управления. -2. Откройте **Объектное хранилище**. -3. Нажмите **Добавить хранилище**. -4. Заполните параметры хранилища: - - **Регион**: выбрать из списка. - - **Название аккаунта**: введите название аккаунта. - - **Размер хранилища**: введите значение в Гбайтах, размер хранилища ограничен квотой. -5. Нажмите **Создать**. -6. В открывшемся окне скопируйте ключи и сохраните их в надежном месте. -7. Нажмите **Закрыть**. - -Аккаунт S3 будет добавлен в разделе **Объектное хранилище**. Далее необходимо [подключиться к хранилищу c помощью утилиты S3cmd](../storage-instructions/s3-connect/s3cmd.md) или [WinSCP](../storage-instructions/s3-connect/winscp.md). - -## Удалить аккаунт - -::: warning Важно -Перед удалением аккаунта удалите бакеты вручную. -::: - -1. Перейдите в консоль управления. -2. Откройте **Объектное хранилище**. -3. Найдите нужное хранилище. -5. Нажмите ⠇ и выберите **Удалить**. -6. В открывшемся окне подтвердите операцию: - - Скопируйте предложенный текст. - - Нажмите **Удалить**. - -## Управление жизненным циклом объектов в бакете - -Управление жизненным циклом объектов позволяет настроить автоматическое удаление отдельных объектов или групп объектов по заданным условиям и расписанию. - -Для управления жизненными циклами с помощью S3cmd используется [конфигурация в формате XML](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html). - -::: tabs - -== Загрузить политику - -```sh -s3cmd setlifecycle bucket-lifecycle.xml s3://bucket -``` - -== Получить политику - -```sh -s3cmd getlifecycle s3://bucket -``` - -== Удалить политику - -```sh -s3cmd dellifecycle s3://bucket -``` -::: - -## Управление доступом (ACL) - -Access Control List (ACL) — список управления доступом, который определяет, список пользователей для доступа к файлам или бакету и список допустимых или запрещенных операции. - -Для управления доступом в S3 хранилище можно использовать команды из [документации S3cmd](https://s3tools.org/s3cmd). - -## Монтирование бакета - -Монтирование бакета позволит управлять содержимым S3-хранилища через интерфейс файловой системы. Бакет объектного хранилища монтируется через [FUSE](https://ru.wikipedia.org/wiki/FUSE_(%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C_%D1%8F%D0%B4%D1%80%D0%B0)). - -В инструкции рассмотрено разовое монтирование контейнера. В этом случае при каждой перезагрузке системы контейнер будет размонтирован. Потребуется выполнить монтирование контейнера вручную после перезагрузки системы. - -::: tabs -== GeeseFS -1. Установите клиент GeeseFS. -2. Сделайте файл geesefs исполняемым и поместите его в директорию `/bin`: - - ```sh - chmod 700 geesefs-linux-amd64 - mv geesefs-linux-amd64 /bin/geesefs - ``` - -3. [Используйте ключ доступа, полученный при создании аккаунта](#создать-аккаунт), и поместите его в директорию `~/.aws/credentials`: - - ``` - [default] - aws_access_key_id = - aws_secret_access_key = - ``` -4. Создайте директорию, в которой будет отображаться содержимое бакета. Например, `/mnt/s3`. -5. Для монтирования бакета выполните команду: - - ```sh - /bin/geesefs --endpoint <имя бакета> /mnt/s3/ - ``` -== S3fs -1. Установите клиент S3fs: - - ```sh - apt install s3fs - ``` -2. Cохраните [ключ доступа и секретный ключ, полученные при создании аккаунта](#создать-аккаунт) в файле `~/.passwd-s3fs`: - - ```sh - echo <идентификатор_ключа>:<секретный_ключ> > ~/.passwd-s3fs - ``` -3. Ограничьте доступ к файлу `~/.passwd-s3fs`: - - ```sh - chmod 600 ~/.passwd-s3fs - ``` -4. Для монтирования бакета выполните команду: - - ```sh - s3fs <имя_бакета> <путь_к_директории> -o passwd_file=~/.passwd-s3fs -o url=<адрес_endpoint> -o use_path_request_style - ``` - -::: - -Для проверки монтирования бакета выполните команду: - -```sh -df-h -``` - -### Размонтировать бакет - -Для размонтирования бакета выполните команду: - -```sh -umount <путь_к_директории> -``` \ No newline at end of file diff --git a/src/guide/storage/storage-limits.md b/src/guide/storage/storage-limits.md deleted file mode 100644 index cbacc4c..0000000 --- a/src/guide/storage/storage-limits.md +++ /dev/null @@ -1,3 +0,0 @@ -# Квоты и лимиты - -Для сервиса действует квота по умолчанию, определяемая при инициализация проекта, в размере 100 Гбайт. \ No newline at end of file diff --git a/src/guide/storage/storage-ola.md b/src/guide/storage/storage-ola.md deleted file mode 100644 index 91c4636..0000000 --- a/src/guide/storage/storage-ola.md +++ /dev/null @@ -1,17 +0,0 @@ -# Уровень обслуживания - -Настоящий документ определяет уровень обслуживания (SLA) сервиса «Объектное хранилище». - - -## Описание предоставляемых услуг - -В таблице рассмотрены услуги, предоставляемые в рамках SLA сервиса «Объектное хранилище». - -| Наименование услуги | Краткое описание | Ценность для потребителя | Целевая аудитория | -|---|---|---|---| -| Доступ к S3 хранилищу | Web-доступ к эластичному хранилищу данных | Возможность очень быстрого подключения дискового пространства в приложение, ВМ, ВРС и т. п. | DevOps
Администраторы | - - -## Доступность услуги - -Доступ к S3 хранилищу 99,5 %. diff --git a/src/guide/storage/storage-overview.md b/src/guide/storage/storage-overview.md deleted file mode 100644 index aa33600..0000000 --- a/src/guide/storage/storage-overview.md +++ /dev/null @@ -1,26 +0,0 @@ -# Обзор сервиса - -Сервис «Объектное хранилище» предназначен для хранения и извлечения данных. Доступ к объектам осуществляется из любых периметров по протоколу https. - -## Регионы и зоны доступности - -| Регион | Хранилище | Адрес | -| -------------------------------- | --------- | ---------------------------------------- | -| s3-cloud-dfcloud-ru | Ceph | https://s3.cloud.dfcloud.ru | - - -## Модели адресации в S3 - -Сервис поддерживает модель адресации для доступа к объектному хранилищу S3: - -- `Path-style` — модель, при которой название бакета указывается в части пути до объекта, например: https://s3.cloud.dfcloud.ru/bucket/file.txt - -## Правила именования - -Правила именования бакетов: - - имя бакета в корневом каталоге должно быть уникальным для всего хранилища S3, на каталоги 2-го и последующих уровней это правило не распространяется; - - может содержать строчные буквы латинского алфавита, цифры, дефис и подчеркивания; - - подчеркивание недопустимо для имени бакета в корневом каталоге. - -Правила именования файлов в бакете: -- может содержать строчные буквы латинского алфавита, цифры, дефис и подчеркивания. \ No newline at end of file diff --git a/src/terraform/faq.md b/src/terraform/faq.md deleted file mode 100644 index bb54b66..0000000 --- a/src/terraform/faq.md +++ /dev/null @@ -1,84 +0,0 @@ -# Вопросы и ответы - -## Не могу найти ресурс, созданный через Terraform? - -Во время выполнения команды `terraform [apply | plan]` получаем ошибку `404` __ВМ по вашему запросу не найден__: - -``` -lanning failed. Terraform encountered an error while generating this plan. -╷ -│ Error: url=[https://console.cloud.dfcloud.ru/api/v1/projects/vega-dev-demo/vps/servers/cac9da7e-d3b1-488c-9bb0-277fd20140d1,body=] -{"code":404,"error":"server-not-found","description":"ВМ по вашему запросу не найден"} // [!code focus] -│  -│   with beecloud_server.router[1], // [!code focus] -│   on main.tf line 23, in resource "beecloud_server" "router": -│   23: resource "beecloud_server" "router" { -│  -``` -Решение: - -1. Удалите поломанный ресурс из файла состояния: - ```sh - terraform state rm "beecloud_server.router[1]" - ``` - Вывод: - - ``` - Removed beecloud_server.router[1] - Successfully removed 1 resource instance(s). - ``` -2. Повторно примените конфигурацию Terraform:  - - ```sh - terraform apply - ``` - - Terraform создаст недостающий ресурс. - -## Что делать, если при создании ресурса Terraform выдает ошибку: "context deadline exceeded"? - -Во время выполнения команды `terraform apply` получаем ошибку: __context deadline exceeded__ - -``` -beecloud_server.my-server: Creating... -... -beecloud_server.my-server: Still creating... [10m elapsed] -╷ -│ Error: Error waiting for server ae8c5364-16e4-4b9b-84e1-092a04647838 to come ready, error: context deadline exceeded // [!code focus] -│ -│ with beecloud_server.my-server, // [!code focus] -│ on main.tf line 31, in resource "beecloud_server" "my-server": -│ 31: resource "beecloud_server" "my-server" { -╵ -``` - -Решение: - -Увеличьте тайм-аут ожидания ресурса при создании: - -```hcl -resource "beecloud_server" "my-server" { - ... - - timeouts { - create = "30m" - } -} -``` - -Тайм-ауты по умолчанию для операций: - -| CRUD Function | Default Timeout | -|----------------------|-----------------| -| Create | 20 minutes | -| CreateContext | 20 minutes | -| CreateWithoutTimeout | N/A | -| Delete | 20 minutes | -| DeleteContext | 20 minutes | -| DeleteWithoutTimeout | N/A | -| Read | 20 minutes | -| ReadContext | 20 minutes | -| ReadWithoutTimeout | N/A | -| Update | 20 minutes | -| UpdateContext | 20 minutes | -| UpdateWithoutTimeout | N/A | \ No newline at end of file diff --git a/src/terraform/index.md b/src/terraform/index.md deleted file mode 100644 index afec2e4..0000000 --- a/src/terraform/index.md +++ /dev/null @@ -1,31 +0,0 @@ -# Terraform - -[Terraform](https://www.terraform.io/) позволяет быстро создать облачную инфраструктуру в Облаке Vega и управлять ей с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). Terraform и его провайдеры распространяются под лицензией [Business Source License](https://github.com/hashicorp/terraform/blob/main/LICENSE). - -При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить. - -## Установите Terraform - -::: tabs -== UNIX -Выполните команду в терминале: - -Ubuntu/Debian -```sh -wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg -echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list -sudo apt update && sudo apt install terraform -``` - -== MacOS -Выполните команду в терминале: - -```sh -brew tap hashicorp/tap -brew install hashicorp/tap/terraform -``` - -== Windows -Установить по ссылке [386 v1.9.6](https://releases.hashicorp.com/terraform/1.9.6/terraform_1.9.6_windows_386.zip) [AMD64 v1.9.6](https://releases.hashicorp.com/terraform/1.9.6/terraform_1.9.6_windows_amd64.zip) - -::: diff --git a/src/terraform/providers/beecloud/compute/data-sources/beecloud_affinity_groups.md b/src/terraform/providers/beecloud/compute/data-sources/beecloud_affinity_groups.md deleted file mode 100644 index 0e7578a..0000000 --- a/src/terraform/providers/beecloud/compute/data-sources/beecloud_affinity_groups.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -page_title: "beecloud: beecloud_affinity_groups" -description: "Get information about multiple beecloud affinity groups" ---- - -# Источник данных: beecloud_affinity_groups - -Получение информации обо всех аффинити-группах проекта. - -## Пример конфигурации - -Получение всех аффинити-групп проекта - -```hcl -data "beecloud_affinity_groups" "all" {} - -output "beecloud_affinity_groups_all" { - value = data.beecloud_affinity_groups.all -} -``` - -Дополнительная фильтрация по ID региона - -```hcl -data "beecloud_affinity_groups" "by_region" { - region = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" -} - -output "beecloud_affinity_groups_by_region" { - value = data.beecloud_affinity_groups.by_region -} -``` - -## Возвращаемые поля -- `id` - Проект в beecloud, к которому относятся ВМа (ID/Slug). -- `affinity_groups` - Список аффинити-групп. - - `affinity_group_id` - ID в системе TF. Соответствует ID группы. - - `project_id` - ID проекта. - - `name` - Наименование ВМа. - - `policy` - Политика группы (affinity/soft-affinity/anti-affinity/soft-anti-affinity). - - `region` - Данные о регионе. - - `id` - ID региона - - `slug` - Слаг региона. - - `name` - Наименование региона. - - `condition` - Состояние группы (статус) (готовность к использованию). \ No newline at end of file diff --git a/src/terraform/providers/beecloud/compute/data-sources/beecloud_flavors.md b/src/terraform/providers/beecloud/compute/data-sources/beecloud_flavors.md deleted file mode 100644 index de23378..0000000 --- a/src/terraform/providers/beecloud/compute/data-sources/beecloud_flavors.md +++ /dev/null @@ -1,97 +0,0 @@ ---- -page_title: "beecloud: beecloud_flavors" -description: "Get information about multiple beecloud Flavors of project" ---- - -# Источник данных: beecloud_flavors - -Получение информации обо всех тарифах, доступных проекту. - -## Пример конфигурации - -```hcl -data "beecloud_flavors" "all" {} - -output "beecloud_flavors_all" { - value = data.beecloud_flavors.all -} -``` - -## Список доступных тарифов - -```hcl -data "beecloud_flavors" "all_slug" {} - -output "flavors_slug" { - value = data.beecloud_flavors.all_slug.flavors[*].slug -} -``` - -## Варианты фильтрации - -Поиск по CPU и RAM - -> RAM указывается в Мегабайтах пример (2048 Мб = 2 Гб) - -```hcl -data "beecloud_flavors" "cpu2" { - filters { - vcpu = 2 - } -} - -output "flavors_cpu2" { - value = data.beecloud_flavors.cpu2 -} - -data "beecloud_flavors" "cpu2ram2" { - filters { - vcpu = 2 - ram = 2 * 1024 - } -} - -output "flavors_cpu2ram2" { - value = data.beecloud_flavors.cpu2ram2 -} - -``` - -## Возвращаемые поля - -- `id` - TF ID. Соответствует ID/Slug проекта. -- `filters` - параметры фильтра - - `ram` - значение заданного фильтра для ОЗУ - - `vcpu` - значение заданного фильтра для ЦПУ -- `flavors` - Список доступных тарифов. - - `flavor_id` - ID тарифа. - - `group` - Тарифная группа. - - `name` - Наименование тарифа. - - `ram` - Параметр ram тарифа. - - `regions` - Доступен для регионов. Список. - - `slug` - Slug тарифа. - - `vcpu` - Параметр vcpu тарифа. - -# beecloud_flavor - -Получение информации о тарифе - -```hcl -data "beecloud_flavor" "cpu2_ram2" { - slug = "cpu2ram2" -} - -output "flavor_id" { - value = data.beecloud_flavor.cpu2_ram2.flavor_id -} -``` - -## Возвращаемые поля - -- `flavor_id` - ID тарифа. -- `slug` - Slug тарифа. -- `name` - Наименование тарифа. -- `vcpu` - Параметр vcpu тарифа. -- `ram` - Параметр ram тарифа. -- `group` - Тарифная группа. -- `regions` - Доступен для регионов. Список. \ No newline at end of file diff --git a/src/terraform/providers/beecloud/compute/data-sources/beecloud_images.md b/src/terraform/providers/beecloud/compute/data-sources/beecloud_images.md deleted file mode 100644 index 29a3c0f..0000000 --- a/src/terraform/providers/beecloud/compute/data-sources/beecloud_images.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -page_title: "beecloud: beecloud_images" -description: "Get information about multiple beecloud Images of project" ---- - -# Источник данных: beecloud_images - -Получение информации обо всех образах, доступных проекту. - -## Пример конфигурации - -```hcl -data "beecloud_images" "all" {} - -output "beecloud_images_all" { - value = data.beecloud_images.all -} -``` - -## Возвращаемые поля - -- `id` - TF ID. Соответствует ID/Slug проекта. -- `images` - Список доступных образов. - - `image_id` - ID образа. - - `slug` - Slug образа. - - `name` - Наименование образа. - - `distribution` - Дистрибутив образа. - - `version` - Версия образа. - - `min_disk` - Минимальный размер диска. - - `regions` - Доступен для регионов. Список. \ No newline at end of file diff --git a/src/terraform/providers/beecloud/compute/data-sources/beecloud_regions.md b/src/terraform/providers/beecloud/compute/data-sources/beecloud_regions.md deleted file mode 100644 index 6f90a83..0000000 --- a/src/terraform/providers/beecloud/compute/data-sources/beecloud_regions.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -page_title: "beecloud: beecloud_regions" -description: "Get information about multiple beecloud Regions of project" ---- - -# Источник данных: beecloud_regions - -Получение информации обо всех регионах, доступных проекту. - -## Пример конфигурации - -```hcl -data "beecloud_regions" "all" {} - -output "beecloud_regions_all" { - value = data.beecloud_regions.all -} -``` - -## Возвращаемые поля - -- `id` - TF ID. Соответствует ID/Slug проекта. -- `regions` - Список доступных регионов. - - `region_id` - ID региона. - - `slug` - Slug региона. - - `name` - Наименование региона. - - `hypervisor` - Гипервизор. - - `location` - Местонахождение. - - `priority` - Приоритет. - - `zone` - Зона региона. - - `volumes_type` - Доступные типы дисков. Список. - - `features` - Сетевой периметр (?) - - `limits` - Лимиты региона. - - `instance` - Количество инстансов. - - `ram` - Ограничение по RAM. - - `vcpu` - Ограничение по VCPU. - - `volumes_size` - Объект типа "key:value". Размеры для каждого типа диска (hhd/ssd/nvme/..) \ No newline at end of file diff --git a/src/terraform/providers/beecloud/compute/data-sources/beecloud_server.md b/src/terraform/providers/beecloud/compute/data-sources/beecloud_server.md deleted file mode 100644 index 2bce3ab..0000000 --- a/src/terraform/providers/beecloud/compute/data-sources/beecloud_server.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -page_title: "beecloud: beecloud_server" -description: "Get information about beecloud Instance" ---- - -# Источник данных: beecloud_server - -Получение информации о ВМе. - -## Пример конфигурации - -```hcl -data "beecloud_server" "server_by_id" { - server_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" -} - -output "server_beecloud" { - value = data.beecloud_server.server_by_id -} -``` - -## Аргументы - -- `server_id` - ID ВМа. - -## Возвращаемые поля - -- `id` - ID TF. Соответствует ID ВМа. -- `name` - Наименование ВМа. -- `image` - Параметры образа ВМа. - - `id` - ID образа ВМа. - - `slug` - Slug образа. - - `name` - Наименование образа. -- `region` - Регион, где создан ВМ. - - `id` - ID региона. - - `slug` - Slug региона. - - `name` - Наименование региона. -- `flavor` - Тариф. - - `id` - ID тарифа. - - `slug` - Slug тарифа. - - `name` - Наименование тарифа. -- `volumes` - Список дисков. - - `id` - ID диска. - - `size` - Размер диска. - - `type` - Тип диска (hhd/ssd/nvme). - - `is_boot` - Загрузочный/дополнительный (`true`, `false`). - - `name` - Наименование диска. -- `addresses` - Список адресов. - - `type` - Тип адреса. - - `address` - IP адрес. - - `version` - Версия IP адреса (4/6). -- `status` - Статус ВМа (Создан/Создается/...) -- `fqdn` - Полный домен. -- `tags` - Список тэгов. -- `wait_completed` - Ключ ожидания состояния ВМа (Создан/Создается...). \ No newline at end of file diff --git a/src/terraform/providers/beecloud/compute/data-sources/beecloud_servers.md b/src/terraform/providers/beecloud/compute/data-sources/beecloud_servers.md deleted file mode 100644 index ae977ef..0000000 --- a/src/terraform/providers/beecloud/compute/data-sources/beecloud_servers.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -page_title: "beecloud: beecloud_servers" -description: "Get information about multiple beecloud Instances of project" ---- - -# Источник данных: beecloud_servers - -Получение информации обо всех ВМах проекта. - -## Пример конфигурации - -```hcl -data "beecloud_servers" "all" {} - -output "beecloud_servers_all" { - value = data.beecloud_servers.all -} -``` - -## Возвращаемые поля - -- `id` - Проект в beecloud, к которому относятся ВМыы (ID/Slug). -- `servers` - Список ВМов. - - `server_id` - ID ВМа. - - `name` - Наименование ВМа. - - `image` - Параметры образа ВМа. - - `id` - ID образа ВМа. - - `slug` - Slug образа. - - `name` - Наименование образа. - - `region` - Регион, где создан ВМ. - - `id` - ID региона. - - `slug` - Slug региона. - - `name` - Наименование региона. - - `flavor` - Тариф. - - `id` - ID тарифа. - - `slug` - Slug тарифа. - - `name` - Наименование тарифа. - - `volumes` - Список дисков. - - `id` - ID диска. - - `size` - Размер диска. - - `type` - Тип диска (hhd/ssd/nvme). - - `is_boot` - Загрузочный/дополнительный (`true`, `false`). - - `name` - Наименование диска. - - `addresses` - Список адресов. - - `type` - Тип адреса. - - `address` - IP адрес. - - `version` - Версия IP адреса (4/6). - - `status` - Статус ВМа (Создан/Создается/...) - - `fqdn` - Полный домен. - - `tags` - Список тэгов. - - `wait_completed` - Ключ ожидания состояния ВМа (Создан/Создается...). - - - - diff --git a/src/terraform/providers/beecloud/compute/data-sources/beecloud_volume.md b/src/terraform/providers/beecloud/compute/data-sources/beecloud_volume.md deleted file mode 100644 index 2eea12d..0000000 --- a/src/terraform/providers/beecloud/compute/data-sources/beecloud_volume.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -page_title: "beecloud: beecloud_volume" -description: "Get information about beecloud Volume" ---- - -# Источник данных: beecloud_volume -Получение информации о диске. - -## Пример конфигурации - -```hcl -data "beecloud_volume" "vlm_by_id" { - volume_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" -} - -output "beecloud_volume_by_id" { - value = data.beecloud_volume.vlm_by_id -} -``` - -## Аргументы -- `volume_id` - ID диска. - -## Возвращаемые поля - -- `id` - ID TF. Соответствует ID диска. -- `project_id` - ID проекта. -- `region_id` - ID региона. -- `name` - Наименование диска. -- `size` - Размер диска. -- `type` - Тип диска. -- `is_boot` - Загрузочный/дополнительный (`true`, `false`). -- `attached_to` - ID ВМа, к которому примонтирован. -- `last_updated` - Время последнего обновления ресурса. diff --git a/src/terraform/providers/beecloud/compute/data-sources/beecloud_volumes.md b/src/terraform/providers/beecloud/compute/data-sources/beecloud_volumes.md deleted file mode 100644 index cd5e261..0000000 --- a/src/terraform/providers/beecloud/compute/data-sources/beecloud_volumes.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -page_title: "beecloud: beecloud_volumes" -description: "Get information about multiple beecloud Volumes of project" ---- - -# Источник данных: beecloud_volumes -Получение информации обо всех дисках проекта. - -## Пример конфигурации - -```hcl -data "beecloud_volumes" "all" {} - -output "beecloud_volumes_all" { - value = data.beecloud_volumes.all -} -``` - -## Возвращаемые поля - -- `id` - ID TF. Соответствует ID/Slug проекта. -- `volumes` - Список дисков. - - `volume_id` - ID диска. - - `project_id` - ID проекта. - - `region_id` - ID региона. - - `name` - Наименование диска. - - `size` - Размер диска. - - `type` - Тип диска. - - `is_boot` - Загрузочный/дополнительный (`true`, `false`). - - `attached_to` - ID ВМа, к которому примонтирован. - - `last_updated` - Время последнего обновления ресурса. \ No newline at end of file diff --git a/src/terraform/providers/beecloud/compute/resources/beecloud_address_ip.md b/src/terraform/providers/beecloud/compute/resources/beecloud_address_ip.md deleted file mode 100644 index aa80e4c..0000000 --- a/src/terraform/providers/beecloud/compute/resources/beecloud_address_ip.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -page_title: "beecloud: beecloud_address_ip" -description: "Manages beecloud Address IPs" ---- - -# Ресурс: beecloud_address_ip -Получение информации об адресах. - -Создание и управление адресами проекта в beecloud. Больше информации в [swagger](https://beecloud.vimpelcom.ru/api/v1/vps/swagger/index.html#/). - -Ресурс может быть создан/прочитан/удален. - -```hcl -resource "beecloud_address_ip" "server_ip" { - - region_id = "xxxx-xxxx-xxxx-xxxx" -} -``` - -## Аргументы - -- `region` - (Обязательно) Данные о регионе. - - `id` - (Обязательно) ID региона. - -## В дополнение к приведенным выше аргументам, возвращаются следующие параметры: - -- `id` - ID в системе TF. Соответствует ID адреса. -- `project_id` - ID проекта. -- `name` - наименование адреса. -- `address` - значение IP адреса. -- `version` - версия адреса (UNKNOWN/4/6). -- `status` - статус адреса (UNKNOWN/FREE/USED/RESERVED). -- `purpose` - назначение адреса. -- `type` - тип адреса (UNKNOWN/EXTERNAL/INTERNAL). -- `metadata` - дополнительные управляющие параметры. diff --git a/src/terraform/providers/beecloud/compute/resources/beecloud_affinity_group.md b/src/terraform/providers/beecloud/compute/resources/beecloud_affinity_group.md deleted file mode 100644 index 4df7ac1..0000000 --- a/src/terraform/providers/beecloud/compute/resources/beecloud_affinity_group.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -page_title: "beecloud: beecloud_affinity_group" -description: "Manages Affinity Groups of servers" ---- - -# Ресурс: beecloud_affinity_group -Управление Аффинити-группами (группами размещения) ВМов. -Поддерживается создание/удаление/чтение/обновление (согласно API beecloud обновление поддерживается только для именования группы, остальные изменения повлекут пересоздание группы) - -Политики (согласно API beecloud): **affinity/soft-affinity/anti-affinity/soft-anti-affinity** - -## Примеры конфигураций -### Основное - -```hcl -resource "beecloud_affinity_group" "affinity_policy" { - region { - id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" - } - name = "tf-affinity-group" - policy = "affinity" -} - -output "beecloud_affinity_group_policy" { - value = beecloud_affinity_group.affinity_policy -} -``` - -## Аргументы - -- `name` - (Обязательно) Наименование ВМа. -- `policy` - (Обязательно) Политика группы (affinity/soft-affinity/anti-affinity/soft-anti-affinity). -- `region` - (Обязательно) Данные о регионе. - - `id` - (Обязательно) ID региона. - - -## В дополнение к приведенным выше аргументам, возвращаются следующие параметры: -- `id` - ID в системе TF. Соответствует ID группы. -- `affinity_group_id` - ID в системе TF. Соответствует ID группы. -- `project_id` - ID проекта. -- `region` - Данные о регионе. - - `id` - ID региона - - `slug` - Слаг региона. - - `name` - Наименование региона -- `condition` - Состояние группы (статус) (готовность к использованию) \ No newline at end of file diff --git a/src/terraform/providers/beecloud/compute/resources/beecloud_server.md b/src/terraform/providers/beecloud/compute/resources/beecloud_server.md deleted file mode 100644 index 5adf9f2..0000000 --- a/src/terraform/providers/beecloud/compute/resources/beecloud_server.md +++ /dev/null @@ -1,245 +0,0 @@ ---- -page_title: "beecloud: beecloud_server" -description: "Manages beecloud Instances" ---- - -# Ресурс: beecloud_server - -Создание и управление ВМами проекта в beecloud. Больше информации в [swagger](https://beecloud.vimpelcom.ru/api/v1/vps/swagger/index.html). - -Ресурс может быть создан/прочитан/обновлен/удален. -Обновляется только при монтировании/демонтировании доп.дисков или изменении тэгов, в остальных случаях - пересоздание. -Для защиты от случайного пересоздания можно использовать `lifecycle`: - -```hcl -resource "beecloud_server" "test" { - - ... - - lifecycle { - prevent_destroy = true - } -} -``` - -Посмотреть текущее состояние ресурса: - -```bash -$ terraform state show beecloud_server.test -``` - -## Примеры конфигураций - -```hcl -resource "beecloud_server" "test" { - flavor { - id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" - } - image { - id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" - } - region { - id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" - } - name = "tf-create-server-test" - - root_volume { - size = 40 - type = "hdd" - } -} - -output "beecloud_server_test" { - value = beecloud_server.test -} -``` - -### С дополнительными дисками - -```hcl -resource "beecloud_server" "test" { - flavor { - id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" - } - image { - id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" - } - region { - id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" - } - name = "tf-create-server-test" - - root_volumes { - size = 40 - type = "hdd" - } - - additional_volume_ids = ["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"] -} -``` -> Note: Поле с дисками может изменить состояние после использования ресурса `beecloud_volume`. Необходимо будет синхронизировать состояние. - -### С тэгами - -```hcl -resource "beecloud_server" "test" { - flavor { - id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" - } - image { - id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" - } - region { - id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" - } - name = "tf-create-server-test" - - root_volumes { - size = 40 - type = "hdd" - } - - additional_volume_ids = ["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"] - - tags = ["dev", "test"] -} -``` - -### С управлением адресом -Передается UUID адреса. Он может быть заранее создан ресурсом "beecloud_address_ip". - -```hcl -resource "beecloud_server" "test" { - flavor { - id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" - } - image { - id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" - } - region { - id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" - } - name = "tf-create-server-test" - - root_volumes { - size = 40 - type = "hdd" - } - - address = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" -} -``` - -### С аффинити-группой -Передается UUID группы. Он может быть заранее создан ресурсом "beecloud_affinity_group". - -```hcl -resource "beecloud_server" "test" { - flavor { - id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" - } - image { - id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" - } - region { - id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" - } - name = "tf-create-server-test" - - root_volumes { - size = 40 - type = "hdd" - } - - affinity { - id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" - } -} - -``` - -> ->~> **На заметку**: Для примонтирования/демонтирования есть два способа: ->1. Использовать поле `additional_volume_ids` ->2. Использовать ресурс `beecloud_volume_bind` -> ->Не использовать вместе! -> - - -## Аргументы - -- `name` - (Обязательно) Наименование ВМа (должно быть уникальным). -- `image` - (Обязательно) Данные об образе. - - `id` - (Обязательно) ID образа. -- `region` - (Обязательно) Данные о регионе. - - `id` - (Обязательно) ID региона. -- `flavor` - (Обязательно) Данные о тарифе. - - `id` - (Обязательно) ID тарифа. -- `root_volume` - (Обязательно) Диски. Минимум один экземпляр для загрузочного диска. - - `size` - (Обязательно) Размер диска. - - `type` - (Обязательно) Тип диска. -- `additional_volume_ids` - (Опционально) Список дополнительных (примонтированных) дисков. -- `address` - (Опционально) Данные об адресе (Если нужно управлять адресом - лучше его отдельно выделить как ресурс и прописать его ID в ВМе) - - `id` - ID адреса, с которым будет создан ВМ -- `tags` - (Опционально) Список тэгов. -- `wait_completed` - (Опционально) По умолчанию: `true`. Этот ключ отвечает за ожидание полного создания ВМа. Если переключить его в `false`, то ресурс не будет дожидаться полного создания ВМа, ВМ будет в статусе "Создается". -- `affinity` - (Опционально) Данные об аффинити-группе - - `id` - ID аффинити-группы, с учетом правила которой будет создан ВМ. Изменение ID повлечет пересоздание ВМа. - -## В дополнение к приведенным выше аргументам, возвращаются следующие параметры: - -- `id` - ID в системе TF. Соответствует ID ВМа. -- `server_id` - ID созданного ВМа. -- `image` - Данные об образе. - - `slug` - Слаг образа. - - `name` - Имя образа. -- `region` - Данные о регионе. - - `slug` - Слаг региона. - - `name` - Имя региона. -- `flavor` - Данные о тарифе. - - `slug`- Слаг тарифа. - - `name` - Имя тарифа. -- `root_volume` - (Обязательно) Диски. Минимум один экземпляр для загрузочного диска. - - `id` - ID загрузочного ВМа. - - `is_boot` - Определение типа: загрузочный диск (`true`) или дополнительный (`false`). Загрузочный может быть только один. - - `name` - Имя диска (для загрузочных - наименование диска будет **`server_name`**`-boot`). -- `addresses` - Адрес ВМа. - - `id` - ID в системе TF. Соответствует ID адреса. - - `project_id` - ID проекта. - - `name` - наименование адреса. - - `address` - значение IP адреса. - - `version` - версия адреса (UNKNOWN/4/6). - - `status` - статус адреса (UNKNOWN/USED/RESERVED). - - - - `metadata` - дополнительные управляющие параметры. -- `status` - Статус ВМа (ACTIVE/BUILD/ERROR..). -- `fqdn` - Имя домена. -- `tags` - Список тэгов. -- `affinity` - Данные об аффинити-группе - - `id` - ID аффинити-группы. - - `name` - Наименование группы - - `project_id` - ID проекта - - `policy` - политика группы (affinity/soft-affinity/anti-affinity/soft-anti-affinity) - - `condition` - Текущее состояние группы(статус) - - -## Импорт - -Задаем конфигурацию, которая будет управлять импортом -``` -resource "beecloud_server" "import_server" {} - -``` -Передаем ID существующего ВМа, состояние которого хотим импортировать "75429417-2a18-435c-92fa-dae26dac4e3e": - -```bash -$ terraform import beecloud_server.import_server 75429417-2a18-435c-92fa-dae26dac4e3e -``` - -Затем все параметры состояния записываем в конфигурацию и синхронизируем. - - - - diff --git a/src/terraform/providers/beecloud/compute/resources/beecloud_volume.md b/src/terraform/providers/beecloud/compute/resources/beecloud_volume.md deleted file mode 100644 index c419ae6..0000000 --- a/src/terraform/providers/beecloud/compute/resources/beecloud_volume.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -page_title: "beecloud: beecloud_volume" -description: "Manages beecloud Volumes" ---- - -# Ресурс: beecloud_volume - -Создание и управление дисками проекта в beecloud. Больше информации в [swagger](https://beecloud.vimpelcom.ru/api/v1/core/swagger/index.html). - -Ресурс может быть создан/прочитан/обновлен/удален. - -## Примеры конфигураций - -```hcl -resource "beecloud_volume" "vlm" { - name = "vlm-added" - region_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" - size = 34 - type = "hdd" -} - -output "beecloud_vlm" { - value = beecloud_volume.vlm -} -``` - -## Параметры - -- `region_id` - (Обязательно) Данные о регионе. -- `name` - Наименование диска. -- `size` - Размер диска. -- `type` - Тип диска. - -## В дополнение к приведенным выше параметрам, возвращаются следующие поля: - -- `id` - ID TF. Соответствует ID диска. -- `volume_id` - ID диска. -- `project_id` - ID проекта. -- `is_boot` - Загрузочный/дополнительный (`true`, `false`). -- `attached_to` - ID ВМа, к которому примонтирован. -- `last_updated` - Время последнего обновления ресурса. - - -## Импорт - -Задаем конфигурацию, которая будет управлять импортом - -``` -resource "beecloud_volume" "import_volume" {} -``` - -Передаем ID существующего ВМа, состояние которого хотим импортировать "75429417-2a18-435c-92fa-dae26dac4e3e": - -```bash -$ terraform import beecloud_volume.import_volume 75429417-2a18-435c-92fa-dae26dac4e3e -``` \ No newline at end of file diff --git a/src/terraform/providers/beecloud/compute/resources/beecloud_volume_bind.md b/src/terraform/providers/beecloud/compute/resources/beecloud_volume_bind.md deleted file mode 100644 index 264604a..0000000 --- a/src/terraform/providers/beecloud/compute/resources/beecloud_volume_bind.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -page_title: "beecloud: beecloud_volume_bind" -description: "Manages beecloud Volumes (Attach/Detach to server)" ---- - -# Ресурс: beecloud_volume_bind - -Управление дисками проекта в beecloud. Больше информации в [swagger](https://beecloud.vimpelcom.ru/api/v1/core/swagger/index.html). - -Примонтировать/отмонтировать диск к/от ВМа. - -Примонтировать диск к ВМу: - -```bash -$ terraform apply -``` - -Отмонтировать диск: - -```bash -$ terraform destroy -``` - -## Примеры конфигураций - -```hcl -resource "beecloud_volume_bind" "attach" { - volume_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" - server_id = "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY" -} - -output "attach_beecloud_volume" { - value = beecloud_volume_bind.attach -} -``` - -## Параметры - -- `volume_id` - ID диска. -- `server_id` - ID ВМа. - -## В дополнение к приведенным выше параметрам, возвращаются следующие поля: - -- `id` - ID TF. Соответствует ID диска. -- `region_id` - ID региона. -- `project_id` - ID проекта. -- `name` - Наименование диска. -- `size` - Размер диска. -- `type` - Тип диска. -- `is_boot` - Загрузочный/дополнительный (`true`, `false`). -- `attached_to` - ID ВМа, к которому примонтирован. -- `last_updated` - Время последнего обновления ресурса. - diff --git a/src/terraform/providers/beecloud/dns/data-sources/beecloud_dns_records.md b/src/terraform/providers/beecloud/dns/data-sources/beecloud_dns_records.md deleted file mode 100644 index 9a16307..0000000 --- a/src/terraform/providers/beecloud/dns/data-sources/beecloud_dns_records.md +++ /dev/null @@ -1 +0,0 @@ -# Источник данных: vega_dns_records \ No newline at end of file diff --git a/src/terraform/providers/beecloud/dns/data-sources/beecloud_dns_zones.md b/src/terraform/providers/beecloud/dns/data-sources/beecloud_dns_zones.md deleted file mode 100644 index 4fb9d8e..0000000 --- a/src/terraform/providers/beecloud/dns/data-sources/beecloud_dns_zones.md +++ /dev/null @@ -1,30 +0,0 @@ - -# Источник данных: vega_dns_zones -Получение информации обо всех доступных зонах проекта - -## Пример конфигурации - -Получение всех зон - -```hcl -data "vega_dns_zones" "all" {} - -output "vega_affinity_groups_all" { - value = data.vega_dns_zones.all -} -``` - - \ No newline at end of file diff --git a/src/terraform/providers/beecloud/dns/resources/beecloud_dns_record.md b/src/terraform/providers/beecloud/dns/resources/beecloud_dns_record.md deleted file mode 100644 index a9d4a71..0000000 --- a/src/terraform/providers/beecloud/dns/resources/beecloud_dns_record.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -page_title: "beecloud: beecloud_dns_record" -description: "Manages beecloud DNS records" ---- - -# Ресурс: beecloud_dns_record -Управление dns записями. - -Создание и управление DNS записями проекта в beecloud. Больше информации в [swagger](https://beecloud.vimpelcom.ru/api/v1/dns/swagger/index.html#/). - -Ресурс может быть создан/прочитан/обновлен/удален. - -```hcl -// Получение списка доступных зон -data "beecloud_dns_zones" "local" {} - -locals { - // uuid первой зоны из списка - dns_zone_id = data.beecloud_dns_zones.local.dns_zones.0.zone_id -} - -resource "beecloud_dns_record" "my-name" { - name = "service1" - ttl = 600 - type = "CNAME" - zone_id = local.dns_zone_id - data = ["10.0.0.2"] - tags = ["tag1", "tag2"] -} -``` - -## Аргументы - -- `zone_id` - (Обязательно) ID DNS зоны. -- `name` - (Обязательно) Наименование. -- `type` - (Обязательно) Тип записи `A`, `AAAA`, `CNAME`,`PTR`. -- `data` - (Обязательно) -- `ttl` - (Опционально) По умолчанию: 600. -- `tags` - (Опционально) Набор тегов. - -## В дополнение к приведенным выше аргументам, возвращаются следующие параметры: - -- `id` - ID в системе TF. Соответствует ID адреса. -- `project_id` - ID проекта. -- `server_id` - ID ВМа, к которому относится запись. - - \ No newline at end of file diff --git a/src/terraform/providers/beecloud/index.md b/src/terraform/providers/beecloud/index.md deleted file mode 100644 index 19bedd1..0000000 --- a/src/terraform/providers/beecloud/index.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -page_title: "Provider: BeeCloud" -description: |- - The BeeCloud provider is used to manage BeeCloud resources. The provider needs to be configured with the proper credentials before it can be used. ---- - -# BeeCloud Provider - -BeeCloud провайдер используется для управления ресурсами облака. -Перед использованием провайдер должен быть настроен. - -## Terraform v.1.3.7 and later -``` -terraform { - required_providers { - beecloud = { - source = "console.cloud.dfcloud.ru/beeline/beecloud" - } - } -} -``` - -## Пример конфигурации - -``` -terraform { - required_providers { - beecloud = { - source = "console.cloud.dfcloud.ru/beeline/beecloud" - } - } -} - -provider "beecloud" { - project = "my-project" - token = "eafJKHnldkfbs.....sLbldfblhb" -} -``` - -## Аутентификация и Конфигурация - -Конфигурация провайдера BeeCloud может быть получена из нескольких источников, которые применяются в следующем порядке: - -* Параметры из конфигурации провайдера -* Из переменных среды -* Файлы общей конфигурации - -### Конфигурация провайдера - -Используя сервисный токен проекта: - -> Получить JWT токен(роль DevOps-инженер) https://console.cloud.dfcloud.ru/projects/{PROJECT}/service-token - -```hcl -provider "beecloud" { - token = "eafJKHnldkfbs.....sLbldfblhb" - project = "my-project" -} -``` - -### Переменные окружения - -```hcl -provider "beecloud" {} -``` - -Используя сервисный токен проекта: -```sh -$ export BEECLOUD_TOKEN="eafJKHnldkfbs.....sLbldfblhb" -$ export BEECLOUD_PROJECT="my-project" -``` - - -## Параметры конфигурации - -| Настройка | В провайдере | Переменная окружения | -|------------------------------------------------------------------------|--------------|----------------------| -| Идентификатор проекта | project | BEECLOUD_PROJECT | -| Сервисный токен проекта | token | BEECLOUD_TOKEN | -| URL платформы значение по умолчанию "https://console.cloud.dfcloud.ru" | url | BEECLOUD_API | diff --git a/src/terraform/providers/null/data-sources/null_data_source.md b/src/terraform/providers/null/data-sources/null_data_source.md deleted file mode 100644 index e69de29..0000000 diff --git a/src/terraform/providers/null/index.md b/src/terraform/providers/null/index.md deleted file mode 100644 index b0ca7ab..0000000 --- a/src/terraform/providers/null/index.md +++ /dev/null @@ -1,25 +0,0 @@ -# Null Provider - -Null provider - довольно необычный поставщик, у которого есть конструкции, которые намеренно ничего не делают. Это может показаться странным, и действительно, в большинстве случаев эти конструкции не обязательно использовать, но они могут быть полезны в различных ситуациях, чтобы помочь организовать сложное поведение или обойти ограничения. - -Документация по каждой функции этого поставщика, доступная через навигацию, содержит примеры ситуаций, в которых эти конструкции могут оказаться полезными. - -Использование нулевого поставщика может усложнить понимание конфигурации Terraform. Хотя в некоторых случаях это может быть полезно, применять его следует с осторожностью, а при наличии других решений отдавать предпочтение. - -Полная копия провайдера [hashicorp/null](https://github.com/hashicorp/terraform-provider-null) - -## Пример конфигурации - -``` -terraform { - required_providers { - null = { - source = "console.cloud.dfcloud.ru/beeline/null" - } - } -} - -provider "null" { - # Параметры конфигурации -} -``` diff --git a/src/terraform/providers/null/resources/null_resource.md b/src/terraform/providers/null/resources/null_resource.md deleted file mode 100644 index e69de29..0000000 diff --git a/src/terraform/quick-start.md b/src/terraform/quick-start.md deleted file mode 100644 index a5926ef..0000000 --- a/src/terraform/quick-start.md +++ /dev/null @@ -1,236 +0,0 @@ -# Terraform - -[SDK](https://git.vimpelcom.ru/common/vega) - -[Пример разворачивания веб-приложения в Docker с помощью Terraform](https://bwiki.beeline.ru/x/j9bNFQ) - -[FAQ](faq.md) - - \ No newline at end of file