Difference between revisions of "Terraform data source: terraform remote state"
Jump to navigation
Jump to search
(11 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
<code>terraform_remote_state</code> | <code>terraform_remote_state</code> | ||
+ | * https://developer.hashicorp.com/terraform/language/state/remote-state-data | ||
* <code>[[Controlled Remote State Access]] feature in [[Terraform Cloud]] and Terraform Enterprise, users now have a new way to establish granular controls for state accessibility.</code> | * <code>[[Controlled Remote State Access]] feature in [[Terraform Cloud]] and Terraform Enterprise, users now have a new way to establish granular controls for state accessibility.</code> | ||
Line 5: | Line 6: | ||
== Example Usage (remote Backend) == | == Example Usage (remote Backend) == | ||
− | + | data "terraform_remote_state" "vpc" { | |
− | + | [[backend]] = "remote" | |
+ | |||
+ | config = { | ||
+ | organization = "hashicorp" | ||
+ | workspaces = { | ||
+ | name = "vpc-prod" | ||
+ | } | ||
+ | } | ||
+ | } | ||
− | + | # Terraform >= 0.12 | |
− | + | resource "aws_instance" "foo" { | |
− | + | # ... | |
− | + | subnet_id = data.terraform_remote_state.vpc.outputs.subnet_id | |
− | + | } | |
− | + | ||
− | + | # Terraform <= 0.11 | |
− | + | resource "aws_instance" "foo" { | |
− | # Terraform >= 0.12 | + | # ... |
− | resource "aws_instance" "foo" { | + | subnet_id = "${data.terraform_remote_state.vpc.subnet_id}" |
− | + | } | |
− | |||
− | } | ||
− | |||
− | # Terraform <= 0.11 | ||
− | resource "aws_instance" "foo" { | ||
− | |||
− | |||
− | } | ||
− | |||
== Example Usage (local Backend)== | == Example Usage (local Backend)== | ||
Line 52: | Line 52: | ||
} | } | ||
</pre> | </pre> | ||
+ | |||
+ | == Errors == | ||
+ | * <code>[[Error: AccessDenied: Access Denied]]</code> | ||
+ | * <code>[[Error: Unable to find remote state]]</code> | ||
+ | |||
+ | == Activities == | ||
+ | * [[Explain the benefits of state]] | ||
== Related == | == Related == | ||
* <code>[[terraform.tfstate]]</code> | * <code>[[terraform.tfstate]]</code> | ||
− | * [[ | + | * Buildin [[provider]] |
== See also == | == See also == | ||
− | * {{terraform state}} | + | * {{tf state}} |
+ | * {{terraform state cmd}} | ||
* {{Terraform data sources}} | * {{Terraform data sources}} | ||
* {{Terraform state}} | * {{Terraform state}} | ||
[[Category:Terraform]] | [[Category:Terraform]] |
Latest revision as of 16:57, 19 April 2023
terraform_remote_state
Controlled Remote State Access feature in Terraform Cloud and Terraform Enterprise, users now have a new way to establish granular controls for state accessibility.
Contents
Example Usage (remote Backend)[edit]
data "terraform_remote_state" "vpc" { backend = "remote" config = { organization = "hashicorp" workspaces = { name = "vpc-prod" } } }
# Terraform >= 0.12 resource "aws_instance" "foo" { # ... subnet_id = data.terraform_remote_state.vpc.outputs.subnet_id } # Terraform <= 0.11 resource "aws_instance" "foo" { # ... subnet_id = "${data.terraform_remote_state.vpc.subnet_id}" }
Example Usage (local Backend)[edit]
data "terraform_remote_state" "vpc" { backend = "local" config = { path = "..." } } # Terraform >= 0.12 resource "aws_instance" "foo" { # ... subnet_id = data.terraform_remote_state.vpc.outputs.subnet_id } # Terraform <= 0.11 resource "aws_instance" "foo" { # ... subnet_id = "${data.terraform_remote_state.vpc.subnet_id}" }
Errors[edit]
Activities[edit]
Related[edit]
terraform.tfstate
- Buildin provider
See also[edit]
terraform state [ list ]
- Terraform state:
terraform state
[list
|mv
|show
|pull
|push
|rm
|replace-provider
],terraform state show module.alb.aws lb.this
- Terraform data sources:
aws_vpc
,template_file
,aws_subnet_ids
,terraform remote state
,aws_eks_cluster
,aws_ami, aws_availability_zones, aws_partition, archive_file
- Terraform state:
terraform [ state | replace-provider | mv ]
,backend.tf
, Remote state backends to manage Terraform state, State locking,terraform force-unlock
Advertising: