Pular para o conteúdo principal

coda_application (Resource)

Uma aplicação de um ambiente, implantada por digest. Escopos exigidos: apps:write e deployments:write. Criar ou mudar a image dispara um deploy e o apply só termina quando ele chega a RUNNING (ou falha com o motivo). Mudar só instances usa o escalonamento. Porta, CPU, memória, comando, argumentos e região mudam no lugar (update in-place) por PATCH com If-Match da versão guardada no estado; se a aplicação foi alterada fora do OpenTofu/Terraform desde o último refresh, o apply falha pedindo refresh. Mudar name, slug ou health_check_path substitui a aplicação.

Exemplo​

resource "coda_application" "api" {
organization_id = data.coda_organization.this.id
project_id = coda_project.web.id
environment_id = coda_environment.production.id
name = "api"
image = "registry.example.com/acme/api@sha256:a970b1c76ce558afc59ee8a20771c8dd25c1e8019cb442f5450d95aa1043be2e"
port = 8080
instances = 2
cpu_millis = 250
memory_mib = 256

timeouts = {
create = "20m"
}
}

Esquema​

Obrigatórios​

  • environment_id (String) GUID do ambiente.
  • image (String) Imagem por digest: registro/repositório@sha256:<64 hex>. Uma tag sem digest é recusada. Mudar a imagem faz um novo deploy.
  • name (String) Nome de exibição.
  • organization_id (String) GUID da organização.
  • project_id (String) GUID do projeto.

Opcionais​

  • args (List of String) Argumentos do contêiner; mudam no lugar.
  • command (List of String) Comando do contêiner (substitui o ENTRYPOINT); muda no lugar.
  • cpu_millis (Number) CPU por instância em milicores; muda no lugar, dentro da quota do plano. Padrão: 250.
  • health_check_path (String) Caminho HTTP da verificação de saúde (padrão /health).
  • instances (Number) Número de instâncias; mudar só este atributo escala sem novo deploy. Padrão: 1.
  • memory_mib (Number) Memória por instância em MiB (mínimo 256); muda no lugar, dentro da quota do plano. Padrão: 256.
  • port (Number) Porta do contêiner; muda no lugar com um novo deploy do mesmo digest. Padrão: 8080.
  • region (String) Código da região (padrão: a região padrão da organização). Mudar a região move a aplicação: a nova é criada no destino e a antiga só sai depois de RUNNING; região sem cluster disponível é recusada (region.unavailable).
  • slug (String) Slug da aplicação (padrão: derivado do nome); imutável.
  • timeouts (Attributes) (see below for nested schema)

Somente leitura​

  • current_deployment_id (String) GUID do deploy em execução.
  • deployed_image (String) Imagem que de fato está rodando; difere de image quando o último deploy falhou.
  • id (String) GUID da aplicação.
  • status (String) Estado do último deploy.
  • version (Number) Versão da aplicação (o ETag W/"<versão>" da API), enviada no If-Match das alterações.

Nested Schema for timeouts​

Optional:

  • create (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
  • delete (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
  • update (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

Importação​

Import is supported using the following syntax:

The terraform import command can be used, for example:

tofu import coda_application.api acme/web/production/api