Skip to content

Instantly share code, notes, and snippets.

@igoraj
Created February 5, 2021 09:10
Show Gist options
  • Save igoraj/f70eab53f3a50f55eaf291280b43a6ff to your computer and use it in GitHub Desktop.
Save igoraj/f70eab53f3a50f55eaf291280b43a6ff to your computer and use it in GitHub Desktop.
TF precedence issue
% terraform plan
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.
------------------------------------------------------------------------
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
+ create
Terraform will perform the following actions:
# cloudflare_access_application.fooapp will be created
+ resource "cloudflare_access_application" "fooapp" {
+ account_id = "********************************"
+ aud = (known after apply)
+ auto_redirect_to_identity = false
+ domain = "test.domain.tld"
+ enable_binding_cookie = false
+ id = (known after apply)
+ name = "Internal Portal"
+ session_duration = "12h"
+ zone_id = (known after apply)
}
# cloudflare_access_policy.foo will be created
+ resource "cloudflare_access_policy" "foo" {
+ account_id = "********************************"
+ application_id = (known after apply)
+ decision = "allow"
+ id = (known after apply)
+ name = "Allow Employee Login"
+ zone_id = (known after apply)
+ include {
+ email_domain = [
+ "domain.tld",
]
}
}
Plan: 2 to add, 0 to change, 0 to destroy.
------------------------------------------------------------------------
Note: You didn't specify an "-out" parameter to save this plan, so Terraform
can't guarantee that exactly these actions will be performed if
"terraform apply" is subsequently run.
% terraform apply
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
+ create
Terraform will perform the following actions:
# cloudflare_access_application.fooapp will be created
+ resource "cloudflare_access_application" "fooapp" {
+ account_id = "********************************"
+ aud = (known after apply)
+ auto_redirect_to_identity = false
+ domain = "test.domain.tld"
+ enable_binding_cookie = false
+ id = (known after apply)
+ name = "Internal Portal"
+ session_duration = "12h"
+ zone_id = (known after apply)
}
# cloudflare_access_policy.foo will be created
+ resource "cloudflare_access_policy" "foo" {
+ account_id = "********************************"
+ application_id = (known after apply)
+ decision = "allow"
+ id = (known after apply)
+ name = "Allow Employee Login"
+ zone_id = (known after apply)
+ include {
+ email_domain = [
+ "domain.tld",
]
}
}
Plan: 2 to add, 0 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
cloudflare_access_application.fooapp: Creating...
cloudflare_access_application.fooapp: Creation complete after 4s [id=********-****-****-****-************]
cloudflare_access_policy.foo: Creating...
cloudflare_access_policy.foo: Creation complete after 2s [id=********-****-****-****-************]
Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
% terraform plan
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.
cloudflare_access_application.fooapp: Refreshing state... [id=********-****-****-****-************]
cloudflare_access_policy.foo: Refreshing state... [id=********-****-****-****-************]
------------------------------------------------------------------------
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
# cloudflare_access_policy.foo will be updated in-place
~ resource "cloudflare_access_policy" "foo" {
account_id = "********************************"
application_id = "********-****-****-****-************"
decision = "allow"
id = "********-****-****-****-************"
name = "Allow Employee Login"
- precedence = 2 -> null
include {
any_valid_service_token = false
certificate = false
email = []
email_domain = [
"domain.tld",
]
everyone = false
geo = []
group = []
ip = []
service_token = []
}
}
Plan: 0 to add, 1 to change, 0 to destroy.
------------------------------------------------------------------------
Note: You didn't specify an "-out" parameter to save this plan, so Terraform
can't guarantee that exactly these actions will be performed if
"terraform apply" is subsequently run.
% terraform apply
cloudflare_access_application.fooapp: Refreshing state... [id=********-****-****-****-************]
cloudflare_access_policy.foo: Refreshing state... [id=********-****-****-****-************]
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
# cloudflare_access_policy.foo will be updated in-place
~ resource "cloudflare_access_policy" "foo" {
account_id = "********************************"
application_id = "********-****-****-****-************"
decision = "allow"
id = "********-****-****-****-************"
name = "Allow Employee Login"
- precedence = 2 -> null
include {
any_valid_service_token = false
certificate = false
email = []
email_domain = [
"domain.tld",
]
everyone = false
geo = []
group = []
ip = []
service_token = []
}
}
Plan: 0 to add, 1 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
cloudflare_access_policy.foo: Modifying... [id=********-****-****-****-************]
cloudflare_access_policy.foo: Modifications complete after 3s [id=********-****-****-****-************]
Apply complete! Resources: 0 added, 1 changed, 0 destroyed.
% terraform plan
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.
cloudflare_access_application.fooapp: Refreshing state... [id=********-****-****-****-************]
cloudflare_access_policy.foo: Refreshing state... [id=********-****-****-****-************]
------------------------------------------------------------------------
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
# cloudflare_access_policy.foo will be updated in-place
~ resource "cloudflare_access_policy" "foo" {
account_id = "********************************"
application_id = "********-****-****-****-************"
decision = "allow"
id = "********-****-****-****-************"
name = "Allow Employee Login"
- precedence = 2 -> null
include {
any_valid_service_token = false
certificate = false
email = []
email_domain = [
"domain.tld",
]
everyone = false
geo = []
group = []
ip = []
service_token = []
}
}
Plan: 0 to add, 1 to change, 0 to destroy.
------------------------------------------------------------------------
Note: You didn't specify an "-out" parameter to save this plan, so Terraform
can't guarantee that exactly these actions will be performed if
"terraform apply" is subsequently run.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment