Как подготовить дроплет Digitalocean с помощью Powershell 7
Установка ядра PowerShell
Создайте ключи API от DigitalOcean
- Войдите в панель управления DigitalOcean.
- Перейдите в раздел API.
- Нажмите «Создать новый токен».
- Введите имя токена и разрешите ему права чтения и записи.
- Скопируйте ключ API, так как он больше не будет отображаться. Затем мы будем использовать это для Terraform.
REST-API DigitalOcean
- Авторизация: носитель digitaloceanapitoken
- Тип контента: application/json
Создание конфигурации JSON
- Образ капли: ubuntu-18.04-x64
- Регион: NYC1
- Размер: s1-vcpu1-1gb
$JSON = @{ "name" = "test-web-vm" "region" = "nyc1" "size" = "s-1vcpu-1gb" "image" = "ubuntu-18-04-x64" "ipv6" = $true "private_networking" = $true "monitoring" = $true } | ConvertTo-JSON -Compress
При заполнении пользовательской конфигурации вы можете заметить, что она может выглядеть немного странно. Вы должны быть осторожны с разрывами строк и двойными кавычками, чтобы не нарушить конфигурацию JSON.
Предоставление дроплета
$JSON = @{ "name" = "test-web-vm" "region" = "nyc1" "size" = "s-1vcpu-1gb" "image" = "ubuntu-18-04-x64" "ipv6" = true "private_networking" = true "monitoring" = true "user_data" = "#cloud-confignpackage_update: truenpackage_upgrade: true" } | ConvertTo-JSON -Compress $Params = @{ "URI" = "https://api.linux-console.net/v2/droplets" "Method" = "POST" "Body" = $JSON "Authentication" = "OAuth" "Token" = ('digitaloceanapitoken' | ConvertTo-SecureString -AsPlainText) "ErrorAction" = 'Stop' "Headers" = @{ "Content-Type" = "application/json" } } Invoke-RestMethod @Params
Дополнительные опции
- ssh_keys
- резервные копии
- тома
- теги