Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Por que, no security group, "ingress" e "egress" não usam "="?

Deve ser uma dúvida besta, mas aí vai: os argumentos dos recursos são sempre atribuídos com <Chave> = <Valor>. Por que, no caso de ingress e egress, isso não acontece? Valeu!

2 respostas
solução!

Olá, Emerson! Tudo joia?

Sua pergunta não é besta de forma alguma, é uma dúvida muito comum quando estamos trabalhando com Terraform na AWS.

A razão pela qual ingress e egress não usam o sinal de igual (=) é que eles são blocos de configuração, e não argumentos. Em Terraform, blocos de configuração são usados para agrupar configurações relacionadas.

Por exemplo, um bloco ingress ou egress no contexto de um Security Group em AWS, define uma regra de tráfego de entrada ou saída, respectivamente. Cada um desses blocos pode conter vários argumentos, como from_port, to_port, protocol, cidr_blocks, entre outros.

Um exemplo de uso seria:

resource "aws_security_group" "example" {
  name = "example"

  ingress {
    from_port   = 22
    to_port     = 22
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }

  egress {
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }
}

Neste exemplo, ingress e egress são blocos de configuração que agrupam as regras de tráfego de entrada e saída, respectivamente.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Ah, saquei. No exemplo, "name" é um argumento do recurso "aws_security_group" "example", enquanto ingress e egress são outras configurações, aninhadas dentro de "aws_security_group" "example". Valeu!