Skip to content

Latest commit

 

History

History
130 lines (101 loc) · 2.22 KB

aws_instances.md

File metadata and controls

130 lines (101 loc) · 2.22 KB

aws_instances

back

Index

Terraform

terraform {
  required_providers {
    aws = ">= 3.35.0"
  }
}

top

Example Usage

module "aws_instances" {
  source = "./modules/aws/d/aws_instances"

  # instance_state_names - (optional) is a type of set of string
  instance_state_names = []
  # instance_tags - (optional) is a type of map of string
  instance_tags = {}

  filter = [{
    name   = null
    values = []
  }]
}

top

Variables

variable "instance_state_names" {
  description = "(optional)"
  type        = set(string)
  default     = null
}

variable "instance_tags" {
  description = "(optional)"
  type        = map(string)
  default     = null
}

variable "filter" {
  description = "nested block: NestingSet, min items: 0, max items: 0"
  type = set(object(
    {
      name   = string
      values = list(string)
    }
  ))
  default = []
}

top

Datasource

data "aws_instances" "this" {
  # instance_state_names - (optional) is a type of set of string
  instance_state_names = var.instance_state_names
  # instance_tags - (optional) is a type of map of string
  instance_tags = var.instance_tags

  dynamic "filter" {
    for_each = var.filter
    content {
      # name - (required) is a type of string
      name = filter.value["name"]
      # values - (required) is a type of list of string
      values = filter.value["values"]
    }
  }

}

top

Outputs

output "id" {
  description = "returns a string"
  value       = data.aws_instances.this.id
}

output "ids" {
  description = "returns a list of string"
  value       = data.aws_instances.this.ids
}

output "instance_tags" {
  description = "returns a map of string"
  value       = data.aws_instances.this.instance_tags
}

output "private_ips" {
  description = "returns a list of string"
  value       = data.aws_instances.this.private_ips
}

output "public_ips" {
  description = "returns a list of string"
  value       = data.aws_instances.this.public_ips
}

output "this" {
  value = aws_instances.this
}

top