Mempelajari cara mengekspos informasi penting dari konfigurasi Terraform menggunakan output values, termasuk best practice untuk sensitive data.

Apa yang Akan Dipelajari? #

Output adalah cara Terraform menampilkan informasi penting setelah apply selesai — seperti IP address, URL, atau ARN. Output juga digunakan untuk menghubungkan antar module dan stack. Section ini membahas deklarasi output, contract design, dan penanganan sensitive data.

Artikel dalam Section Ini #

Artikel Topik Utama
Apa itu Output? Konsep output value dan cara menggunakannya
Output Contract Desain output yang robust untuk module dan team
Sensitive Output Menangani data sensitif (password, API key) dengan aman

Output Flow #

flowchart TD
    subgraph Terraform Config
        R["Resource<br/>(data di-cloud)"]
        O["Output Block<br/>value = R.attribute"]
    end

    subgraph Consumers
        CLI["CLI Output<br/>terraform output"]
        MOD["Other Module<br/>module.vpc.vpc_id"]
        CD["CI/CD Pipeline<br/>--json parsing"]
        APP["Application<br/>data source"]
    end

    R --> O
    O --> CLI
    O --> MOD
    O --> CD
    O --> APP

    style Terraform Config fill:#e3f2fd
    style Consumers fill:#e8f5e9

Output Contract Design #

flowchart LR
    subgraph Module Outputs
        VPC_ID["vpc_id<br/>string"]
        SUBNETS["subnet_ids<br/>list(string)"]
        SG_ID["security_group_id<br/>string"]
    end

    subgraph Consumers
        APP["App Module<br/>needs subnet + SG"]
        DB["DB Module<br/>needs VPC + subnet"]
    end

    VPC_ID --> DB
    SUBNETS --> APP
    SUBNETS --> DB
    SG_ID --> APP

    style Module Outputs fill:#e3f2fd
    style Consumers fill:#e8f5e9

Sensitive Data Handling #

# ✅ Benar: Mark sebagai sensitive
output "db_password" {
  value     = aws_db_instance.main.password
  sensitive = true
}

# ✅ Akses dengan flag khusus
# terraform output -raw db_password

Setelah memahami output, lanjutkan ke Datasource untuk mempelajari cara membaca data dari cloud tanpa mengelolanya.

About | Author | Content Scope | Editorial Policy | Privacy Policy | Disclaimer | Contact