home

ArticCon 2022 (continued)

modules

You can bundle up multiple resources into “modules”, substituting the values provider as variables.

our previous example becomes;

# main.tf
resource "google_compute_subnetwork" "network-with-private-secondary-ip-ranges" {
  name          = var.name
  ip_cidr_range = var.subnet
  region        = var.region
  network       = var.network
  secondary_ip_range {
    range_name    = var.name_two
    ip_cidr_range = var.subnet_two
  }
}

It also allows setting default values.

# variables.tf
variable "region" {
  type = string
  default = "us-west1"
}

This is great for coming up with code re-use in the form of cookie-cutter templates.


Previous Next
Back to talks
1. Front Page
2. intro: before we begin
3. intro: my background
4. cloud config
5. cloud config: WebUI
6. cloud config: CLI
7. cloud config: IaC
8. cloud config: cognitive load
9. terraform: at a glance
10. terraform: HCL and usage
11. terraform: modules
12. So why not just use modules?
13. cdktf: enter language bindings
14. cdktf: compatible with terraform
15. schema: configuration
16. schema: networks
17. schema: firewalls
18. schema: peers
19. schema: enforcement
20. etl: for many reasons
21. etl: current and desired state
22. arguments: sidebar
23. etl: implementation
24. etl: additional types
25. etl: facilitating abstractions
26. abstraction: implementation details
27. abstraction: example
28. abstraction: but still concrete
29. types: but why
30. demo: full