Bom pessoal, agora que nós já aprendemos como referenciar atributos de recursos em outro recurso, nós vamos aprender também como nós podemos expor esses atributos utilizando outputs. Então vamos lá, vamos criar aqui um exemplo primeiro para que a gente consiga entender melhor. Nós teremos aqui um outro bloco, que será o bloco output, como o próprio nome sugere, ele expõe algum determinado valor quando nós rodamos o Terraform Apply. Aqui nós precisamos especificar o nome para o nosso Output e eu vou colocar aqui Name My Patch. Então eu vou expor como Output o nome do Patch que foi gerado aleatoriamente aqui através do nosso recurso Random Patch, meu Patch. Então vamos lá. Nós precisamos especificar aqui value e aqui nós podemos colocar qualquer coisa. Nós podemos colocar uma string, por exemplo, onde nós dizemos esse é o nome do meuPatch. E aqui nós vamos utilizar interpolação de string para referenciar randomPatch, meuPatch e aqui ID. Dessa forma nós temos o nosso output. E é claro que algo que nós podemos pensar neste momento é, mas para que eu vou usar esse output aqui? Qual que é a funcionalidade ou qual que é o motivo de eu ter um output em um arquivo de configuração? depois que nós aplicamos o nosso Terraform Apply. E isso pode ser muito importante. Imagina que você está fazendo o deploy de uma máquina virtual na Azure ou na AWS e você quer que um IP seja atribuído de forma dinâmica a essa máquina virtual. Então você não conhece o IP dessa máquina virtual antes de você criar a máquina virtual. E é por isso que você pode colocar como output o IP dessa máquina virtual. Então, após a criação dessa VM, o Terraform vai obter o IP atribuído a essa máquina virtual e vai mostrar para você no terminal. E aí você consegue acessar o IP e a partir daí você já consegue, por exemplo, fazer um SSH nessa máquina virtual. Este foi simplesmente um exemplo de como nós podemos utilizar Outputs. Nós podemos utilizar também quando nós trabalhamos com módulos. Nós ainda não falamos sobre módulos, por isso eu não vou dar muitos detalhes aqui do que são módulos e de como nós podemos aplicar Outputs, mas nós teremos aulas especificamente para falar sobre módulos. O que eu quero que você entenda é que Out são muito importantes é um recurso muito utilizado e nós veremos aí mais use cases para outputs nas próximas aulas beleza então vamos aqui agora rodar o nosso terraform plane claro então vamos dar um plane aqui e aqui nós temos que não há nenhuma alteração claro porque eu não salvei o arquivo né então é preciso salvar o arquivo primeiro. Agora beleza, terraform e plan. E aqui nós podemos ver que nós temos changes no nosso output. Nós temos aqui um novo output, name my patch. Temos esse mais aqui, esse símbolo de mais verde, indicando que este recurso será criado. No nosso caso é um output que será criado e o valor desse output, esse é o nome do meu patch, Sr. Strongly Driving Bug. Para este exemplo específico, nós temos acesso ao valor do output antes de rodar o Terraform Apply, mas como eu já expliquei, vão haver casos em que esse valor vai ser conhecido simplesmente após a execução do apply. Então vamos aqui finalizar o nosso exemplo rodando terraform apply, só terraform apply terraform apply dessa forma vamos dar um yes e beleza agora nós temos aqui o nosso output que no caso é simplesmente name esse é o nome do meu pet strongly driving bug nós podemos criar quantos outputs nós precisarmos, nós podemos criar um outro aqui, que seria por exemplo, person nós podemos utilizar também qualquer tipo nós podemos referenciar uma variável então nós vamos colocar aqui velho igual a var.person e agora nós vamos ver aqui qual será o valor que nós iremos receber como Output, já vou dar direto aqui no Terraform Apply, tá? E aqui nós temos Um novo Output, que é o Output Person Que é do tipo Object E nós temos aqui o Age e o Name De acordo com o valor da variável, tá? Então qualquer coisa do Terraform Que você pode, qualquer String, qualquer variável ou qualquer Atributo de recurso, você pode expor como um output de um arquivo de configuração, beleza? Espero que você tenha gostado, espero que você tenha aprendido. Vejo você na nossa próxima aula.