2018-07-28 14:33:43 +00:00
|
|
|
resource "docker_container" "container" {
|
2021-10-15 12:54:13 +00:00
|
|
|
name = var.name
|
2022-12-26 07:16:09 +00:00
|
|
|
image = docker_image.image.image_id
|
2019-02-16 10:12:07 +00:00
|
|
|
|
2021-10-15 12:54:13 +00:00
|
|
|
dynamic "ports" {
|
|
|
|
for_each = var.ports
|
|
|
|
content {
|
|
|
|
external = ports.value.external
|
|
|
|
internal = ports.value.internal
|
|
|
|
ip = ports.value.ip
|
|
|
|
protocol = lookup(ports.value, "protocol", "tcp")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
restart = var.restart
|
|
|
|
env = var.env
|
|
|
|
command = var.command
|
|
|
|
entrypoint = var.entrypoint
|
|
|
|
user = var.user
|
2019-01-17 19:21:36 +00:00
|
|
|
|
2021-10-15 12:54:13 +00:00
|
|
|
network_mode = var.network_mode
|
2018-07-30 06:42:58 +00:00
|
|
|
|
2021-10-15 12:54:13 +00:00
|
|
|
dynamic "capabilities" {
|
|
|
|
for_each = [var.capabilities]
|
|
|
|
content {
|
|
|
|
add = lookup(capabilities.value, "add", [])
|
|
|
|
drop = lookup(capabilities.value, "drop", [])
|
|
|
|
}
|
|
|
|
}
|
2019-03-13 17:25:06 +00:00
|
|
|
|
2021-10-15 12:54:13 +00:00
|
|
|
dynamic "networks_advanced" {
|
|
|
|
for_each = local.networks
|
|
|
|
content {
|
|
|
|
name = networks_advanced.value
|
|
|
|
}
|
|
|
|
}
|
2018-08-02 18:29:39 +00:00
|
|
|
|
2021-10-15 12:54:13 +00:00
|
|
|
memory = local.resource["memory"]
|
|
|
|
memory_swap = local.resource["memory_swap"]
|
2018-08-21 03:00:17 +00:00
|
|
|
|
2021-10-15 12:54:13 +00:00
|
|
|
dynamic "volumes" {
|
|
|
|
for_each = var.volumes
|
|
|
|
content {
|
|
|
|
container_path = lookup(volumes.value, "container_path", null)
|
|
|
|
from_container = lookup(volumes.value, "from_container", null)
|
|
|
|
host_path = lookup(volumes.value, "host_path", null)
|
|
|
|
read_only = lookup(volumes.value, "read_only", null)
|
|
|
|
volume_name = lookup(volumes.value, "volume_name", null)
|
|
|
|
}
|
|
|
|
}
|
2019-05-16 10:36:26 +00:00
|
|
|
|
2021-10-15 12:54:13 +00:00
|
|
|
dynamic "devices" {
|
|
|
|
for_each = var.devices
|
|
|
|
content {
|
|
|
|
host_path = devices.value["host_path"]
|
|
|
|
container_path = devices.value["container_path"]
|
|
|
|
permissions = devices.value["permissions"]
|
|
|
|
}
|
|
|
|
}
|
2018-08-02 18:29:39 +00:00
|
|
|
|
2021-10-15 12:54:13 +00:00
|
|
|
dynamic "upload" {
|
|
|
|
for_each = var.uploads
|
|
|
|
content {
|
|
|
|
file = lookup(upload.value, "file", null)
|
|
|
|
content = lookup(upload.value, "content", null)
|
|
|
|
content_base64 = lookup(upload.value, "content_base64", null)
|
|
|
|
executable = lookup(upload.value, "executable", null)
|
|
|
|
source = lookup(upload.value, "source", null)
|
|
|
|
source_hash = lookup(upload.value, "source_hash", null)
|
|
|
|
}
|
|
|
|
}
|
2018-08-02 18:29:39 +00:00
|
|
|
|
2021-10-15 12:54:13 +00:00
|
|
|
dynamic "labels" {
|
|
|
|
for_each = local.labels
|
|
|
|
content {
|
|
|
|
label = labels.key
|
|
|
|
value = labels.value
|
|
|
|
}
|
|
|
|
}
|
2018-08-06 21:25:46 +00:00
|
|
|
|
2021-10-15 12:54:13 +00:00
|
|
|
destroy_grace_seconds = var.destroy_grace_seconds
|
|
|
|
must_run = var.must_run
|
2018-07-28 14:33:43 +00:00
|
|
|
}
|