mirror of
https://github.com/opentofu/opentofu.git
synced 2025-01-02 04:07:22 -06:00
860140074f
This allows the config loader to read "data" blocks from the config and turn them into DataSource objects. This just reads the data from the config file. It doesn't validate the data nor do anything useful with it.
76 lines
1.1 KiB
HCL
76 lines
1.1 KiB
HCL
variable "foo" {
|
|
default = "bar"
|
|
description = "bar"
|
|
}
|
|
|
|
variable "bar" {
|
|
type = "string"
|
|
}
|
|
|
|
variable "baz" {
|
|
type = "map"
|
|
|
|
default = {
|
|
key = "value"
|
|
}
|
|
}
|
|
|
|
provider "aws" {
|
|
access_key = "foo"
|
|
secret_key = "bar"
|
|
}
|
|
|
|
provider "do" {
|
|
api_key = "${var.foo}"
|
|
}
|
|
|
|
data "do" "simple" {
|
|
foo = "baz"
|
|
}
|
|
|
|
data "do" "depends" {
|
|
depends_on = ["data.do.simple"]
|
|
}
|
|
|
|
resource "aws_security_group" "firewall" {
|
|
count = 5
|
|
}
|
|
|
|
resource aws_instance "web" {
|
|
ami = "${var.foo}"
|
|
security_groups = [
|
|
"foo",
|
|
"${aws_security_group.firewall.foo}"
|
|
]
|
|
|
|
network_interface {
|
|
device_index = 0
|
|
description = "Main network interface"
|
|
}
|
|
|
|
provisioner "file" {
|
|
source = "foo"
|
|
destination = "bar"
|
|
}
|
|
}
|
|
|
|
resource "aws_instance" "db" {
|
|
security_groups = "${aws_security_group.firewall.*.id}"
|
|
VPC = "foo"
|
|
|
|
depends_on = ["aws_instance.web"]
|
|
|
|
provisioner "file" {
|
|
source = "foo"
|
|
destination = "bar"
|
|
}
|
|
}
|
|
|
|
output "web_ip" {
|
|
value = "${aws_instance.web.private_ip}"
|
|
}
|
|
|
|
atlas {
|
|
name = "mitchellh/foo"
|
|
}
|