Modules en hergebruik van code
Leer hoe Terraform-modules herbruikbare infrastructuur bundelen, inputs accepteren, outputs beschikbaar maken en configuraties DRY en onderhoudbaar houden.
Modules en hergebruik van code is een gratis DevOps-bootcamp-les op CoddyKit. Dit is les 4 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject DevOps-bootcamp. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus DevOps-bootcamp bevat in totaal 4 lessen.
Waarom modules?
Het kopiëren en plakken van dezelfde resources in verschillende omgevingen leidt tot afwijkingen en bugs. Een module is een herbruikbare, geparametriseerde container met Terraform-resources die je meerdere keren met verschillende inputs kunt aanroepen, zodat je code DRY blijft.
Elke configuratie is een module
De map waarin je terraform apply uitvoert, is de rootmodule. Modules die deze aanroept, zijn childmodules. Je gebruikt dus al modules — je voegt er alleen meer toe.
Opbouw van een module
Een module is gewoon een map met .tf-bestanden, meestal met deze indeling:
main.tf— de resources.variables.tf— inputvariabelen.outputs.tf— beschikbare waarden.
Inputs definiëren
Inputs worden als variabelen in de module gedeclareerd, zodat aanroepers het gedrag kunnen aanpassen.
variable "bucket_name" {
type = string
}
variable "versioning" {
type = bool
default = false
}De inputs gebruiken
De resources van de module verwijzen naar de variabelen ervan.
resource "aws_s3_bucket" "this" {
bucket = var.bucket_name
}Outputs beschikbaar maken
Outputs retourneren nuttige waarden aan de aanroeper, zoals ID's of ARN's.
output "bucket_arn" {
value = aws_s3_bucket.this.arn
}Een module aanroepen
De rootmodule roept een childmodule aan met een module-blok en geeft daarbij inputs door.
module "logs" {
source = "./modules/bucket"
bucket_name = "app-logs"
versioning = true
}Verwijzen naar module-outputs
Je gebruikt de outputs van een module elders in je configuratie met module.NAME.OUTPUT.
resource "aws_s3_bucket_policy" "p" {
bucket = module.logs.bucket_arn
}Modulebronnen
De source kan een lokaal pad, een Git-URL of de openbare Terraform Registry zijn.
module "vpc" {
source = "terraform-aws-modules/vpc/aws"
version = "5.0.0"
}Modules van versies voorzien
Leg voor modules uit de registry altijd een version vast, zodat upgrades bewust worden uitgevoerd. Voer terraform init uit nadat je modules hebt toegevoegd of gewijzigd, zodat ze worden gedownload.
Goede modules ontwerpen
Houd modules gericht (één logisch onderdeel), stel alleen de benodigde inputs beschikbaar, documenteer outputs en vermijd waarden die specifiek voor een omgeving zijn hardgecodeerd. Kleine, combineerbare modules zijn beter dan één enorme module.
Korte controle
Test je kennis van modules.
Samenvatting
Modules maken Terraform herbruikbaar en DRY.
- Een module is een map met .tf-bestanden, variabelen (inputs) en outputs.
- Roep een module aan met een
module-blok en eensource; gebruik de resultaten viamodule.NAME.OUTPUT. - Bronnen kunnen lokaal, Git of de registry zijn; leg
versionvast en voerinituit. - Ontwerp kleine, gerichte en goed gedocumenteerde modules.
Leer DevOps-bootcamp met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 142
- Lessen
- 568
Veelgestelde vragen
Is de les “Modules en hergebruik van code” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad DevOps-bootcamp, waaronder “Modules en hergebruik van code”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus DevOps-bootcamp bevat in totaal 4 lessen.
Wat leer ik in “Modules en hergebruik van code”?
Leer hoe Terraform-modules herbruikbare infrastructuur bundelen, inputs accepteren, outputs beschikbaar maken en configuraties DRY en onderhoudbaar houden. Je oefent met DevOps-bootcamp door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met DevOps-bootcamp te beginnen?
Ervaring vooraf is niet nodig. DevOps-bootcamp op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.
Hoe lang duurt de les “Modules en hergebruik van code”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over DevOps-bootcamp?
Ja. Elke les over DevOps-bootcamp bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Providers en resources
- Variabelen en outputs
- Basisprincipes van statebeheer
- Modules en hergebruik van code