nubes_s3bucket — S3 бакет¶
Бакет внутри существующего S3-хранилища (nubes_s3) с настройками публичного доступа
и класса хранения. Управляет только бакетом — данные в нём не создаются.
Специфика Nubes:
destroyдля этого ресурса удаляет бакетterraform destroyудаляет бакет из облака и из Terraform-state. Усыпление (suspend) у этого сервиса не поддерживается. Подробности — в разделе «Жизненный цикл» и в общем руководстве «Как работает провайдер».
Пример использования¶
resource "nubes_s3" "storage" {
resource_name = "my-s3"
display_name = "my_s3_storage"
}
resource "nubes_s3bucket" "backups" {
resource_name = "my-backups-bucket"
s3_user_uid = nubes_s3.storage.id # UUID корневого S3
bucket_name = "backups" # ^[a-z0-9-]+$
max_size = "-1" # -1 = безлимит, иначе размер в байтах
placement = "HOT" # HOT | COLD
read_all = false # публичное чтение объектов
list_all = false # публичный листинг
cors_all = false # публичное чтение настроек CORS
}
Argument Reference¶
| Имя | Тип | Обязательный | По умолчанию | Описание | Ограничения |
|---|---|---|---|---|---|
resource_name |
string | да | — | Имя инстанса | — |
bucket_name |
string | да | — | Имя бакета S3 | ^[a-z0-9-]+$ |
s3_user_uid |
string (uuid) | нет | — | UID корневой услуги S3 (сервис 12), на основе которого создаётся бакет | ссылка на nubes_s3 |
max_size |
string | нет | -1 |
Максимальный размер бакета в байтах; -1 — безлимит |
— |
read_all |
bool | нет | false |
Публичный доступ на чтение объектов | false, true |
list_all |
bool | нет | false |
Публичный доступ к листингу объектов | false, true |
cors_all |
bool | нет | false |
Публичный доступ к чтению настроек CORS | false, true |
placement |
string | нет | HOT |
Класс хранения по умолчанию (холоднее — дешевле место, дороже обращения) | HOT, COLD |
Общие атрибуты (есть у всех ресурсов):
| Имя | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
operation_timeout |
string | нет | — | Максимальное время ожидания операции |
log_level |
string | нет | none |
Логирование стадий: none, info, debug |
keep_on_destroy |
bool | нет | false |
При destroy — ничего не делать в облаке (state_only) |
adopt_existing_on_create |
bool | нет | false |
Авто-подхват существующего инстанса при apply |
Attribute Reference¶
| Имя | Тип | Описание |
|---|---|---|
id |
string | UUID инстанса (используется как s3_bucket_uid в nubes_k8s_velero) |
state_out / state_out_flat |
map | Ответ API |
state_params / state_params_flat |
map | Параметры, отправленные в API |
vault_secrets |
map (sensitive) | Секреты из Vault |
vault_url / vault_user_path |
string | Адрес/путь Vault |
vault_fields |
list | Список доступных ключей секретов |
Жизненный цикл ¶
terraform destroy удаляет бакет из облака и из Terraform-state. Усыпление (suspend)
у этого сервиса не поддерживается — атрибута suspend_on_destroy нет.
| Флаг | Дефолт | Поведение при destroy |
|---|---|---|
keep_on_destroy |
false |
Если true — бакет остаётся в облаке (state_only); удаление в облаке не выполняется |
- Инстанс в статусе «not created» (после упавшего create) блокирует имя и не удаляется через API — чистится вручную в Личном кабинете.
Operations¶
| Операция | Доступно из Terraform | Комментарий |
|---|---|---|
create |
✅ apply |
Создание бакета |
delete |
✅ destroy |
Удаление бакета |
ℹ️ Доступны только
createиdelete— изменение параметров бакета не поддерживается.