add: stand configs
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
provider "nubes" {
|
||||
api_token = var.api_token
|
||||
api_endpoint = var.api_endpoint
|
||||
}
|
||||
|
||||
# Бакет-источник — сюда пишем объект
|
||||
resource "nubes_s3bucket" "source" {
|
||||
resource_name = "${var.bucket_name}-src"
|
||||
s3_user_uid = var.s3_uid
|
||||
bucket_name = "${var.bucket_name}-src"
|
||||
adopt_existing_on_create = true # бакет уже создан предыдущим apply
|
||||
|
||||
max_size = -1
|
||||
read_all = false
|
||||
list_all = false
|
||||
cors_all = false
|
||||
placement = "HOT"
|
||||
}
|
||||
|
||||
# Бакет-назначение — сюда копирует «функция» по событию
|
||||
resource "nubes_s3bucket" "dest" {
|
||||
resource_name = "${var.bucket_name}-dst"
|
||||
s3_user_uid = var.s3_uid
|
||||
bucket_name = "${var.bucket_name}-dst"
|
||||
|
||||
max_size = -1
|
||||
read_all = false
|
||||
list_all = false
|
||||
cors_all = false
|
||||
placement = "HOT"
|
||||
}
|
||||
|
||||
locals {
|
||||
src_bucket = try(nubes_s3bucket.source.state_params["bucketName"], "${var.bucket_name}-src")
|
||||
dst_bucket = try(nubes_s3bucket.dest.state_params["bucketName"], "${var.bucket_name}-dst")
|
||||
}
|
||||
|
||||
# «Функция»: mc watch ловит событие в source → копирует объект в dest
|
||||
resource "terraform_data" "event_delivery_check" {
|
||||
depends_on = [nubes_s3bucket.source, nubes_s3bucket.dest]
|
||||
|
||||
triggers_replace = {
|
||||
src = local.src_bucket
|
||||
dst = local.dst_bucket
|
||||
s3cfg_path = var.s3cfg_path
|
||||
}
|
||||
|
||||
provisioner "local-exec" {
|
||||
command = "bash ${path.module}/scripts/copy_on_event.sh \"${var.s3cfg_path}\" \"${local.src_bucket}\" \"${local.dst_bucket}\" \"${var.demo_timeout_sec}\""
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user