Add more equivalence tests that are testing edge cases around the new structured renderer (#32538)

* add test cases

* run equivalence tests

* delete old outputs

* drift_relevant_attributes should ignore the number attribute

* also add a test for data reads

* test destroy only
This commit is contained in:
Liam Cervante 2023-01-20 09:31:11 +01:00 committed by GitHub
parent 7d1ea52077
commit 82b5cfad7e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
201 changed files with 16619 additions and 2368 deletions

View File

@ -1,192 +0,0 @@
[
{
"@level": "info",
"@message": "tfcoremock_map.map: Plan to create",
"@module": "terraform.ui",
"change": {
"action": "create",
"resource": {
"addr": "tfcoremock_map.map",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_map.map",
"resource_key": null,
"resource_name": "map",
"resource_type": "tfcoremock_map"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_list.list: Plan to create",
"@module": "terraform.ui",
"change": {
"action": "create",
"resource": {
"addr": "tfcoremock_list.list",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_list.list",
"resource_key": null,
"resource_name": "list",
"resource_type": "tfcoremock_list"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_set.set: Plan to create",
"@module": "terraform.ui",
"change": {
"action": "create",
"resource": {
"addr": "tfcoremock_set.set",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_set.set",
"resource_key": null,
"resource_name": "set",
"resource_type": "tfcoremock_set"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_map.map: Creating...",
"@module": "terraform.ui",
"hook": {
"action": "create",
"resource": {
"addr": "tfcoremock_map.map",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_map.map",
"resource_key": null,
"resource_name": "map",
"resource_type": "tfcoremock_map"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_set.set: Creating...",
"@module": "terraform.ui",
"hook": {
"action": "create",
"resource": {
"addr": "tfcoremock_set.set",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_set.set",
"resource_key": null,
"resource_name": "set",
"resource_type": "tfcoremock_set"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_list.list: Creating...",
"@module": "terraform.ui",
"hook": {
"action": "create",
"resource": {
"addr": "tfcoremock_list.list",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_list.list",
"resource_key": null,
"resource_name": "list",
"resource_type": "tfcoremock_list"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_list.list: Creation complete after 0s [id=985820B3-ACF9-4F00-94AD-F81C5EA33663]",
"@module": "terraform.ui",
"hook": {
"action": "create",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"resource": {
"addr": "tfcoremock_list.list",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_list.list",
"resource_key": null,
"resource_name": "list",
"resource_type": "tfcoremock_list"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "tfcoremock_map.map: Creation complete after 0s [id=50E1A46E-E64A-4C1F-881C-BA85A5440964]",
"@module": "terraform.ui",
"hook": {
"action": "create",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"resource": {
"addr": "tfcoremock_map.map",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_map.map",
"resource_key": null,
"resource_name": "map",
"resource_type": "tfcoremock_map"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "tfcoremock_set.set: Creation complete after 0s [id=046952C9-B832-4106-82C0-C217F7C73E18]",
"@module": "terraform.ui",
"hook": {
"action": "create",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "046952C9-B832-4106-82C0-C217F7C73E18",
"resource": {
"addr": "tfcoremock_set.set",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_set.set",
"resource_key": null,
"resource_name": "set",
"resource_type": "tfcoremock_set"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "Apply complete! Resources: 3 added, 0 changed, 0 destroyed.",
"@module": "terraform.ui",
"changes": {
"add": 3,
"change": 0,
"operation": "apply",
"remove": 0
},
"type": "change_summary"
},
{
"@level": "info",
"@message": "Outputs: 0",
"@module": "terraform.ui",
"outputs": {},
"type": "outputs"
}
]

View File

@ -1,45 +0,0 @@
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
Terraform will perform the following actions:
# tfcoremock_list.list will be created
+ resource "tfcoremock_list" "list" {
+ id = "985820B3-ACF9-4F00-94AD-F81C5EA33663"
+ list = [
+ "9C2BE420-042D-440A-96E9-75565341C994",
+ "3EC6EB1F-E372-46C3-A069-00D6E82EC1E1",
+ "D01290F6-2D3A-45FA-B006-DAA80F6D31F6",
]
}
# tfcoremock_map.map will be created
+ resource "tfcoremock_map" "map" {
+ id = "50E1A46E-E64A-4C1F-881C-BA85A5440964"
+ map = {
+ "one" = "682672C7-0918-4448-8342-887BAE01062A"
+ "two" = "212FFBF6-40FE-4862-B708-E6AA508E84E0"
+ "zero" = "6B044AF7-172B-495B-BE11-B9546C12C3BD"
}
}
# tfcoremock_set.set will be created
+ resource "tfcoremock_set" "set" {
+ id = "046952C9-B832-4106-82C0-C217F7C73E18"
+ set = [
+ "41471135-E14C-4946-BFA4-2626C7E2A94A",
+ "C04762B9-D07B-40FE-A92B-B72AD342658D",
+ "D8F7EA80-9E25-4DD7-8D97-797D2080952B",
]
}
Plan: 3 to add, 0 to change, 0 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: equivalence_test_plan
To perform exactly these actions, run the following command to apply:
terraform apply "equivalence_test_plan"

View File

@ -1,235 +0,0 @@
{
"configuration": {
"provider_config": {
"tfcoremock": {
"full_name": "registry.terraform.io/hashicorp/tfcoremock",
"name": "tfcoremock",
"version_constraint": "0.1.1"
}
},
"root_module": {
"resources": [
{
"address": "tfcoremock_list.list",
"expressions": {
"id": {
"constant_value": "985820B3-ACF9-4F00-94AD-F81C5EA33663"
},
"list": {
"constant_value": [
"9C2BE420-042D-440A-96E9-75565341C994",
"3EC6EB1F-E372-46C3-A069-00D6E82EC1E1",
"D01290F6-2D3A-45FA-B006-DAA80F6D31F6"
]
}
},
"mode": "managed",
"name": "list",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_list"
},
{
"address": "tfcoremock_map.map",
"expressions": {
"id": {
"constant_value": "50E1A46E-E64A-4C1F-881C-BA85A5440964"
},
"map": {
"constant_value": {
"one": "682672C7-0918-4448-8342-887BAE01062A",
"two": "212FFBF6-40FE-4862-B708-E6AA508E84E0",
"zero": "6B044AF7-172B-495B-BE11-B9546C12C3BD"
}
}
},
"mode": "managed",
"name": "map",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_map"
},
{
"address": "tfcoremock_set.set",
"expressions": {
"id": {
"constant_value": "046952C9-B832-4106-82C0-C217F7C73E18"
},
"set": {
"constant_value": [
"41471135-E14C-4946-BFA4-2626C7E2A94A",
"C04762B9-D07B-40FE-A92B-B72AD342658D",
"D8F7EA80-9E25-4DD7-8D97-797D2080952B"
]
}
},
"mode": "managed",
"name": "set",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_set"
}
]
}
},
"format_version": "1.1",
"planned_values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_list.list",
"mode": "managed",
"name": "list",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"list": [
false,
false,
false
]
},
"type": "tfcoremock_list",
"values": {
"id": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"list": [
"9C2BE420-042D-440A-96E9-75565341C994",
"3EC6EB1F-E372-46C3-A069-00D6E82EC1E1",
"D01290F6-2D3A-45FA-B006-DAA80F6D31F6"
]
}
},
{
"address": "tfcoremock_map.map",
"mode": "managed",
"name": "map",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"map": {}
},
"type": "tfcoremock_map",
"values": {
"id": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"map": {
"one": "682672C7-0918-4448-8342-887BAE01062A",
"two": "212FFBF6-40FE-4862-B708-E6AA508E84E0",
"zero": "6B044AF7-172B-495B-BE11-B9546C12C3BD"
}
}
},
{
"address": "tfcoremock_set.set",
"mode": "managed",
"name": "set",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"set": [
false,
false,
false
]
},
"type": "tfcoremock_set",
"values": {
"id": "046952C9-B832-4106-82C0-C217F7C73E18",
"set": [
"41471135-E14C-4946-BFA4-2626C7E2A94A",
"C04762B9-D07B-40FE-A92B-B72AD342658D",
"D8F7EA80-9E25-4DD7-8D97-797D2080952B"
]
}
}
]
}
},
"resource_changes": [
{
"address": "tfcoremock_list.list",
"change": {
"actions": [
"create"
],
"after": {
"id": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"list": [
"9C2BE420-042D-440A-96E9-75565341C994",
"3EC6EB1F-E372-46C3-A069-00D6E82EC1E1",
"D01290F6-2D3A-45FA-B006-DAA80F6D31F6"
]
},
"after_sensitive": {
"list": [
false,
false,
false
]
},
"after_unknown": {},
"before": null,
"before_sensitive": false
},
"mode": "managed",
"name": "list",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_list"
},
{
"address": "tfcoremock_map.map",
"change": {
"actions": [
"create"
],
"after": {
"id": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"map": {
"one": "682672C7-0918-4448-8342-887BAE01062A",
"two": "212FFBF6-40FE-4862-B708-E6AA508E84E0",
"zero": "6B044AF7-172B-495B-BE11-B9546C12C3BD"
}
},
"after_sensitive": {
"map": {}
},
"after_unknown": {},
"before": null,
"before_sensitive": false
},
"mode": "managed",
"name": "map",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_map"
},
{
"address": "tfcoremock_set.set",
"change": {
"actions": [
"create"
],
"after": {
"id": "046952C9-B832-4106-82C0-C217F7C73E18",
"set": [
"41471135-E14C-4946-BFA4-2626C7E2A94A",
"C04762B9-D07B-40FE-A92B-B72AD342658D",
"D8F7EA80-9E25-4DD7-8D97-797D2080952B"
]
},
"after_sensitive": {
"set": [
false,
false,
false
]
},
"after_unknown": {},
"before": null,
"before_sensitive": false
},
"mode": "managed",
"name": "set",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_set"
}
]
}

View File

@ -1,74 +0,0 @@
{
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_list.list",
"mode": "managed",
"name": "list",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"list": [
false,
false,
false
]
},
"type": "tfcoremock_list",
"values": {
"id": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"list": [
"9C2BE420-042D-440A-96E9-75565341C994",
"3EC6EB1F-E372-46C3-A069-00D6E82EC1E1",
"D01290F6-2D3A-45FA-B006-DAA80F6D31F6"
]
}
},
{
"address": "tfcoremock_map.map",
"mode": "managed",
"name": "map",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"map": {}
},
"type": "tfcoremock_map",
"values": {
"id": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"map": {
"one": "682672C7-0918-4448-8342-887BAE01062A",
"two": "212FFBF6-40FE-4862-B708-E6AA508E84E0",
"zero": "6B044AF7-172B-495B-BE11-B9546C12C3BD"
}
}
},
{
"address": "tfcoremock_set.set",
"mode": "managed",
"name": "set",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"set": [
false,
false,
false
]
},
"type": "tfcoremock_set",
"values": {
"id": "046952C9-B832-4106-82C0-C217F7C73E18",
"set": [
"41471135-E14C-4946-BFA4-2626C7E2A94A",
"C04762B9-D07B-40FE-A92B-B72AD342658D",
"D8F7EA80-9E25-4DD7-8D97-797D2080952B"
]
}
}
]
}
}
}

View File

@ -1,198 +0,0 @@
[
{
"@level": "info",
"@message": "tfcoremock_set.set: Plan to update",
"@module": "terraform.ui",
"change": {
"action": "update",
"resource": {
"addr": "tfcoremock_set.set",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_set.set",
"resource_key": null,
"resource_name": "set",
"resource_type": "tfcoremock_set"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_list.list: Plan to update",
"@module": "terraform.ui",
"change": {
"action": "update",
"resource": {
"addr": "tfcoremock_list.list",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_list.list",
"resource_key": null,
"resource_name": "list",
"resource_type": "tfcoremock_list"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_map.map: Plan to update",
"@module": "terraform.ui",
"change": {
"action": "update",
"resource": {
"addr": "tfcoremock_map.map",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_map.map",
"resource_key": null,
"resource_name": "map",
"resource_type": "tfcoremock_map"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_list.list: Modifying... [id=985820B3-ACF9-4F00-94AD-F81C5EA33663]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"id_key": "id",
"id_value": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"resource": {
"addr": "tfcoremock_list.list",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_list.list",
"resource_key": null,
"resource_name": "list",
"resource_type": "tfcoremock_list"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_list.list: Modifications complete after 0s [id=985820B3-ACF9-4F00-94AD-F81C5EA33663]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"resource": {
"addr": "tfcoremock_list.list",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_list.list",
"resource_key": null,
"resource_name": "list",
"resource_type": "tfcoremock_list"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "tfcoremock_set.set: Modifying... [id=046952C9-B832-4106-82C0-C217F7C73E18]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"id_key": "id",
"id_value": "046952C9-B832-4106-82C0-C217F7C73E18",
"resource": {
"addr": "tfcoremock_set.set",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_set.set",
"resource_key": null,
"resource_name": "set",
"resource_type": "tfcoremock_set"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_set.set: Modifications complete after 0s [id=046952C9-B832-4106-82C0-C217F7C73E18]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "046952C9-B832-4106-82C0-C217F7C73E18",
"resource": {
"addr": "tfcoremock_set.set",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_set.set",
"resource_key": null,
"resource_name": "set",
"resource_type": "tfcoremock_set"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "tfcoremock_map.map: Modifying... [id=50E1A46E-E64A-4C1F-881C-BA85A5440964]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"id_key": "id",
"id_value": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"resource": {
"addr": "tfcoremock_map.map",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_map.map",
"resource_key": null,
"resource_name": "map",
"resource_type": "tfcoremock_map"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_map.map: Modifications complete after 0s [id=50E1A46E-E64A-4C1F-881C-BA85A5440964]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"resource": {
"addr": "tfcoremock_map.map",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_map.map",
"resource_key": null,
"resource_name": "map",
"resource_type": "tfcoremock_map"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "Apply complete! Resources: 0 added, 3 changed, 0 destroyed.",
"@module": "terraform.ui",
"changes": {
"add": 0,
"change": 3,
"operation": "apply",
"remove": 0
},
"type": "change_summary"
},
{
"@level": "info",
"@message": "Outputs: 0",
"@module": "terraform.ui",
"outputs": {},
"type": "outputs"
}
]

View File

@ -1,48 +0,0 @@
tfcoremock_set.set: Refreshing state... [id=046952C9-B832-4106-82C0-C217F7C73E18]
tfcoremock_map.map: Refreshing state... [id=50E1A46E-E64A-4C1F-881C-BA85A5440964]
tfcoremock_list.list: Refreshing state... [id=985820B3-ACF9-4F00-94AD-F81C5EA33663]
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
# tfcoremock_list.list will be updated in-place
~ resource "tfcoremock_list" "list" {
id = "985820B3-ACF9-4F00-94AD-F81C5EA33663"
~ list = [
- "9C2BE420-042D-440A-96E9-75565341C994",
- "3EC6EB1F-E372-46C3-A069-00D6E82EC1E1",
- "D01290F6-2D3A-45FA-B006-DAA80F6D31F6",
]
}
# tfcoremock_map.map will be updated in-place
~ resource "tfcoremock_map" "map" {
id = "50E1A46E-E64A-4C1F-881C-BA85A5440964"
~ map = {
- "one" = "682672C7-0918-4448-8342-887BAE01062A" -> null
- "two" = "212FFBF6-40FE-4862-B708-E6AA508E84E0" -> null
- "zero" = "6B044AF7-172B-495B-BE11-B9546C12C3BD" -> null
}
}
# tfcoremock_set.set will be updated in-place
~ resource "tfcoremock_set" "set" {
id = "046952C9-B832-4106-82C0-C217F7C73E18"
~ set = [
- "41471135-E14C-4946-BFA4-2626C7E2A94A",
- "C04762B9-D07B-40FE-A92B-B72AD342658D",
- "D8F7EA80-9E25-4DD7-8D97-797D2080952B",
]
}
Plan: 0 to add, 3 to change, 0 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: equivalence_test_plan
To perform exactly these actions, run the following command to apply:
terraform apply "equivalence_test_plan"

View File

@ -1,292 +0,0 @@
{
"configuration": {
"provider_config": {
"tfcoremock": {
"full_name": "registry.terraform.io/hashicorp/tfcoremock",
"name": "tfcoremock",
"version_constraint": "0.1.1"
}
},
"root_module": {
"resources": [
{
"address": "tfcoremock_list.list",
"expressions": {
"id": {
"constant_value": "985820B3-ACF9-4F00-94AD-F81C5EA33663"
},
"list": {
"constant_value": []
}
},
"mode": "managed",
"name": "list",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_list"
},
{
"address": "tfcoremock_map.map",
"expressions": {
"id": {
"constant_value": "50E1A46E-E64A-4C1F-881C-BA85A5440964"
},
"map": {
"constant_value": {}
}
},
"mode": "managed",
"name": "map",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_map"
},
{
"address": "tfcoremock_set.set",
"expressions": {
"id": {
"constant_value": "046952C9-B832-4106-82C0-C217F7C73E18"
},
"set": {
"constant_value": []
}
},
"mode": "managed",
"name": "set",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_set"
}
]
}
},
"format_version": "1.1",
"planned_values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_list.list",
"mode": "managed",
"name": "list",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"list": []
},
"type": "tfcoremock_list",
"values": {
"id": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"list": []
}
},
{
"address": "tfcoremock_map.map",
"mode": "managed",
"name": "map",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"map": {}
},
"type": "tfcoremock_map",
"values": {
"id": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"map": {}
}
},
{
"address": "tfcoremock_set.set",
"mode": "managed",
"name": "set",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"set": []
},
"type": "tfcoremock_set",
"values": {
"id": "046952C9-B832-4106-82C0-C217F7C73E18",
"set": []
}
}
]
}
},
"prior_state": {
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_list.list",
"mode": "managed",
"name": "list",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"list": [
false,
false,
false
]
},
"type": "tfcoremock_list",
"values": {
"id": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"list": [
"9C2BE420-042D-440A-96E9-75565341C994",
"3EC6EB1F-E372-46C3-A069-00D6E82EC1E1",
"D01290F6-2D3A-45FA-B006-DAA80F6D31F6"
]
}
},
{
"address": "tfcoremock_map.map",
"mode": "managed",
"name": "map",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"map": {}
},
"type": "tfcoremock_map",
"values": {
"id": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"map": {
"one": "682672C7-0918-4448-8342-887BAE01062A",
"two": "212FFBF6-40FE-4862-B708-E6AA508E84E0",
"zero": "6B044AF7-172B-495B-BE11-B9546C12C3BD"
}
}
},
{
"address": "tfcoremock_set.set",
"mode": "managed",
"name": "set",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"set": [
false,
false,
false
]
},
"type": "tfcoremock_set",
"values": {
"id": "046952C9-B832-4106-82C0-C217F7C73E18",
"set": [
"41471135-E14C-4946-BFA4-2626C7E2A94A",
"C04762B9-D07B-40FE-A92B-B72AD342658D",
"D8F7EA80-9E25-4DD7-8D97-797D2080952B"
]
}
}
]
}
}
},
"resource_changes": [
{
"address": "tfcoremock_list.list",
"change": {
"actions": [
"update"
],
"after": {
"id": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"list": []
},
"after_sensitive": {
"list": []
},
"after_unknown": {},
"before": {
"id": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"list": [
"9C2BE420-042D-440A-96E9-75565341C994",
"3EC6EB1F-E372-46C3-A069-00D6E82EC1E1",
"D01290F6-2D3A-45FA-B006-DAA80F6D31F6"
]
},
"before_sensitive": {
"list": [
false,
false,
false
]
}
},
"mode": "managed",
"name": "list",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_list"
},
{
"address": "tfcoremock_map.map",
"change": {
"actions": [
"update"
],
"after": {
"id": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"map": {}
},
"after_sensitive": {
"map": {}
},
"after_unknown": {},
"before": {
"id": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"map": {
"one": "682672C7-0918-4448-8342-887BAE01062A",
"two": "212FFBF6-40FE-4862-B708-E6AA508E84E0",
"zero": "6B044AF7-172B-495B-BE11-B9546C12C3BD"
}
},
"before_sensitive": {
"map": {}
}
},
"mode": "managed",
"name": "map",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_map"
},
{
"address": "tfcoremock_set.set",
"change": {
"actions": [
"update"
],
"after": {
"id": "046952C9-B832-4106-82C0-C217F7C73E18",
"set": []
},
"after_sensitive": {
"set": []
},
"after_unknown": {},
"before": {
"id": "046952C9-B832-4106-82C0-C217F7C73E18",
"set": [
"41471135-E14C-4946-BFA4-2626C7E2A94A",
"C04762B9-D07B-40FE-A92B-B72AD342658D",
"D8F7EA80-9E25-4DD7-8D97-797D2080952B"
]
},
"before_sensitive": {
"set": [
false,
false,
false
]
}
},
"mode": "managed",
"name": "set",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_set"
}
]
}

View File

@ -1,54 +0,0 @@
{
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_list.list",
"mode": "managed",
"name": "list",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"list": []
},
"type": "tfcoremock_list",
"values": {
"id": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"list": []
}
},
{
"address": "tfcoremock_map.map",
"mode": "managed",
"name": "map",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"map": {}
},
"type": "tfcoremock_map",
"values": {
"id": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"map": {}
}
},
{
"address": "tfcoremock_set.set",
"mode": "managed",
"name": "set",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"set": []
},
"type": "tfcoremock_set",
"values": {
"id": "046952C9-B832-4106-82C0-C217F7C73E18",
"set": []
}
}
]
}
}
}

View File

@ -1,198 +0,0 @@
[
{
"@level": "info",
"@message": "tfcoremock_set.set: Plan to update",
"@module": "terraform.ui",
"change": {
"action": "update",
"resource": {
"addr": "tfcoremock_set.set",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_set.set",
"resource_key": null,
"resource_name": "set",
"resource_type": "tfcoremock_set"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_list.list: Plan to update",
"@module": "terraform.ui",
"change": {
"action": "update",
"resource": {
"addr": "tfcoremock_list.list",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_list.list",
"resource_key": null,
"resource_name": "list",
"resource_type": "tfcoremock_list"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_map.map: Plan to update",
"@module": "terraform.ui",
"change": {
"action": "update",
"resource": {
"addr": "tfcoremock_map.map",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_map.map",
"resource_key": null,
"resource_name": "map",
"resource_type": "tfcoremock_map"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_set.set: Modifying... [id=046952C9-B832-4106-82C0-C217F7C73E18]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"id_key": "id",
"id_value": "046952C9-B832-4106-82C0-C217F7C73E18",
"resource": {
"addr": "tfcoremock_set.set",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_set.set",
"resource_key": null,
"resource_name": "set",
"resource_type": "tfcoremock_set"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_set.set: Modifications complete after 0s [id=046952C9-B832-4106-82C0-C217F7C73E18]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "046952C9-B832-4106-82C0-C217F7C73E18",
"resource": {
"addr": "tfcoremock_set.set",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_set.set",
"resource_key": null,
"resource_name": "set",
"resource_type": "tfcoremock_set"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "tfcoremock_map.map: Modifying... [id=50E1A46E-E64A-4C1F-881C-BA85A5440964]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"id_key": "id",
"id_value": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"resource": {
"addr": "tfcoremock_map.map",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_map.map",
"resource_key": null,
"resource_name": "map",
"resource_type": "tfcoremock_map"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_list.list: Modifying... [id=985820B3-ACF9-4F00-94AD-F81C5EA33663]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"id_key": "id",
"id_value": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"resource": {
"addr": "tfcoremock_list.list",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_list.list",
"resource_key": null,
"resource_name": "list",
"resource_type": "tfcoremock_list"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_list.list: Modifications complete after 0s [id=985820B3-ACF9-4F00-94AD-F81C5EA33663]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"resource": {
"addr": "tfcoremock_list.list",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_list.list",
"resource_key": null,
"resource_name": "list",
"resource_type": "tfcoremock_list"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "tfcoremock_map.map: Modifications complete after 0s [id=50E1A46E-E64A-4C1F-881C-BA85A5440964]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"resource": {
"addr": "tfcoremock_map.map",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_map.map",
"resource_key": null,
"resource_name": "map",
"resource_type": "tfcoremock_map"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "Apply complete! Resources: 0 added, 3 changed, 0 destroyed.",
"@module": "terraform.ui",
"changes": {
"add": 0,
"change": 3,
"operation": "apply",
"remove": 0
},
"type": "change_summary"
},
{
"@level": "info",
"@message": "Outputs: 0",
"@module": "terraform.ui",
"outputs": {},
"type": "outputs"
}
]

View File

@ -1,48 +0,0 @@
tfcoremock_set.set: Refreshing state... [id=046952C9-B832-4106-82C0-C217F7C73E18]
tfcoremock_map.map: Refreshing state... [id=50E1A46E-E64A-4C1F-881C-BA85A5440964]
tfcoremock_list.list: Refreshing state... [id=985820B3-ACF9-4F00-94AD-F81C5EA33663]
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
# tfcoremock_list.list will be updated in-place
~ resource "tfcoremock_list" "list" {
id = "985820B3-ACF9-4F00-94AD-F81C5EA33663"
- list = [
- "9C2BE420-042D-440A-96E9-75565341C994",
- "3EC6EB1F-E372-46C3-A069-00D6E82EC1E1",
- "D01290F6-2D3A-45FA-B006-DAA80F6D31F6",
] -> null
}
# tfcoremock_map.map will be updated in-place
~ resource "tfcoremock_map" "map" {
id = "50E1A46E-E64A-4C1F-881C-BA85A5440964"
- map = {
- "one" = "682672C7-0918-4448-8342-887BAE01062A"
- "two" = "212FFBF6-40FE-4862-B708-E6AA508E84E0"
- "zero" = "6B044AF7-172B-495B-BE11-B9546C12C3BD"
} -> null
}
# tfcoremock_set.set will be updated in-place
~ resource "tfcoremock_set" "set" {
id = "046952C9-B832-4106-82C0-C217F7C73E18"
- set = [
- "41471135-E14C-4946-BFA4-2626C7E2A94A",
- "C04762B9-D07B-40FE-A92B-B72AD342658D",
- "D8F7EA80-9E25-4DD7-8D97-797D2080952B",
] -> null
}
Plan: 0 to add, 3 to change, 0 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: equivalence_test_plan
To perform exactly these actions, run the following command to apply:
terraform apply "equivalence_test_plan"

View File

@ -1,271 +0,0 @@
{
"configuration": {
"provider_config": {
"tfcoremock": {
"full_name": "registry.terraform.io/hashicorp/tfcoremock",
"name": "tfcoremock",
"version_constraint": "0.1.1"
}
},
"root_module": {
"resources": [
{
"address": "tfcoremock_list.list",
"expressions": {
"id": {
"constant_value": "985820B3-ACF9-4F00-94AD-F81C5EA33663"
}
},
"mode": "managed",
"name": "list",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_list"
},
{
"address": "tfcoremock_map.map",
"expressions": {
"id": {
"constant_value": "50E1A46E-E64A-4C1F-881C-BA85A5440964"
}
},
"mode": "managed",
"name": "map",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_map"
},
{
"address": "tfcoremock_set.set",
"expressions": {
"id": {
"constant_value": "046952C9-B832-4106-82C0-C217F7C73E18"
}
},
"mode": "managed",
"name": "set",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_set"
}
]
}
},
"format_version": "1.1",
"planned_values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_list.list",
"mode": "managed",
"name": "list",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_list",
"values": {
"id": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"list": null
}
},
{
"address": "tfcoremock_map.map",
"mode": "managed",
"name": "map",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_map",
"values": {
"id": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"map": null
}
},
{
"address": "tfcoremock_set.set",
"mode": "managed",
"name": "set",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_set",
"values": {
"id": "046952C9-B832-4106-82C0-C217F7C73E18",
"set": null
}
}
]
}
},
"prior_state": {
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_list.list",
"mode": "managed",
"name": "list",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"list": [
false,
false,
false
]
},
"type": "tfcoremock_list",
"values": {
"id": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"list": [
"9C2BE420-042D-440A-96E9-75565341C994",
"3EC6EB1F-E372-46C3-A069-00D6E82EC1E1",
"D01290F6-2D3A-45FA-B006-DAA80F6D31F6"
]
}
},
{
"address": "tfcoremock_map.map",
"mode": "managed",
"name": "map",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"map": {}
},
"type": "tfcoremock_map",
"values": {
"id": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"map": {
"one": "682672C7-0918-4448-8342-887BAE01062A",
"two": "212FFBF6-40FE-4862-B708-E6AA508E84E0",
"zero": "6B044AF7-172B-495B-BE11-B9546C12C3BD"
}
}
},
{
"address": "tfcoremock_set.set",
"mode": "managed",
"name": "set",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"set": [
false,
false,
false
]
},
"type": "tfcoremock_set",
"values": {
"id": "046952C9-B832-4106-82C0-C217F7C73E18",
"set": [
"41471135-E14C-4946-BFA4-2626C7E2A94A",
"C04762B9-D07B-40FE-A92B-B72AD342658D",
"D8F7EA80-9E25-4DD7-8D97-797D2080952B"
]
}
}
]
}
}
},
"resource_changes": [
{
"address": "tfcoremock_list.list",
"change": {
"actions": [
"update"
],
"after": {
"id": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"list": null
},
"after_sensitive": {},
"after_unknown": {},
"before": {
"id": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"list": [
"9C2BE420-042D-440A-96E9-75565341C994",
"3EC6EB1F-E372-46C3-A069-00D6E82EC1E1",
"D01290F6-2D3A-45FA-B006-DAA80F6D31F6"
]
},
"before_sensitive": {
"list": [
false,
false,
false
]
}
},
"mode": "managed",
"name": "list",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_list"
},
{
"address": "tfcoremock_map.map",
"change": {
"actions": [
"update"
],
"after": {
"id": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"map": null
},
"after_sensitive": {},
"after_unknown": {},
"before": {
"id": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"map": {
"one": "682672C7-0918-4448-8342-887BAE01062A",
"two": "212FFBF6-40FE-4862-B708-E6AA508E84E0",
"zero": "6B044AF7-172B-495B-BE11-B9546C12C3BD"
}
},
"before_sensitive": {
"map": {}
}
},
"mode": "managed",
"name": "map",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_map"
},
{
"address": "tfcoremock_set.set",
"change": {
"actions": [
"update"
],
"after": {
"id": "046952C9-B832-4106-82C0-C217F7C73E18",
"set": null
},
"after_sensitive": {},
"after_unknown": {},
"before": {
"id": "046952C9-B832-4106-82C0-C217F7C73E18",
"set": [
"41471135-E14C-4946-BFA4-2626C7E2A94A",
"C04762B9-D07B-40FE-A92B-B72AD342658D",
"D8F7EA80-9E25-4DD7-8D97-797D2080952B"
]
},
"before_sensitive": {
"set": [
false,
false,
false
]
}
},
"mode": "managed",
"name": "set",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_set"
}
]
}

View File

@ -1,48 +0,0 @@
{
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_list.list",
"mode": "managed",
"name": "list",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_list",
"values": {
"id": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"list": null
}
},
{
"address": "tfcoremock_map.map",
"mode": "managed",
"name": "map",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_map",
"values": {
"id": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"map": null
}
},
{
"address": "tfcoremock_set.set",
"mode": "managed",
"name": "set",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_set",
"values": {
"id": "046952C9-B832-4106-82C0-C217F7C73E18",
"set": null
}
}
]
}
}
}

View File

@ -1,198 +0,0 @@
[
{
"@level": "info",
"@message": "tfcoremock_map.map: Plan to update",
"@module": "terraform.ui",
"change": {
"action": "update",
"resource": {
"addr": "tfcoremock_map.map",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_map.map",
"resource_key": null,
"resource_name": "map",
"resource_type": "tfcoremock_map"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_set.set: Plan to update",
"@module": "terraform.ui",
"change": {
"action": "update",
"resource": {
"addr": "tfcoremock_set.set",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_set.set",
"resource_key": null,
"resource_name": "set",
"resource_type": "tfcoremock_set"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_list.list: Plan to update",
"@module": "terraform.ui",
"change": {
"action": "update",
"resource": {
"addr": "tfcoremock_list.list",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_list.list",
"resource_key": null,
"resource_name": "list",
"resource_type": "tfcoremock_list"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_set.set: Modifying... [id=046952C9-B832-4106-82C0-C217F7C73E18]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"id_key": "id",
"id_value": "046952C9-B832-4106-82C0-C217F7C73E18",
"resource": {
"addr": "tfcoremock_set.set",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_set.set",
"resource_key": null,
"resource_name": "set",
"resource_type": "tfcoremock_set"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_map.map: Modifying... [id=50E1A46E-E64A-4C1F-881C-BA85A5440964]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"id_key": "id",
"id_value": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"resource": {
"addr": "tfcoremock_map.map",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_map.map",
"resource_key": null,
"resource_name": "map",
"resource_type": "tfcoremock_map"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_map.map: Modifications complete after 0s [id=50E1A46E-E64A-4C1F-881C-BA85A5440964]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"resource": {
"addr": "tfcoremock_map.map",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_map.map",
"resource_key": null,
"resource_name": "map",
"resource_type": "tfcoremock_map"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "tfcoremock_list.list: Modifying... [id=985820B3-ACF9-4F00-94AD-F81C5EA33663]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"id_key": "id",
"id_value": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"resource": {
"addr": "tfcoremock_list.list",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_list.list",
"resource_key": null,
"resource_name": "list",
"resource_type": "tfcoremock_list"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_set.set: Modifications complete after 0s [id=046952C9-B832-4106-82C0-C217F7C73E18]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "046952C9-B832-4106-82C0-C217F7C73E18",
"resource": {
"addr": "tfcoremock_set.set",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_set.set",
"resource_key": null,
"resource_name": "set",
"resource_type": "tfcoremock_set"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "tfcoremock_list.list: Modifications complete after 0s [id=985820B3-ACF9-4F00-94AD-F81C5EA33663]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"resource": {
"addr": "tfcoremock_list.list",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_list.list",
"resource_key": null,
"resource_name": "list",
"resource_type": "tfcoremock_list"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "Apply complete! Resources: 0 added, 3 changed, 0 destroyed.",
"@module": "terraform.ui",
"changes": {
"add": 0,
"change": 3,
"operation": "apply",
"remove": 0
},
"type": "change_summary"
},
{
"@level": "info",
"@message": "Outputs: 0",
"@module": "terraform.ui",
"outputs": {},
"type": "outputs"
}
]

View File

@ -1,49 +0,0 @@
tfcoremock_map.map: Refreshing state... [id=50E1A46E-E64A-4C1F-881C-BA85A5440964]
tfcoremock_list.list: Refreshing state... [id=985820B3-ACF9-4F00-94AD-F81C5EA33663]
tfcoremock_set.set: Refreshing state... [id=046952C9-B832-4106-82C0-C217F7C73E18]
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
# tfcoremock_list.list will be updated in-place
~ resource "tfcoremock_list" "list" {
id = "985820B3-ACF9-4F00-94AD-F81C5EA33663"
~ list = [
"9C2BE420-042D-440A-96E9-75565341C994",
- "3EC6EB1F-E372-46C3-A069-00D6E82EC1E1",
"D01290F6-2D3A-45FA-B006-DAA80F6D31F6",
+ "9B9F3ADF-8AD4-4E8C-AFE4-7BC2413E9AC0",
]
}
# tfcoremock_map.map will be updated in-place
~ resource "tfcoremock_map" "map" {
id = "50E1A46E-E64A-4C1F-881C-BA85A5440964"
~ map = {
+ "four" = "D820D482-7C2C-4EF3-8935-863168A193F9"
- "one" = "682672C7-0918-4448-8342-887BAE01062A" -> null
# (2 unchanged elements hidden)
}
}
# tfcoremock_set.set will be updated in-place
~ resource "tfcoremock_set" "set" {
id = "046952C9-B832-4106-82C0-C217F7C73E18"
~ set = [
+ "1769B76E-12F0-4214-A864-E843EB23B64E",
- "C04762B9-D07B-40FE-A92B-B72AD342658D",
# (2 unchanged elements hidden)
]
}
Plan: 0 to add, 3 to change, 0 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: equivalence_test_plan
To perform exactly these actions, run the following command to apply:
terraform apply "equivalence_test_plan"

View File

@ -1,344 +0,0 @@
{
"configuration": {
"provider_config": {
"tfcoremock": {
"full_name": "registry.terraform.io/hashicorp/tfcoremock",
"name": "tfcoremock",
"version_constraint": "0.1.1"
}
},
"root_module": {
"resources": [
{
"address": "tfcoremock_list.list",
"expressions": {
"id": {
"constant_value": "985820B3-ACF9-4F00-94AD-F81C5EA33663"
},
"list": {
"constant_value": [
"9C2BE420-042D-440A-96E9-75565341C994",
"D01290F6-2D3A-45FA-B006-DAA80F6D31F6",
"9B9F3ADF-8AD4-4E8C-AFE4-7BC2413E9AC0"
]
}
},
"mode": "managed",
"name": "list",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_list"
},
{
"address": "tfcoremock_map.map",
"expressions": {
"id": {
"constant_value": "50E1A46E-E64A-4C1F-881C-BA85A5440964"
},
"map": {
"constant_value": {
"four": "D820D482-7C2C-4EF3-8935-863168A193F9",
"two": "212FFBF6-40FE-4862-B708-E6AA508E84E0",
"zero": "6B044AF7-172B-495B-BE11-B9546C12C3BD"
}
}
},
"mode": "managed",
"name": "map",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_map"
},
{
"address": "tfcoremock_set.set",
"expressions": {
"id": {
"constant_value": "046952C9-B832-4106-82C0-C217F7C73E18"
},
"set": {
"constant_value": [
"41471135-E14C-4946-BFA4-2626C7E2A94A",
"D8F7EA80-9E25-4DD7-8D97-797D2080952B",
"1769B76E-12F0-4214-A864-E843EB23B64E"
]
}
},
"mode": "managed",
"name": "set",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_set"
}
]
}
},
"format_version": "1.1",
"planned_values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_list.list",
"mode": "managed",
"name": "list",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"list": [
false,
false,
false
]
},
"type": "tfcoremock_list",
"values": {
"id": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"list": [
"9C2BE420-042D-440A-96E9-75565341C994",
"D01290F6-2D3A-45FA-B006-DAA80F6D31F6",
"9B9F3ADF-8AD4-4E8C-AFE4-7BC2413E9AC0"
]
}
},
{
"address": "tfcoremock_map.map",
"mode": "managed",
"name": "map",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"map": {}
},
"type": "tfcoremock_map",
"values": {
"id": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"map": {
"four": "D820D482-7C2C-4EF3-8935-863168A193F9",
"two": "212FFBF6-40FE-4862-B708-E6AA508E84E0",
"zero": "6B044AF7-172B-495B-BE11-B9546C12C3BD"
}
}
},
{
"address": "tfcoremock_set.set",
"mode": "managed",
"name": "set",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"set": [
false,
false,
false
]
},
"type": "tfcoremock_set",
"values": {
"id": "046952C9-B832-4106-82C0-C217F7C73E18",
"set": [
"1769B76E-12F0-4214-A864-E843EB23B64E",
"41471135-E14C-4946-BFA4-2626C7E2A94A",
"D8F7EA80-9E25-4DD7-8D97-797D2080952B"
]
}
}
]
}
},
"prior_state": {
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_list.list",
"mode": "managed",
"name": "list",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"list": [
false,
false,
false
]
},
"type": "tfcoremock_list",
"values": {
"id": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"list": [
"9C2BE420-042D-440A-96E9-75565341C994",
"3EC6EB1F-E372-46C3-A069-00D6E82EC1E1",
"D01290F6-2D3A-45FA-B006-DAA80F6D31F6"
]
}
},
{
"address": "tfcoremock_map.map",
"mode": "managed",
"name": "map",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"map": {}
},
"type": "tfcoremock_map",
"values": {
"id": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"map": {
"one": "682672C7-0918-4448-8342-887BAE01062A",
"two": "212FFBF6-40FE-4862-B708-E6AA508E84E0",
"zero": "6B044AF7-172B-495B-BE11-B9546C12C3BD"
}
}
},
{
"address": "tfcoremock_set.set",
"mode": "managed",
"name": "set",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"set": [
false,
false,
false
]
},
"type": "tfcoremock_set",
"values": {
"id": "046952C9-B832-4106-82C0-C217F7C73E18",
"set": [
"41471135-E14C-4946-BFA4-2626C7E2A94A",
"C04762B9-D07B-40FE-A92B-B72AD342658D",
"D8F7EA80-9E25-4DD7-8D97-797D2080952B"
]
}
}
]
}
}
},
"resource_changes": [
{
"address": "tfcoremock_list.list",
"change": {
"actions": [
"update"
],
"after": {
"id": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"list": [
"9C2BE420-042D-440A-96E9-75565341C994",
"D01290F6-2D3A-45FA-B006-DAA80F6D31F6",
"9B9F3ADF-8AD4-4E8C-AFE4-7BC2413E9AC0"
]
},
"after_sensitive": {
"list": [
false,
false,
false
]
},
"after_unknown": {},
"before": {
"id": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"list": [
"9C2BE420-042D-440A-96E9-75565341C994",
"3EC6EB1F-E372-46C3-A069-00D6E82EC1E1",
"D01290F6-2D3A-45FA-B006-DAA80F6D31F6"
]
},
"before_sensitive": {
"list": [
false,
false,
false
]
}
},
"mode": "managed",
"name": "list",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_list"
},
{
"address": "tfcoremock_map.map",
"change": {
"actions": [
"update"
],
"after": {
"id": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"map": {
"four": "D820D482-7C2C-4EF3-8935-863168A193F9",
"two": "212FFBF6-40FE-4862-B708-E6AA508E84E0",
"zero": "6B044AF7-172B-495B-BE11-B9546C12C3BD"
}
},
"after_sensitive": {
"map": {}
},
"after_unknown": {},
"before": {
"id": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"map": {
"one": "682672C7-0918-4448-8342-887BAE01062A",
"two": "212FFBF6-40FE-4862-B708-E6AA508E84E0",
"zero": "6B044AF7-172B-495B-BE11-B9546C12C3BD"
}
},
"before_sensitive": {
"map": {}
}
},
"mode": "managed",
"name": "map",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_map"
},
{
"address": "tfcoremock_set.set",
"change": {
"actions": [
"update"
],
"after": {
"id": "046952C9-B832-4106-82C0-C217F7C73E18",
"set": [
"1769B76E-12F0-4214-A864-E843EB23B64E",
"41471135-E14C-4946-BFA4-2626C7E2A94A",
"D8F7EA80-9E25-4DD7-8D97-797D2080952B"
]
},
"after_sensitive": {
"set": [
false,
false,
false
]
},
"after_unknown": {},
"before": {
"id": "046952C9-B832-4106-82C0-C217F7C73E18",
"set": [
"41471135-E14C-4946-BFA4-2626C7E2A94A",
"C04762B9-D07B-40FE-A92B-B72AD342658D",
"D8F7EA80-9E25-4DD7-8D97-797D2080952B"
]
},
"before_sensitive": {
"set": [
false,
false,
false
]
}
},
"mode": "managed",
"name": "set",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_set"
}
]
}

View File

@ -1,74 +0,0 @@
{
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_list.list",
"mode": "managed",
"name": "list",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"list": [
false,
false,
false
]
},
"type": "tfcoremock_list",
"values": {
"id": "985820B3-ACF9-4F00-94AD-F81C5EA33663",
"list": [
"9C2BE420-042D-440A-96E9-75565341C994",
"D01290F6-2D3A-45FA-B006-DAA80F6D31F6",
"9B9F3ADF-8AD4-4E8C-AFE4-7BC2413E9AC0"
]
}
},
{
"address": "tfcoremock_map.map",
"mode": "managed",
"name": "map",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"map": {}
},
"type": "tfcoremock_map",
"values": {
"id": "50E1A46E-E64A-4C1F-881C-BA85A5440964",
"map": {
"four": "D820D482-7C2C-4EF3-8935-863168A193F9",
"two": "212FFBF6-40FE-4862-B708-E6AA508E84E0",
"zero": "6B044AF7-172B-495B-BE11-B9546C12C3BD"
}
}
},
{
"address": "tfcoremock_set.set",
"mode": "managed",
"name": "set",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"set": [
false,
false,
false
]
},
"type": "tfcoremock_set",
"values": {
"id": "046952C9-B832-4106-82C0-C217F7C73E18",
"set": [
"1769B76E-12F0-4214-A864-E843EB23B64E",
"41471135-E14C-4946-BFA4-2626C7E2A94A",
"D8F7EA80-9E25-4DD7-8D97-797D2080952B"
]
}
}
]
}
}
}

View File

@ -0,0 +1,80 @@
[
{
"@level": "info",
"@message": "tfcoremock_simple_resource.json: Plan to update",
"@module": "terraform.ui",
"change": {
"action": "update",
"resource": {
"addr": "tfcoremock_simple_resource.json",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.json",
"resource_key": null,
"resource_name": "json",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_simple_resource.json: Modifying... [id=5a3fd9b3-e852-8956-8c0a-255d47eda645]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"id_key": "id",
"id_value": "5a3fd9b3-e852-8956-8c0a-255d47eda645",
"resource": {
"addr": "tfcoremock_simple_resource.json",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.json",
"resource_key": null,
"resource_name": "json",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_simple_resource.json: Modifications complete after 0s [id=5a3fd9b3-e852-8956-8c0a-255d47eda645]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "5a3fd9b3-e852-8956-8c0a-255d47eda645",
"resource": {
"addr": "tfcoremock_simple_resource.json",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.json",
"resource_key": null,
"resource_name": "json",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "Apply complete! Resources: 0 added, 1 changed, 0 destroyed.",
"@module": "terraform.ui",
"changes": {
"add": 0,
"change": 1,
"operation": "apply",
"remove": 0
},
"type": "change_summary"
},
{
"@level": "info",
"@message": "Outputs: 0",
"@module": "terraform.ui",
"outputs": {},
"type": "outputs"
}
]

View File

@ -0,0 +1,38 @@
tfcoremock_simple_resource.json: Refreshing state... [id=5a3fd9b3-e852-8956-8c0a-255d47eda645]
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
# tfcoremock_simple_resource.json will be updated in-place
~ resource "tfcoremock_simple_resource" "json" {
id = "5a3fd9b3-e852-8956-8c0a-255d47eda645"
~ string = jsonencode(
~ {
~ list-attribute = [
"one",
- "two",
+ "four",
"three",
]
~ object-attribute = {
+ key_four = "value_three"
~ key_three = "value_three" -> "value_two"
- key_two = "value_two" -> null
# (1 unchanged element hidden)
}
~ string-attribute = "string" -> "a new string"
}
)
}
Plan: 0 to add, 1 to change, 0 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: equivalence_test_plan
To perform exactly these actions, run the following command to apply:
terraform apply "equivalence_test_plan"

View File

@ -0,0 +1,111 @@
{
"configuration": {
"provider_config": {
"tfcoremock": {
"full_name": "registry.terraform.io/hashicorp/tfcoremock",
"name": "tfcoremock",
"version_constraint": "0.1.1"
}
},
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.json",
"expressions": {
"string": {
"constant_value": "{\"list-attribute\":[\"one\",\"four\",\"three\"],\"object-attribute\":{\"key_one\":\"value_one\",\"key_three\":\"value_two\", \"key_four\":\"value_three\"},\"string-attribute\":\"a new string\"}"
}
},
"mode": "managed",
"name": "json",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_simple_resource"
}
]
}
},
"format_version": "1.1",
"planned_values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.json",
"mode": "managed",
"name": "json",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "5a3fd9b3-e852-8956-8c0a-255d47eda645",
"integer": null,
"number": null,
"string": "{\"list-attribute\":[\"one\",\"four\",\"three\"],\"object-attribute\":{\"key_one\":\"value_one\",\"key_three\":\"value_two\", \"key_four\":\"value_three\"},\"string-attribute\":\"a new string\"}"
}
}
]
}
},
"prior_state": {
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.json",
"mode": "managed",
"name": "json",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "5a3fd9b3-e852-8956-8c0a-255d47eda645",
"integer": null,
"number": null,
"string": "{\"list-attribute\":[\"one\",\"two\",\"three\"],\"object-attribute\":{\"key_one\":\"value_one\",\"key_two\":\"value_two\",\"key_three\":\"value_three\"},\"string-attribute\":\"string\"}"
}
}
]
}
}
},
"resource_changes": [
{
"address": "tfcoremock_simple_resource.json",
"change": {
"actions": [
"update"
],
"after": {
"bool": null,
"float": null,
"id": "5a3fd9b3-e852-8956-8c0a-255d47eda645",
"integer": null,
"number": null,
"string": "{\"list-attribute\":[\"one\",\"four\",\"three\"],\"object-attribute\":{\"key_one\":\"value_one\",\"key_three\":\"value_two\", \"key_four\":\"value_three\"},\"string-attribute\":\"a new string\"}"
},
"after_sensitive": {},
"after_unknown": {},
"before": {
"bool": null,
"float": null,
"id": "5a3fd9b3-e852-8956-8c0a-255d47eda645",
"integer": null,
"number": null,
"string": "{\"list-attribute\":[\"one\",\"two\",\"three\"],\"object-attribute\":{\"key_one\":\"value_one\",\"key_two\":\"value_two\",\"key_three\":\"value_three\"},\"string-attribute\":\"string\"}"
},
"before_sensitive": {}
},
"mode": "managed",
"name": "json",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_simple_resource"
}
]
}

View File

@ -0,0 +1,26 @@
{
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.json",
"mode": "managed",
"name": "json",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "5a3fd9b3-e852-8956-8c0a-255d47eda645",
"integer": null,
"number": null,
"string": "{\"list-attribute\":[\"one\",\"four\",\"three\"],\"object-attribute\":{\"key_one\":\"value_one\",\"key_three\":\"value_two\", \"key_four\":\"value_three\"},\"string-attribute\":\"a new string\"}"
}
}
]
}
}
}

View File

@ -0,0 +1,80 @@
[
{
"@level": "info",
"@message": "tfcoremock_simple_resource.multiline: Plan to update",
"@module": "terraform.ui",
"change": {
"action": "update",
"resource": {
"addr": "tfcoremock_simple_resource.multiline",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.multiline",
"resource_key": null,
"resource_name": "multiline",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_simple_resource.multiline: Modifying... [id=69fe5233-e77a-804f-0dac-115c949540bc]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"id_key": "id",
"id_value": "69fe5233-e77a-804f-0dac-115c949540bc",
"resource": {
"addr": "tfcoremock_simple_resource.multiline",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.multiline",
"resource_key": null,
"resource_name": "multiline",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_simple_resource.multiline: Modifications complete after 0s [id=69fe5233-e77a-804f-0dac-115c949540bc]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "69fe5233-e77a-804f-0dac-115c949540bc",
"resource": {
"addr": "tfcoremock_simple_resource.multiline",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.multiline",
"resource_key": null,
"resource_name": "multiline",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "Apply complete! Resources: 0 added, 1 changed, 0 destroyed.",
"@module": "terraform.ui",
"changes": {
"add": 0,
"change": 1,
"operation": "apply",
"remove": 0
},
"type": "change_summary"
},
{
"@level": "info",
"@message": "Outputs: 0",
"@module": "terraform.ui",
"outputs": {},
"type": "outputs"
}
]

View File

@ -0,0 +1,31 @@
tfcoremock_simple_resource.multiline: Refreshing state... [id=69fe5233-e77a-804f-0dac-115c949540bc]
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
# tfcoremock_simple_resource.multiline will be updated in-place
~ resource "tfcoremock_simple_resource" "multiline" {
id = "69fe5233-e77a-804f-0dac-115c949540bc"
~ string = <<-EOT
one
- two
three
+ two
four
- five
+ six
+ seven
EOT
}
Plan: 0 to add, 1 to change, 0 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: equivalence_test_plan
To perform exactly these actions, run the following command to apply:
terraform apply "equivalence_test_plan"

View File

@ -0,0 +1,111 @@
{
"configuration": {
"provider_config": {
"tfcoremock": {
"full_name": "registry.terraform.io/hashicorp/tfcoremock",
"name": "tfcoremock",
"version_constraint": "0.1.1"
}
},
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.multiline",
"expressions": {
"string": {
"constant_value": "one\nthree\ntwo\nfour\nsix\nseven"
}
},
"mode": "managed",
"name": "multiline",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_simple_resource"
}
]
}
},
"format_version": "1.1",
"planned_values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.multiline",
"mode": "managed",
"name": "multiline",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "69fe5233-e77a-804f-0dac-115c949540bc",
"integer": null,
"number": null,
"string": "one\nthree\ntwo\nfour\nsix\nseven"
}
}
]
}
},
"prior_state": {
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.multiline",
"mode": "managed",
"name": "multiline",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "69fe5233-e77a-804f-0dac-115c949540bc",
"integer": null,
"number": null,
"string": "one\ntwo\nthree\nfour\nfive"
}
}
]
}
}
},
"resource_changes": [
{
"address": "tfcoremock_simple_resource.multiline",
"change": {
"actions": [
"update"
],
"after": {
"bool": null,
"float": null,
"id": "69fe5233-e77a-804f-0dac-115c949540bc",
"integer": null,
"number": null,
"string": "one\nthree\ntwo\nfour\nsix\nseven"
},
"after_sensitive": {},
"after_unknown": {},
"before": {
"bool": null,
"float": null,
"id": "69fe5233-e77a-804f-0dac-115c949540bc",
"integer": null,
"number": null,
"string": "one\ntwo\nthree\nfour\nfive"
},
"before_sensitive": {}
},
"mode": "managed",
"name": "multiline",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_simple_resource"
}
]
}

View File

@ -0,0 +1,26 @@
{
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.multiline",
"mode": "managed",
"name": "multiline",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "69fe5233-e77a-804f-0dac-115c949540bc",
"integer": null,
"number": null,
"string": "one\nthree\ntwo\nfour\nsix\nseven"
}
}
]
}
}
}

View File

@ -0,0 +1,45 @@
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
<= read (data resources)
Terraform will perform the following actions:
# data.tfcoremock_simple_resource.read will be read during apply
# (config refers to values not yet known)
<= data "tfcoremock_simple_resource" "read" {
+ id = (known after apply)
}
# tfcoremock_simple_resource.create will be created
+ resource "tfcoremock_simple_resource" "create" {
+ id = (known after apply)
}
# module.create.local_file.data_file will be created
+ resource "local_file" "data_file" {
+ content = (known after apply)
+ directory_permission = "0777"
+ file_permission = "0777"
+ filename = (known after apply)
+ id = (known after apply)
}
# module.create.random_integer.random will be created
+ resource "random_integer" "random" {
+ id = (known after apply)
+ max = 9.999999e+06
+ min = 1e+06
+ result = (known after apply)
+ seed = "F78CB410-BA01-44E1-82E1-37D61F7CB158"
}
Plan: 3 to add, 0 to change, 0 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: equivalence_test_plan
To perform exactly these actions, run the following command to apply:
terraform apply "equivalence_test_plan"

View File

@ -0,0 +1,327 @@
{
"configuration": {
"provider_config": {
"local": {
"full_name": "registry.terraform.io/hashicorp/local",
"name": "local",
"version_constraint": "2.2.3"
},
"random": {
"full_name": "registry.terraform.io/hashicorp/random",
"name": "random",
"version_constraint": "3.4.3"
},
"tfcoremock": {
"full_name": "registry.terraform.io/hashicorp/tfcoremock",
"name": "tfcoremock",
"version_constraint": "0.1.1"
}
},
"root_module": {
"module_calls": {
"create": {
"expressions": {
"contents": {
"constant_value": "hello, world!"
}
},
"module": {
"outputs": {
"id": {
"expression": {
"references": [
"random_integer.random.id",
"random_integer.random"
]
}
}
},
"resources": [
{
"address": "local_file.data_file",
"expressions": {
"content": {
"references": [
"local.contents"
]
},
"filename": {
"references": [
"random_integer.random.id",
"random_integer.random"
]
}
},
"mode": "managed",
"name": "data_file",
"provider_config_key": "local",
"schema_version": 0,
"type": "local_file"
},
{
"address": "random_integer.random",
"expressions": {
"max": {
"constant_value": 9999999
},
"min": {
"constant_value": 1000000
},
"seed": {
"constant_value": "F78CB410-BA01-44E1-82E1-37D61F7CB158"
}
},
"mode": "managed",
"name": "random",
"provider_config_key": "random",
"schema_version": 0,
"type": "random_integer"
}
],
"variables": {
"contents": {}
}
},
"source": "./create"
}
},
"resources": [
{
"address": "tfcoremock_simple_resource.create",
"expressions": {
"string": {
"references": [
"data.tfcoremock_simple_resource.read.string",
"data.tfcoremock_simple_resource.read"
]
}
},
"mode": "managed",
"name": "create",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_simple_resource"
},
{
"address": "data.tfcoremock_simple_resource.read",
"depends_on": [
"module.create"
],
"expressions": {
"id": {
"references": [
"module.create.id",
"module.create"
]
}
},
"mode": "data",
"name": "read",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_simple_resource"
}
]
}
},
"format_version": "1.1",
"planned_values": {
"root_module": {
"child_modules": [
{
"address": "module.create",
"resources": [
{
"address": "module.create.local_file.data_file",
"mode": "managed",
"name": "data_file",
"provider_name": "registry.terraform.io/hashicorp/local",
"schema_version": 0,
"sensitive_values": {},
"type": "local_file",
"values": {
"content_base64": null,
"directory_permission": "0777",
"file_permission": "0777",
"sensitive_content": null,
"source": null
}
},
{
"address": "module.create.random_integer.random",
"mode": "managed",
"name": "random",
"provider_name": "registry.terraform.io/hashicorp/random",
"schema_version": 0,
"sensitive_values": {},
"type": "random_integer",
"values": {
"keepers": null,
"max": 9999999,
"min": 1000000,
"seed": "F78CB410-BA01-44E1-82E1-37D61F7CB158"
}
}
]
}
],
"resources": [
{
"address": "data.tfcoremock_simple_resource.read",
"mode": "data",
"name": "read",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"integer": null,
"number": null,
"string": null
}
},
{
"address": "tfcoremock_simple_resource.create",
"mode": "managed",
"name": "create",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"integer": null,
"number": null,
"string": null
}
}
]
}
},
"relevant_attributes": [
{
"attribute": [
"id"
],
"resource": "module.create.random_integer.random"
},
{
"attribute": [
"string"
],
"resource": "data.tfcoremock_simple_resource.read"
}
],
"resource_changes": [
{
"action_reason": "read_because_config_unknown",
"address": "data.tfcoremock_simple_resource.read",
"change": {
"actions": [
"read"
],
"after": {
"bool": null,
"float": null,
"integer": null,
"number": null,
"string": null
},
"after_sensitive": {},
"after_unknown": {
"id": true
},
"before": null,
"before_sensitive": false
},
"mode": "data",
"name": "read",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_simple_resource"
},
{
"address": "module.create.local_file.data_file",
"change": {
"actions": [
"create"
],
"after": {
"content_base64": null,
"directory_permission": "0777",
"file_permission": "0777",
"sensitive_content": null,
"source": null
},
"after_sensitive": {
"sensitive_content": true
},
"after_unknown": {
"content": true,
"filename": true,
"id": true
},
"before": null,
"before_sensitive": false
},
"mode": "managed",
"module_address": "module.create",
"name": "data_file",
"provider_name": "registry.terraform.io/hashicorp/local",
"type": "local_file"
},
{
"address": "module.create.random_integer.random",
"change": {
"actions": [
"create"
],
"after": {
"keepers": null,
"max": 9999999,
"min": 1000000,
"seed": "F78CB410-BA01-44E1-82E1-37D61F7CB158"
},
"after_sensitive": {},
"after_unknown": {
"id": true,
"result": true
},
"before": null,
"before_sensitive": false
},
"mode": "managed",
"module_address": "module.create",
"name": "random",
"provider_name": "registry.terraform.io/hashicorp/random",
"type": "random_integer"
},
{
"address": "tfcoremock_simple_resource.create",
"change": {
"actions": [
"create"
],
"after": {
"bool": null,
"float": null,
"integer": null,
"number": null,
"string": null
},
"after_sensitive": {},
"after_unknown": {
"id": true
},
"before": null,
"before_sensitive": false
},
"mode": "managed",
"name": "create",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_simple_resource"
}
]
}

View File

@ -0,0 +1,21 @@
[
{
"@level": "info",
"@message": "Apply complete! Resources: 0 added, 0 changed, 0 destroyed.",
"@module": "terraform.ui",
"changes": {
"add": 0,
"change": 0,
"operation": "apply",
"remove": 0
},
"type": "change_summary"
},
{
"@level": "info",
"@message": "Outputs: 0",
"@module": "terraform.ui",
"outputs": {},
"type": "outputs"
}
]

View File

@ -0,0 +1,25 @@
tfcoremock_simple_resource.drift: Refreshing state... [id=cb79269e-dc39-1e68-0a9c-63cb392afda9]
Note: Objects have changed outside of Terraform
Terraform detected the following changes made outside of Terraform since the
last "terraform apply" which may have affected this plan:
# tfcoremock_simple_resource.drift has changed
~ resource "tfcoremock_simple_resource" "drift" {
id = "cb79269e-dc39-1e68-0a9c-63cb392afda9"
~ string = "Hello, world!" -> "Hello, drift!"
}
This is a refresh-only plan, so Terraform will not take any actions to undo
these. If you were expecting these changes then you can apply this plan to
record the updated values in the Terraform state without changing any remote
objects.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: equivalence_test_plan
To perform exactly these actions, run the following command to apply:
terraform apply "equivalence_test_plan"

View File

@ -0,0 +1,91 @@
{
"configuration": {
"provider_config": {
"tfcoremock": {
"full_name": "registry.terraform.io/hashicorp/tfcoremock",
"name": "tfcoremock",
"version_constraint": "0.1.1"
}
},
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.drift",
"expressions": {
"string": {
"constant_value": "Hello, world!"
}
},
"mode": "managed",
"name": "drift",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_simple_resource"
}
]
}
},
"format_version": "1.1",
"planned_values": {
"root_module": {}
},
"prior_state": {
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.drift",
"mode": "managed",
"name": "drift",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "cb79269e-dc39-1e68-0a9c-63cb392afda9",
"integer": null,
"number": null,
"string": "Hello, drift!"
}
}
]
}
}
},
"resource_drift": [
{
"address": "tfcoremock_simple_resource.drift",
"change": {
"actions": [
"update"
],
"after": {
"bool": null,
"float": null,
"id": "cb79269e-dc39-1e68-0a9c-63cb392afda9",
"integer": null,
"number": null,
"string": "Hello, drift!"
},
"after_sensitive": {},
"after_unknown": {},
"before": {
"bool": null,
"float": null,
"id": "cb79269e-dc39-1e68-0a9c-63cb392afda9",
"integer": null,
"number": null,
"string": "Hello, world!"
},
"before_sensitive": {}
},
"mode": "managed",
"name": "drift",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_simple_resource"
}
]
}

View File

@ -0,0 +1,26 @@
{
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.drift",
"mode": "managed",
"name": "drift",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "cb79269e-dc39-1e68-0a9c-63cb392afda9",
"integer": null,
"number": null,
"string": "Hello, drift!"
}
}
]
}
}
}

View File

@ -0,0 +1,139 @@
[
{
"@level": "info",
"@message": "tfcoremock_simple_resource.base: Plan to update",
"@module": "terraform.ui",
"change": {
"action": "update",
"resource": {
"addr": "tfcoremock_simple_resource.base",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.base",
"resource_key": null,
"resource_name": "base",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_simple_resource.dependent: Plan to update",
"@module": "terraform.ui",
"change": {
"action": "update",
"resource": {
"addr": "tfcoremock_simple_resource.dependent",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.dependent",
"resource_key": null,
"resource_name": "dependent",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_simple_resource.base: Modifying... [id=f6f74ca6-e8ef-e51f-522c-433b9ed5038f]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"id_key": "id",
"id_value": "f6f74ca6-e8ef-e51f-522c-433b9ed5038f",
"resource": {
"addr": "tfcoremock_simple_resource.base",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.base",
"resource_key": null,
"resource_name": "base",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_simple_resource.base: Modifications complete after 0s [id=f6f74ca6-e8ef-e51f-522c-433b9ed5038f]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "f6f74ca6-e8ef-e51f-522c-433b9ed5038f",
"resource": {
"addr": "tfcoremock_simple_resource.base",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.base",
"resource_key": null,
"resource_name": "base",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "tfcoremock_simple_resource.dependent: Modifying... [id=1b17b502-96c9-fcc3-3b09-2af1c3de6ad8]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"id_key": "id",
"id_value": "1b17b502-96c9-fcc3-3b09-2af1c3de6ad8",
"resource": {
"addr": "tfcoremock_simple_resource.dependent",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.dependent",
"resource_key": null,
"resource_name": "dependent",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_simple_resource.dependent: Modifications complete after 0s [id=1b17b502-96c9-fcc3-3b09-2af1c3de6ad8]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "1b17b502-96c9-fcc3-3b09-2af1c3de6ad8",
"resource": {
"addr": "tfcoremock_simple_resource.dependent",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.dependent",
"resource_key": null,
"resource_name": "dependent",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "Apply complete! Resources: 0 added, 2 changed, 0 destroyed.",
"@module": "terraform.ui",
"changes": {
"add": 0,
"change": 2,
"operation": "apply",
"remove": 0
},
"type": "change_summary"
},
{
"@level": "info",
"@message": "Outputs: 0",
"@module": "terraform.ui",
"outputs": {},
"type": "outputs"
}
]

View File

@ -0,0 +1,47 @@
tfcoremock_simple_resource.base: Refreshing state... [id=f6f74ca6-e8ef-e51f-522c-433b9ed5038f]
tfcoremock_simple_resource.dependent: Refreshing state... [id=1b17b502-96c9-fcc3-3b09-2af1c3de6ad8]
Note: Objects have changed outside of Terraform
Terraform detected the following changes made outside of Terraform since the
last "terraform apply" which may have affected this plan:
# tfcoremock_simple_resource.base has changed
~ resource "tfcoremock_simple_resource" "base" {
id = "f6f74ca6-e8ef-e51f-522c-433b9ed5038f"
~ string = "Hello, world!" -> "Hello, drift!"
}
Unless you have made equivalent changes to your configuration, or ignored the
relevant attributes using ignore_changes, the following plan may include
actions to undo or respond to these changes.
─────────────────────────────────────────────────────────────────────────────
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
# tfcoremock_simple_resource.base will be updated in-place
~ resource "tfcoremock_simple_resource" "base" {
id = "f6f74ca6-e8ef-e51f-522c-433b9ed5038f"
~ string = "Hello, drift!" -> "Hello, change!"
}
# tfcoremock_simple_resource.dependent will be updated in-place
~ resource "tfcoremock_simple_resource" "dependent" {
id = "1b17b502-96c9-fcc3-3b09-2af1c3de6ad8"
~ string = "Hello, world!" -> "Hello, change!"
}
Plan: 0 to add, 2 to change, 0 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: equivalence_test_plan
To perform exactly these actions, run the following command to apply:
terraform apply "equivalence_test_plan"

View File

@ -0,0 +1,236 @@
{
"configuration": {
"provider_config": {
"tfcoremock": {
"full_name": "registry.terraform.io/hashicorp/tfcoremock",
"name": "tfcoremock",
"version_constraint": "0.1.1"
}
},
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.base",
"expressions": {
"string": {
"constant_value": "Hello, change!"
}
},
"mode": "managed",
"name": "base",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_simple_resource"
},
{
"address": "tfcoremock_simple_resource.dependent",
"expressions": {
"string": {
"references": [
"tfcoremock_simple_resource.base.string",
"tfcoremock_simple_resource.base"
]
}
},
"mode": "managed",
"name": "dependent",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_simple_resource"
}
]
}
},
"format_version": "1.1",
"planned_values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.base",
"mode": "managed",
"name": "base",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "f6f74ca6-e8ef-e51f-522c-433b9ed5038f",
"integer": null,
"number": null,
"string": "Hello, change!"
}
},
{
"address": "tfcoremock_simple_resource.dependent",
"mode": "managed",
"name": "dependent",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "1b17b502-96c9-fcc3-3b09-2af1c3de6ad8",
"integer": null,
"number": null,
"string": "Hello, change!"
}
}
]
}
},
"prior_state": {
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.base",
"mode": "managed",
"name": "base",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "f6f74ca6-e8ef-e51f-522c-433b9ed5038f",
"integer": null,
"number": null,
"string": "Hello, drift!"
}
},
{
"address": "tfcoremock_simple_resource.dependent",
"depends_on": [
"tfcoremock_simple_resource.base"
],
"mode": "managed",
"name": "dependent",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "1b17b502-96c9-fcc3-3b09-2af1c3de6ad8",
"integer": null,
"number": null,
"string": "Hello, world!"
}
}
]
}
}
},
"relevant_attributes": [
{
"attribute": [
"string"
],
"resource": "tfcoremock_simple_resource.base"
}
],
"resource_changes": [
{
"address": "tfcoremock_simple_resource.base",
"change": {
"actions": [
"update"
],
"after": {
"bool": null,
"float": null,
"id": "f6f74ca6-e8ef-e51f-522c-433b9ed5038f",
"integer": null,
"number": null,
"string": "Hello, change!"
},
"after_sensitive": {},
"after_unknown": {},
"before": {
"bool": null,
"float": null,
"id": "f6f74ca6-e8ef-e51f-522c-433b9ed5038f",
"integer": null,
"number": null,
"string": "Hello, drift!"
},
"before_sensitive": {}
},
"mode": "managed",
"name": "base",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_simple_resource"
},
{
"address": "tfcoremock_simple_resource.dependent",
"change": {
"actions": [
"update"
],
"after": {
"bool": null,
"float": null,
"id": "1b17b502-96c9-fcc3-3b09-2af1c3de6ad8",
"integer": null,
"number": null,
"string": "Hello, change!"
},
"after_sensitive": {},
"after_unknown": {},
"before": {
"bool": null,
"float": null,
"id": "1b17b502-96c9-fcc3-3b09-2af1c3de6ad8",
"integer": null,
"number": null,
"string": "Hello, world!"
},
"before_sensitive": {}
},
"mode": "managed",
"name": "dependent",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_simple_resource"
}
],
"resource_drift": [
{
"address": "tfcoremock_simple_resource.base",
"change": {
"actions": [
"update"
],
"after": {
"bool": null,
"float": null,
"id": "f6f74ca6-e8ef-e51f-522c-433b9ed5038f",
"integer": null,
"number": null,
"string": "Hello, drift!"
},
"after_sensitive": {},
"after_unknown": {},
"before": {
"bool": null,
"float": null,
"id": "f6f74ca6-e8ef-e51f-522c-433b9ed5038f",
"integer": null,
"number": null,
"string": "Hello, world!"
},
"before_sensitive": {}
},
"mode": "managed",
"name": "base",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_simple_resource"
}
]
}

View File

@ -0,0 +1,46 @@
{
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.base",
"mode": "managed",
"name": "base",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "f6f74ca6-e8ef-e51f-522c-433b9ed5038f",
"integer": null,
"number": null,
"string": "Hello, change!"
}
},
{
"address": "tfcoremock_simple_resource.dependent",
"depends_on": [
"tfcoremock_simple_resource.base"
],
"mode": "managed",
"name": "dependent",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "1b17b502-96c9-fcc3-3b09-2af1c3de6ad8",
"integer": null,
"number": null,
"string": "Hello, change!"
}
}
]
}
}
}

View File

@ -0,0 +1,80 @@
[
{
"@level": "info",
"@message": "tfcoremock_simple_resource.drift: Plan to update",
"@module": "terraform.ui",
"change": {
"action": "update",
"resource": {
"addr": "tfcoremock_simple_resource.drift",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.drift",
"resource_key": null,
"resource_name": "drift",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_simple_resource.drift: Modifying... [id=f3c6ddc5-37d5-0170-64ff-518ad421385a]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"id_key": "id",
"id_value": "f3c6ddc5-37d5-0170-64ff-518ad421385a",
"resource": {
"addr": "tfcoremock_simple_resource.drift",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.drift",
"resource_key": null,
"resource_name": "drift",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_simple_resource.drift: Modifications complete after 0s [id=f3c6ddc5-37d5-0170-64ff-518ad421385a]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "f3c6ddc5-37d5-0170-64ff-518ad421385a",
"resource": {
"addr": "tfcoremock_simple_resource.drift",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.drift",
"resource_key": null,
"resource_name": "drift",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "Apply complete! Resources: 0 added, 1 changed, 0 destroyed.",
"@module": "terraform.ui",
"changes": {
"add": 0,
"change": 1,
"operation": "apply",
"remove": 0
},
"type": "change_summary"
},
{
"@level": "info",
"@message": "Outputs: 0",
"@module": "terraform.ui",
"outputs": {},
"type": "outputs"
}
]

View File

@ -0,0 +1,22 @@
tfcoremock_simple_resource.drift: Refreshing state... [id=f3c6ddc5-37d5-0170-64ff-518ad421385a]
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
# tfcoremock_simple_resource.drift will be updated in-place
~ resource "tfcoremock_simple_resource" "drift" {
id = "f3c6ddc5-37d5-0170-64ff-518ad421385a"
~ string = "Hello, drift!" -> "Hello, world!"
}
Plan: 0 to add, 1 to change, 0 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: equivalence_test_plan
To perform exactly these actions, run the following command to apply:
terraform apply "equivalence_test_plan"

View File

@ -0,0 +1,144 @@
{
"configuration": {
"provider_config": {
"tfcoremock": {
"full_name": "registry.terraform.io/hashicorp/tfcoremock",
"name": "tfcoremock",
"version_constraint": "0.1.1"
}
},
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.drift",
"expressions": {
"string": {
"constant_value": "Hello, world!"
}
},
"mode": "managed",
"name": "drift",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_simple_resource"
}
]
}
},
"format_version": "1.1",
"planned_values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.drift",
"mode": "managed",
"name": "drift",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "f3c6ddc5-37d5-0170-64ff-518ad421385a",
"integer": null,
"number": null,
"string": "Hello, world!"
}
}
]
}
},
"prior_state": {
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.drift",
"mode": "managed",
"name": "drift",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "f3c6ddc5-37d5-0170-64ff-518ad421385a",
"integer": null,
"number": null,
"string": "Hello, drift!"
}
}
]
}
}
},
"resource_changes": [
{
"address": "tfcoremock_simple_resource.drift",
"change": {
"actions": [
"update"
],
"after": {
"bool": null,
"float": null,
"id": "f3c6ddc5-37d5-0170-64ff-518ad421385a",
"integer": null,
"number": null,
"string": "Hello, world!"
},
"after_sensitive": {},
"after_unknown": {},
"before": {
"bool": null,
"float": null,
"id": "f3c6ddc5-37d5-0170-64ff-518ad421385a",
"integer": null,
"number": null,
"string": "Hello, drift!"
},
"before_sensitive": {}
},
"mode": "managed",
"name": "drift",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_simple_resource"
}
],
"resource_drift": [
{
"address": "tfcoremock_simple_resource.drift",
"change": {
"actions": [
"update"
],
"after": {
"bool": null,
"float": null,
"id": "f3c6ddc5-37d5-0170-64ff-518ad421385a",
"integer": null,
"number": null,
"string": "Hello, drift!"
},
"after_sensitive": {},
"after_unknown": {},
"before": {
"bool": null,
"float": null,
"id": "f3c6ddc5-37d5-0170-64ff-518ad421385a",
"integer": null,
"number": null,
"string": "Hello, world!"
},
"before_sensitive": {}
},
"mode": "managed",
"name": "drift",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_simple_resource"
}
]
}

View File

@ -0,0 +1,26 @@
{
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.drift",
"mode": "managed",
"name": "drift",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "f3c6ddc5-37d5-0170-64ff-518ad421385a",
"integer": null,
"number": null,
"string": "Hello, world!"
}
}
]
}
}
}

View File

@ -0,0 +1,78 @@
[
{
"@level": "info",
"@message": "tfcoremock_complex_resource.complex: Plan to create",
"@module": "terraform.ui",
"change": {
"action": "create",
"resource": {
"addr": "tfcoremock_complex_resource.complex",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_complex_resource.complex",
"resource_key": null,
"resource_name": "complex",
"resource_type": "tfcoremock_complex_resource"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_complex_resource.complex: Creating...",
"@module": "terraform.ui",
"hook": {
"action": "create",
"resource": {
"addr": "tfcoremock_complex_resource.complex",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_complex_resource.complex",
"resource_key": null,
"resource_name": "complex",
"resource_type": "tfcoremock_complex_resource"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_complex_resource.complex: Creation complete after 0s [id=64564E36-BFCB-458B-9405-EBBF6A3CAC7A]",
"@module": "terraform.ui",
"hook": {
"action": "create",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "64564E36-BFCB-458B-9405-EBBF6A3CAC7A",
"resource": {
"addr": "tfcoremock_complex_resource.complex",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_complex_resource.complex",
"resource_key": null,
"resource_name": "complex",
"resource_type": "tfcoremock_complex_resource"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "Apply complete! Resources: 1 added, 0 changed, 0 destroyed.",
"@module": "terraform.ui",
"changes": {
"add": 1,
"change": 0,
"operation": "apply",
"remove": 0
},
"type": "change_summary"
},
{
"@level": "info",
"@message": "Outputs: 0",
"@module": "terraform.ui",
"outputs": {},
"type": "outputs"
}
]

View File

@ -0,0 +1,228 @@
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
Terraform will perform the following actions:
# tfcoremock_complex_resource.complex will be created
+ resource "tfcoremock_complex_resource" "complex" {
+ bool = true
+ float = 987654321
+ id = "64564E36-BFCB-458B-9405-EBBF6A3CAC7A"
+ integer = 987654321
+ list = [
+ {
+ string = "this is my first entry in the list, and doesn't contain anything interesting"
},
+ {
+ string = <<-EOT
this is my second entry in the list
I am a bit more interesting
and contain multiple lines
EOT
},
+ {
+ list = [
+ {
+ number = 0
},
+ {
+ number = 1
},
+ {
+ number = 2
},
]
+ string = "this is my third entry, and I actually have a nested list"
},
+ {
+ set = [
+ {
+ number = 0
},
+ {
+ number = 1
},
]
+ string = "this is my fourth entry, and I actually have a nested set"
},
]
+ map = {
+ "key_four" = {
+ set = [
+ {
+ number = 0
},
+ {
+ number = 1
},
]
+ string = "this is my fourth entry, and I actually have a nested set"
},
+ "key_one" = {
+ string = "this is my first entry in the map, and doesn't contain anything interesting"
},
+ "key_three" = {
+ list = [
+ {
+ number = 0
},
+ {
+ number = 1
},
+ {
+ number = 2
},
]
+ string = "this is my third entry, and I actually have a nested list"
},
+ "key_two" = {
+ string = <<-EOT
this is my second entry in the map
I am a bit more interesting
and contain multiple lines
EOT
},
}
+ number = 123456789
+ object = {
+ bool = false
+ number = 0
+ object = {
+ bool = true
+ number = 1
+ string = "i am a nested nested object"
}
+ string = "i am a nested object"
}
+ set = [
+ {
+ list = [
+ {
+ number = 0
},
+ {
+ number = 1
},
+ {
+ number = 2
},
]
+ string = "this is my third entry, and I actually have a nested list"
},
+ {
+ set = [
+ {
+ number = 0
},
+ {
+ number = 1
},
]
+ string = "this is my fourth entry, and I actually have a nested set"
},
+ {
+ string = "this is my first entry in the set, and doesn't contain anything interesting"
},
+ {
+ string = <<-EOT
this is my second entry in the set
I am a bit more interesting
and contain multiple lines
EOT
},
]
+ string = "a not very long or complex string"
+ list_block {
+ string = jsonencode(
{
+ index = 0
}
)
}
+ list_block {
+ list = [
+ {
+ number = 0
},
+ {
+ number = 1
},
+ {
+ number = 2
},
]
+ string = jsonencode(
{
+ index = 1
}
)
}
+ list_block {
+ set = [
+ {
+ number = 0
},
+ {
+ number = 1
},
]
+ string = jsonencode(
{
+ index = 2
}
)
}
+ set_block {
+ list = [
+ {
+ number = 0
},
+ {
+ number = 1
},
+ {
+ number = 2
},
]
+ string = jsonencode(
{
+ index = 1
}
)
}
+ set_block {
+ set = [
+ {
+ number = 0
},
+ {
+ number = 1
},
]
+ string = jsonencode(
{
+ index = 2
}
)
}
+ set_block {
+ string = jsonencode(
{
+ index = 0
}
)
}
}
Plan: 1 to add, 0 to change, 0 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: equivalence_test_plan
To perform exactly these actions, run the following command to apply:
terraform apply "equivalence_test_plan"

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,653 @@
{
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_complex_resource.complex",
"mode": "managed",
"name": "complex",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"list": [
{},
{},
{
"list": [
{},
{},
{}
]
},
{
"set": [
{},
{}
]
}
],
"list_block": [
{
"list_block": [],
"set_block": []
},
{
"list": [
{},
{},
{}
],
"list_block": [],
"set_block": []
},
{
"list_block": [],
"set": [
{},
{}
],
"set_block": []
}
],
"map": {
"key_four": {
"set": [
{},
{}
]
},
"key_one": {},
"key_three": {
"list": [
{},
{},
{}
]
},
"key_two": {}
},
"object": {
"object": {}
},
"set": [
{
"list": [
{},
{},
{}
]
},
{
"set": [
{},
{}
]
},
{},
{}
],
"set_block": [
{
"list": [
{},
{},
{}
],
"list_block": [],
"set_block": []
},
{
"list_block": [],
"set": [
{},
{}
],
"set_block": []
},
{
"list_block": [],
"set_block": []
}
]
},
"type": "tfcoremock_complex_resource",
"values": {
"bool": true,
"float": 987654321,
"id": "64564E36-BFCB-458B-9405-EBBF6A3CAC7A",
"integer": 987654321,
"list": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": null,
"object": null,
"set": null,
"string": "this is my first entry in the list, and doesn't contain anything interesting"
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": null,
"object": null,
"set": null,
"string": "this is my second entry in the list\nI am a bit more interesting\nand contain multiple lines"
},
{
"bool": null,
"float": null,
"integer": null,
"list": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 0,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 1,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 2,
"object": null,
"set": null,
"string": null
}
],
"map": null,
"number": null,
"object": null,
"set": null,
"string": "this is my third entry, and I actually have a nested list"
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": null,
"object": null,
"set": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 0,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 1,
"object": null,
"set": null,
"string": null
}
],
"string": "this is my fourth entry, and I actually have a nested set"
}
],
"list_block": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"list_block": [],
"map": null,
"number": null,
"object": null,
"set": null,
"set_block": [],
"string": "{\"index\":0}"
},
{
"bool": null,
"float": null,
"integer": null,
"list": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 0,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 1,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 2,
"object": null,
"set": null,
"string": null
}
],
"list_block": [],
"map": null,
"number": null,
"object": null,
"set": null,
"set_block": [],
"string": "{\"index\":1}"
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"list_block": [],
"map": null,
"number": null,
"object": null,
"set": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 0,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 1,
"object": null,
"set": null,
"string": null
}
],
"set_block": [],
"string": "{\"index\":2}"
}
],
"map": {
"key_four": {
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": null,
"object": null,
"set": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 0,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 1,
"object": null,
"set": null,
"string": null
}
],
"string": "this is my fourth entry, and I actually have a nested set"
},
"key_one": {
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": null,
"object": null,
"set": null,
"string": "this is my first entry in the map, and doesn't contain anything interesting"
},
"key_three": {
"bool": null,
"float": null,
"integer": null,
"list": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 0,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 1,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 2,
"object": null,
"set": null,
"string": null
}
],
"map": null,
"number": null,
"object": null,
"set": null,
"string": "this is my third entry, and I actually have a nested list"
},
"key_two": {
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": null,
"object": null,
"set": null,
"string": "this is my second entry in the map\nI am a bit more interesting\nand contain multiple lines"
}
},
"number": 123456789,
"object": {
"bool": false,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 0,
"object": {
"bool": true,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 1,
"object": null,
"set": null,
"string": "i am a nested nested object"
},
"set": null,
"string": "i am a nested object"
},
"set": [
{
"bool": null,
"float": null,
"integer": null,
"list": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 0,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 1,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 2,
"object": null,
"set": null,
"string": null
}
],
"map": null,
"number": null,
"object": null,
"set": null,
"string": "this is my third entry, and I actually have a nested list"
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": null,
"object": null,
"set": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 0,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 1,
"object": null,
"set": null,
"string": null
}
],
"string": "this is my fourth entry, and I actually have a nested set"
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": null,
"object": null,
"set": null,
"string": "this is my first entry in the set, and doesn't contain anything interesting"
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": null,
"object": null,
"set": null,
"string": "this is my second entry in the set\nI am a bit more interesting\nand contain multiple lines"
}
],
"set_block": [
{
"bool": null,
"float": null,
"integer": null,
"list": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 0,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 1,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 2,
"object": null,
"set": null,
"string": null
}
],
"list_block": [],
"map": null,
"number": null,
"object": null,
"set": null,
"set_block": [],
"string": "{\"index\":1}"
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"list_block": [],
"map": null,
"number": null,
"object": null,
"set": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 0,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 1,
"object": null,
"set": null,
"string": null
}
],
"set_block": [],
"string": "{\"index\":2}"
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"list_block": [],
"map": null,
"number": null,
"object": null,
"set": null,
"set_block": [],
"string": "{\"index\":0}"
}
],
"string": "a not very long or complex string"
}
}
]
}
}
}

View File

@ -0,0 +1,121 @@
[
{
"@level": "info",
"@message": "tfcoremock_complex_resource.complex: Refreshing state... [id=64564E36-BFCB-458B-9405-EBBF6A3CAC7A]",
"@module": "terraform.ui",
"hook": {
"id_key": "id",
"id_value": "64564E36-BFCB-458B-9405-EBBF6A3CAC7A",
"resource": {
"addr": "tfcoremock_complex_resource.complex",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_complex_resource.complex",
"resource_key": null,
"resource_name": "complex",
"resource_type": "tfcoremock_complex_resource"
}
},
"type": "refresh_start"
},
{
"@level": "info",
"@message": "tfcoremock_complex_resource.complex: Refresh complete [id=64564E36-BFCB-458B-9405-EBBF6A3CAC7A]",
"@module": "terraform.ui",
"hook": {
"id_key": "id",
"id_value": "64564E36-BFCB-458B-9405-EBBF6A3CAC7A",
"resource": {
"addr": "tfcoremock_complex_resource.complex",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_complex_resource.complex",
"resource_key": null,
"resource_name": "complex",
"resource_type": "tfcoremock_complex_resource"
}
},
"type": "refresh_complete"
},
{
"@level": "info",
"@message": "tfcoremock_complex_resource.complex: Plan to delete",
"@module": "terraform.ui",
"change": {
"action": "delete",
"resource": {
"addr": "tfcoremock_complex_resource.complex",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_complex_resource.complex",
"resource_key": null,
"resource_name": "complex",
"resource_type": "tfcoremock_complex_resource"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "Plan: 0 to add, 0 to change, 1 to destroy.",
"@module": "terraform.ui",
"changes": {
"add": 0,
"change": 0,
"operation": "plan",
"remove": 1
},
"type": "change_summary"
},
{
"@level": "info",
"@message": "tfcoremock_complex_resource.complex: Destroying... [id=64564E36-BFCB-458B-9405-EBBF6A3CAC7A]",
"@module": "terraform.ui",
"hook": {
"action": "delete",
"id_key": "id",
"id_value": "64564E36-BFCB-458B-9405-EBBF6A3CAC7A",
"resource": {
"addr": "tfcoremock_complex_resource.complex",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_complex_resource.complex",
"resource_key": null,
"resource_name": "complex",
"resource_type": "tfcoremock_complex_resource"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_complex_resource.complex: Destruction complete after 0s",
"@module": "terraform.ui",
"hook": {
"action": "delete",
"elapsed_seconds": 0,
"resource": {
"addr": "tfcoremock_complex_resource.complex",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_complex_resource.complex",
"resource_key": null,
"resource_name": "complex",
"resource_type": "tfcoremock_complex_resource"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "Destroy complete! Resources: 1 destroyed.",
"@module": "terraform.ui",
"changes": {
"add": 0,
"change": 0,
"operation": "destroy",
"remove": 1
},
"type": "change_summary"
}
]

View File

@ -0,0 +1,229 @@
tfcoremock_complex_resource.complex: Refreshing state... [id=64564E36-BFCB-458B-9405-EBBF6A3CAC7A]
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
- destroy
Terraform will perform the following actions:
# tfcoremock_complex_resource.complex will be destroyed
- resource "tfcoremock_complex_resource" "complex" {
- bool = true -> null
- float = 987654321 -> null
- id = "64564E36-BFCB-458B-9405-EBBF6A3CAC7A" -> null
- integer = 987654321 -> null
- list = [
- {
- string = "this is my first entry in the list, and doesn't contain anything interesting" -> null
},
- {
- string = <<-EOT
this is my second entry in the list
I am a bit more interesting
and contain multiple lines
EOT -> null
},
- {
- list = [
- {
- number = 0 -> null
},
- {
- number = 1 -> null
},
- {
- number = 2 -> null
},
] -> null
- string = "this is my third entry, and I actually have a nested list" -> null
},
- {
- set = [
- {
- number = 0 -> null
},
- {
- number = 1 -> null
},
] -> null
- string = "this is my fourth entry, and I actually have a nested set" -> null
},
] -> null
- map = {
- "key_four" = {
- set = [
- {
- number = 0 -> null
},
- {
- number = 1 -> null
},
] -> null
- string = "this is my fourth entry, and I actually have a nested set" -> null
},
- "key_one" = {
- string = "this is my first entry in the map, and doesn't contain anything interesting" -> null
},
- "key_three" = {
- list = [
- {
- number = 0 -> null
},
- {
- number = 1 -> null
},
- {
- number = 2 -> null
},
] -> null
- string = "this is my third entry, and I actually have a nested list" -> null
},
- "key_two" = {
- string = <<-EOT
this is my second entry in the map
I am a bit more interesting
and contain multiple lines
EOT -> null
},
}
- number = 123456789 -> null
- object = {
- bool = false -> null
- number = 0 -> null
- object = {
- bool = true -> null
- number = 1 -> null
- string = "i am a nested nested object" -> null
} -> null
- string = "i am a nested object" -> null
} -> null
- set = [
- {
- list = [
- {
- number = 0 -> null
},
- {
- number = 1 -> null
},
- {
- number = 2 -> null
},
] -> null
- string = "this is my third entry, and I actually have a nested list" -> null
},
- {
- set = [
- {
- number = 0 -> null
},
- {
- number = 1 -> null
},
] -> null
- string = "this is my fourth entry, and I actually have a nested set" -> null
},
- {
- string = "this is my first entry in the set, and doesn't contain anything interesting" -> null
},
- {
- string = <<-EOT
this is my second entry in the set
I am a bit more interesting
and contain multiple lines
EOT -> null
},
] -> null
- string = "a not very long or complex string" -> null
- list_block {
- string = jsonencode(
{
- index = 0
}
) -> null
}
- list_block {
- list = [
- {
- number = 0 -> null
},
- {
- number = 1 -> null
},
- {
- number = 2 -> null
},
] -> null
- string = jsonencode(
{
- index = 1
}
) -> null
}
- list_block {
- set = [
- {
- number = 0 -> null
},
- {
- number = 1 -> null
},
] -> null
- string = jsonencode(
{
- index = 2
}
) -> null
}
- set_block {
- list = [
- {
- number = 0 -> null
},
- {
- number = 1 -> null
},
- {
- number = 2 -> null
},
] -> null
- string = jsonencode(
{
- index = 1
}
) -> null
}
- set_block {
- set = [
- {
- number = 0 -> null
},
- {
- number = 1 -> null
},
] -> null
- string = jsonencode(
{
- index = 2
}
) -> null
}
- set_block {
- string = jsonencode(
{
- index = 0
}
) -> null
}
}
Plan: 0 to add, 0 to change, 1 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: equivalence_test_plan
To perform exactly these actions, run the following command to apply:
terraform apply "equivalence_test_plan"

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
{
"format_version": "1.0"
}

View File

@ -0,0 +1,80 @@
[
{
"@level": "info",
"@message": "tfcoremock_complex_resource.complex: Plan to update",
"@module": "terraform.ui",
"change": {
"action": "update",
"resource": {
"addr": "tfcoremock_complex_resource.complex",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_complex_resource.complex",
"resource_key": null,
"resource_name": "complex",
"resource_type": "tfcoremock_complex_resource"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_complex_resource.complex: Modifying... [id=64564E36-BFCB-458B-9405-EBBF6A3CAC7A]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"id_key": "id",
"id_value": "64564E36-BFCB-458B-9405-EBBF6A3CAC7A",
"resource": {
"addr": "tfcoremock_complex_resource.complex",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_complex_resource.complex",
"resource_key": null,
"resource_name": "complex",
"resource_type": "tfcoremock_complex_resource"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_complex_resource.complex: Modifications complete after 0s [id=64564E36-BFCB-458B-9405-EBBF6A3CAC7A]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "64564E36-BFCB-458B-9405-EBBF6A3CAC7A",
"resource": {
"addr": "tfcoremock_complex_resource.complex",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_complex_resource.complex",
"resource_key": null,
"resource_name": "complex",
"resource_type": "tfcoremock_complex_resource"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "Apply complete! Resources: 0 added, 1 changed, 0 destroyed.",
"@module": "terraform.ui",
"changes": {
"add": 0,
"change": 1,
"operation": "apply",
"remove": 0
},
"type": "change_summary"
},
{
"@level": "info",
"@message": "Outputs: 0",
"@module": "terraform.ui",
"outputs": {},
"type": "outputs"
}
]

View File

@ -0,0 +1,131 @@
tfcoremock_complex_resource.complex: Refreshing state... [id=64564E36-BFCB-458B-9405-EBBF6A3CAC7A]
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
# tfcoremock_complex_resource.complex will be updated in-place
~ resource "tfcoremock_complex_resource" "complex" {
~ float = 987654321 -> 123456789
id = "64564E36-BFCB-458B-9405-EBBF6A3CAC7A"
~ integer = 987654321 -> 123456789
~ list = [
~ {
~ string = <<-EOT
this is my second entry in the list
I am a bit more interesting
and contain multiple lines
+ but I've been edited
EOT
},
~ {
~ list = [
~ {
~ number = 2 -> 3
},
+ {
+ number = 4
},
# (2 unchanged elements hidden)
]
# (1 unchanged attribute hidden)
},
~ {
~ set = [
- {
- number = 1 -> null
},
+ {
+ number = 2
},
# (1 unchanged element hidden)
]
~ string = "this is my fourth entry, and I actually have a nested set" -> "this is my fourth entry, and I actually have a nested set and I edited my test"
},
# (1 unchanged element hidden)
]
~ map = {
~ "key_four" = {
~ set = [
+ {
+ number = 3
},
+ {
+ number = 4
},
# (2 unchanged elements hidden)
]
# (1 unchanged attribute hidden)
},
~ "key_three" = {
~ list = [
~ {
~ number = 1 -> 3
},
~ {
~ number = 2 -> 1
},
+ {
+ number = 2
},
# (1 unchanged element hidden)
]
# (2 unchanged attributes hidden)
},
# (2 unchanged elements hidden)
}
~ number = 123456789 -> 987654321
~ object = {
- bool = false -> null
~ object = {
- number = 1 -> null
# (2 unchanged attributes hidden)
}
# (2 unchanged attributes hidden)
}
# (3 unchanged attributes hidden)
- list_block {
- set = [
- {
- number = 0 -> null
},
- {
- number = 1 -> null
},
] -> null
- string = jsonencode(
{
- index = 2
}
) -> null
}
- set_block {
- string = jsonencode(
{
- index = 0
}
) -> null
}
+ set_block {
+ string = jsonencode(
{
+ index = 3
}
)
}
# (4 unchanged blocks hidden)
}
Plan: 0 to add, 1 to change, 0 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: equivalence_test_plan
To perform exactly these actions, run the following command to apply:
terraform apply "equivalence_test_plan"

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,657 @@
{
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_complex_resource.complex",
"mode": "managed",
"name": "complex",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"list": [
{},
{},
{
"list": [
{},
{},
{},
{}
]
},
{
"set": [
{},
{}
]
}
],
"list_block": [
{
"list_block": [],
"set_block": []
},
{
"list": [
{},
{},
{}
],
"list_block": [],
"set_block": []
}
],
"map": {
"key_four": {
"set": [
{},
{},
{},
{}
]
},
"key_one": {},
"key_three": {
"list": [
{},
{},
{},
{}
]
},
"key_two": {}
},
"object": {
"object": {}
},
"set": [
{
"list": [
{},
{},
{}
]
},
{
"set": [
{},
{}
]
},
{},
{}
],
"set_block": [
{
"list": [
{},
{},
{}
],
"list_block": [],
"set_block": []
},
{
"list_block": [],
"set": [
{},
{}
],
"set_block": []
},
{
"list_block": [],
"set_block": []
}
]
},
"type": "tfcoremock_complex_resource",
"values": {
"bool": true,
"float": 123456789,
"id": "64564E36-BFCB-458B-9405-EBBF6A3CAC7A",
"integer": 123456789,
"list": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": null,
"object": null,
"set": null,
"string": "this is my first entry in the list, and doesn't contain anything interesting"
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": null,
"object": null,
"set": null,
"string": "this is my second entry in the list\nI am a bit more interesting\nand contain multiple lines\nbut I've been edited"
},
{
"bool": null,
"float": null,
"integer": null,
"list": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 0,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 1,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 3,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 4,
"object": null,
"set": null,
"string": null
}
],
"map": null,
"number": null,
"object": null,
"set": null,
"string": "this is my third entry, and I actually have a nested list"
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": null,
"object": null,
"set": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 0,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 2,
"object": null,
"set": null,
"string": null
}
],
"string": "this is my fourth entry, and I actually have a nested set and I edited my test"
}
],
"list_block": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"list_block": [],
"map": null,
"number": null,
"object": null,
"set": null,
"set_block": [],
"string": "{\"index\":0}"
},
{
"bool": null,
"float": null,
"integer": null,
"list": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 0,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 1,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 2,
"object": null,
"set": null,
"string": null
}
],
"list_block": [],
"map": null,
"number": null,
"object": null,
"set": null,
"set_block": [],
"string": "{\"index\":1}"
}
],
"map": {
"key_four": {
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": null,
"object": null,
"set": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 0,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 1,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 3,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 4,
"object": null,
"set": null,
"string": null
}
],
"string": "this is my fourth entry, and I actually have a nested set"
},
"key_one": {
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": null,
"object": null,
"set": null,
"string": "this is my first entry in the map, and doesn't contain anything interesting"
},
"key_three": {
"bool": null,
"float": null,
"integer": null,
"list": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 0,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 3,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 1,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 2,
"object": null,
"set": null,
"string": null
}
],
"map": null,
"number": null,
"object": null,
"set": null,
"string": "this is my third entry, and I actually have a nested list"
},
"key_two": {
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": null,
"object": null,
"set": null,
"string": "this is my second entry in the map\nI am a bit more interesting\nand contain multiple lines"
}
},
"number": 987654321,
"object": {
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 0,
"object": {
"bool": true,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": null,
"object": null,
"set": null,
"string": "i am a nested nested object"
},
"set": null,
"string": "i am a nested object"
},
"set": [
{
"bool": null,
"float": null,
"integer": null,
"list": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 0,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 1,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 2,
"object": null,
"set": null,
"string": null
}
],
"map": null,
"number": null,
"object": null,
"set": null,
"string": "this is my third entry, and I actually have a nested list"
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": null,
"object": null,
"set": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 0,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 1,
"object": null,
"set": null,
"string": null
}
],
"string": "this is my fourth entry, and I actually have a nested set"
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": null,
"object": null,
"set": null,
"string": "this is my first entry in the set, and doesn't contain anything interesting"
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": null,
"object": null,
"set": null,
"string": "this is my second entry in the set\nI am a bit more interesting\nand contain multiple lines"
}
],
"set_block": [
{
"bool": null,
"float": null,
"integer": null,
"list": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 0,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 1,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 2,
"object": null,
"set": null,
"string": null
}
],
"list_block": [],
"map": null,
"number": null,
"object": null,
"set": null,
"set_block": [],
"string": "{\"index\":1}"
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"list_block": [],
"map": null,
"number": null,
"object": null,
"set": [
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 0,
"object": null,
"set": null,
"string": null
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"map": null,
"number": 1,
"object": null,
"set": null,
"string": null
}
],
"set_block": [],
"string": "{\"index\":2}"
},
{
"bool": null,
"float": null,
"integer": null,
"list": null,
"list_block": [],
"map": null,
"number": null,
"object": null,
"set": null,
"set_block": [],
"string": "{\"index\":3}"
}
],
"string": "a not very long or complex string"
}
}
]
}
}
}

View File

@ -0,0 +1,21 @@
[
{
"@level": "info",
"@message": "Apply complete! Resources: 0 added, 0 changed, 0 destroyed.",
"@module": "terraform.ui",
"changes": {
"add": 0,
"change": 0,
"operation": "apply",
"remove": 0
},
"type": "change_summary"
},
{
"@level": "info",
"@message": "Outputs: 0",
"@module": "terraform.ui",
"outputs": {},
"type": "outputs"
}
]

View File

@ -0,0 +1,18 @@
tfcoremock_simple_resource.second: Refreshing state... [id=70c47571-66c3-b1dc-2474-47a74b9c7886]
Terraform will perform the following actions:
# tfcoremock_simple_resource.first has moved to tfcoremock_simple_resource.second
resource "tfcoremock_simple_resource" "second" {
id = "70c47571-66c3-b1dc-2474-47a74b9c7886"
# (1 unchanged attribute hidden)
}
Plan: 0 to add, 0 to change, 0 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: equivalence_test_plan
To perform exactly these actions, run the following command to apply:
terraform apply "equivalence_test_plan"

View File

@ -0,0 +1,112 @@
{
"configuration": {
"provider_config": {
"tfcoremock": {
"full_name": "registry.terraform.io/hashicorp/tfcoremock",
"name": "tfcoremock",
"version_constraint": "0.1.1"
}
},
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.second",
"expressions": {
"string": {
"constant_value": "Hello, world!"
}
},
"mode": "managed",
"name": "second",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_simple_resource"
}
]
}
},
"format_version": "1.1",
"planned_values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.second",
"mode": "managed",
"name": "second",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "70c47571-66c3-b1dc-2474-47a74b9c7886",
"integer": null,
"number": null,
"string": "Hello, world!"
}
}
]
}
},
"prior_state": {
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.second",
"mode": "managed",
"name": "second",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "70c47571-66c3-b1dc-2474-47a74b9c7886",
"integer": null,
"number": null,
"string": "Hello, world!"
}
}
]
}
}
},
"resource_changes": [
{
"address": "tfcoremock_simple_resource.second",
"change": {
"actions": [
"no-op"
],
"after": {
"bool": null,
"float": null,
"id": "70c47571-66c3-b1dc-2474-47a74b9c7886",
"integer": null,
"number": null,
"string": "Hello, world!"
},
"after_sensitive": {},
"after_unknown": {},
"before": {
"bool": null,
"float": null,
"id": "70c47571-66c3-b1dc-2474-47a74b9c7886",
"integer": null,
"number": null,
"string": "Hello, world!"
},
"before_sensitive": {}
},
"mode": "managed",
"name": "second",
"previous_address": "tfcoremock_simple_resource.first",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_simple_resource"
}
]
}

View File

@ -0,0 +1,26 @@
{
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.second",
"mode": "managed",
"name": "second",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "70c47571-66c3-b1dc-2474-47a74b9c7886",
"integer": null,
"number": null,
"string": "Hello, world!"
}
}
]
}
}
}

View File

@ -0,0 +1,148 @@
[
{
"@level": "info",
"@message": "tfcoremock_simple_resource.base_after: Plan to update",
"@module": "terraform.ui",
"change": {
"action": "update",
"previous_resource": {
"addr": "tfcoremock_simple_resource.base_before",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.base_before",
"resource_key": null,
"resource_name": "base_before",
"resource_type": "tfcoremock_simple_resource"
},
"resource": {
"addr": "tfcoremock_simple_resource.base_after",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.base_after",
"resource_key": null,
"resource_name": "base_after",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_simple_resource.dependent: Plan to update",
"@module": "terraform.ui",
"change": {
"action": "update",
"resource": {
"addr": "tfcoremock_simple_resource.dependent",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.dependent",
"resource_key": null,
"resource_name": "dependent",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_simple_resource.base_after: Modifying... [id=e450ef2f-b80f-0cce-8bdb-14d88f48649c]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"id_key": "id",
"id_value": "e450ef2f-b80f-0cce-8bdb-14d88f48649c",
"resource": {
"addr": "tfcoremock_simple_resource.base_after",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.base_after",
"resource_key": null,
"resource_name": "base_after",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_simple_resource.base_after: Modifications complete after 0s [id=e450ef2f-b80f-0cce-8bdb-14d88f48649c]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "e450ef2f-b80f-0cce-8bdb-14d88f48649c",
"resource": {
"addr": "tfcoremock_simple_resource.base_after",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.base_after",
"resource_key": null,
"resource_name": "base_after",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "tfcoremock_simple_resource.dependent: Modifying... [id=2ecc718c-8d04-5774-5c36-7d69bf77d34e]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"id_key": "id",
"id_value": "2ecc718c-8d04-5774-5c36-7d69bf77d34e",
"resource": {
"addr": "tfcoremock_simple_resource.dependent",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.dependent",
"resource_key": null,
"resource_name": "dependent",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_simple_resource.dependent: Modifications complete after 0s [id=2ecc718c-8d04-5774-5c36-7d69bf77d34e]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "2ecc718c-8d04-5774-5c36-7d69bf77d34e",
"resource": {
"addr": "tfcoremock_simple_resource.dependent",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.dependent",
"resource_key": null,
"resource_name": "dependent",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "Apply complete! Resources: 0 added, 2 changed, 0 destroyed.",
"@module": "terraform.ui",
"changes": {
"add": 0,
"change": 2,
"operation": "apply",
"remove": 0
},
"type": "change_summary"
},
{
"@level": "info",
"@message": "Outputs: 0",
"@module": "terraform.ui",
"outputs": {},
"type": "outputs"
}
]

View File

@ -0,0 +1,49 @@
tfcoremock_simple_resource.base_after: Refreshing state... [id=e450ef2f-b80f-0cce-8bdb-14d88f48649c]
tfcoremock_simple_resource.dependent: Refreshing state... [id=2ecc718c-8d04-5774-5c36-7d69bf77d34e]
Note: Objects have changed outside of Terraform
Terraform detected the following changes made outside of Terraform since the
last "terraform apply" which may have affected this plan:
# tfcoremock_simple_resource.base_after has changed
# (moved from tfcoremock_simple_resource.base_before)
~ resource "tfcoremock_simple_resource" "base_after" {
id = "e450ef2f-b80f-0cce-8bdb-14d88f48649c"
~ string = "Hello, world!" -> "Hello, drift!"
}
Unless you have made equivalent changes to your configuration, or ignored the
relevant attributes using ignore_changes, the following plan may include
actions to undo or respond to these changes.
─────────────────────────────────────────────────────────────────────────────
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
# tfcoremock_simple_resource.base_after will be updated in-place
# (moved from tfcoremock_simple_resource.base_before)
~ resource "tfcoremock_simple_resource" "base_after" {
id = "e450ef2f-b80f-0cce-8bdb-14d88f48649c"
~ string = "Hello, drift!" -> "Hello, change!"
}
# tfcoremock_simple_resource.dependent will be updated in-place
~ resource "tfcoremock_simple_resource" "dependent" {
id = "2ecc718c-8d04-5774-5c36-7d69bf77d34e"
~ string = "Hello, world!" -> "Hello, change!"
}
Plan: 0 to add, 2 to change, 0 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: equivalence_test_plan
To perform exactly these actions, run the following command to apply:
terraform apply "equivalence_test_plan"

View File

@ -0,0 +1,239 @@
{
"configuration": {
"provider_config": {
"tfcoremock": {
"full_name": "registry.terraform.io/hashicorp/tfcoremock",
"name": "tfcoremock",
"version_constraint": "0.1.1"
}
},
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.base_after",
"expressions": {
"string": {
"constant_value": "Hello, change!"
}
},
"mode": "managed",
"name": "base_after",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_simple_resource"
},
{
"address": "tfcoremock_simple_resource.dependent",
"expressions": {
"string": {
"references": [
"tfcoremock_simple_resource.base_after.string",
"tfcoremock_simple_resource.base_after"
]
}
},
"mode": "managed",
"name": "dependent",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_simple_resource"
}
]
}
},
"format_version": "1.1",
"planned_values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.base_after",
"mode": "managed",
"name": "base_after",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "e450ef2f-b80f-0cce-8bdb-14d88f48649c",
"integer": null,
"number": null,
"string": "Hello, change!"
}
},
{
"address": "tfcoremock_simple_resource.dependent",
"mode": "managed",
"name": "dependent",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "2ecc718c-8d04-5774-5c36-7d69bf77d34e",
"integer": null,
"number": null,
"string": "Hello, change!"
}
}
]
}
},
"prior_state": {
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.base_after",
"mode": "managed",
"name": "base_after",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "e450ef2f-b80f-0cce-8bdb-14d88f48649c",
"integer": null,
"number": null,
"string": "Hello, drift!"
}
},
{
"address": "tfcoremock_simple_resource.dependent",
"depends_on": [
"tfcoremock_simple_resource.base_after",
"tfcoremock_simple_resource.base_before"
],
"mode": "managed",
"name": "dependent",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "2ecc718c-8d04-5774-5c36-7d69bf77d34e",
"integer": null,
"number": null,
"string": "Hello, world!"
}
}
]
}
}
},
"relevant_attributes": [
{
"attribute": [
"string"
],
"resource": "tfcoremock_simple_resource.base_after"
}
],
"resource_changes": [
{
"address": "tfcoremock_simple_resource.base_after",
"change": {
"actions": [
"update"
],
"after": {
"bool": null,
"float": null,
"id": "e450ef2f-b80f-0cce-8bdb-14d88f48649c",
"integer": null,
"number": null,
"string": "Hello, change!"
},
"after_sensitive": {},
"after_unknown": {},
"before": {
"bool": null,
"float": null,
"id": "e450ef2f-b80f-0cce-8bdb-14d88f48649c",
"integer": null,
"number": null,
"string": "Hello, drift!"
},
"before_sensitive": {}
},
"mode": "managed",
"name": "base_after",
"previous_address": "tfcoremock_simple_resource.base_before",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_simple_resource"
},
{
"address": "tfcoremock_simple_resource.dependent",
"change": {
"actions": [
"update"
],
"after": {
"bool": null,
"float": null,
"id": "2ecc718c-8d04-5774-5c36-7d69bf77d34e",
"integer": null,
"number": null,
"string": "Hello, change!"
},
"after_sensitive": {},
"after_unknown": {},
"before": {
"bool": null,
"float": null,
"id": "2ecc718c-8d04-5774-5c36-7d69bf77d34e",
"integer": null,
"number": null,
"string": "Hello, world!"
},
"before_sensitive": {}
},
"mode": "managed",
"name": "dependent",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_simple_resource"
}
],
"resource_drift": [
{
"address": "tfcoremock_simple_resource.base_after",
"change": {
"actions": [
"update"
],
"after": {
"bool": null,
"float": null,
"id": "e450ef2f-b80f-0cce-8bdb-14d88f48649c",
"integer": null,
"number": null,
"string": "Hello, drift!"
},
"after_sensitive": {},
"after_unknown": {},
"before": {
"bool": null,
"float": null,
"id": "e450ef2f-b80f-0cce-8bdb-14d88f48649c",
"integer": null,
"number": null,
"string": "Hello, world!"
},
"before_sensitive": {}
},
"mode": "managed",
"name": "base_after",
"previous_address": "tfcoremock_simple_resource.base_before",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_simple_resource"
}
]
}

View File

@ -0,0 +1,46 @@
{
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.base_after",
"mode": "managed",
"name": "base_after",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "e450ef2f-b80f-0cce-8bdb-14d88f48649c",
"integer": null,
"number": null,
"string": "Hello, change!"
}
},
{
"address": "tfcoremock_simple_resource.dependent",
"depends_on": [
"tfcoremock_simple_resource.base_after"
],
"mode": "managed",
"name": "dependent",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "2ecc718c-8d04-5774-5c36-7d69bf77d34e",
"integer": null,
"number": null,
"string": "Hello, change!"
}
}
]
}
}
}

View File

@ -0,0 +1,21 @@
[
{
"@level": "info",
"@message": "Apply complete! Resources: 0 added, 0 changed, 0 destroyed.",
"@module": "terraform.ui",
"changes": {
"add": 0,
"change": 0,
"operation": "apply",
"remove": 0
},
"type": "change_summary"
},
{
"@level": "info",
"@message": "Outputs: 0",
"@module": "terraform.ui",
"outputs": {},
"type": "outputs"
}
]

View File

@ -0,0 +1,18 @@
tfcoremock_simple_resource.second: Refreshing state... [id=70c47571-66c3-b1dc-2474-47a74b9c7886]
Note: Objects have changed outside of Terraform
Terraform detected the following changes made outside of Terraform since the
last "terraform apply" which may have affected this plan:
# tfcoremock_simple_resource.first has moved to tfcoremock_simple_resource.second
resource "tfcoremock_simple_resource" "second" {
id = "70c47571-66c3-b1dc-2474-47a74b9c7886"
# (1 unchanged attribute hidden)
}
This is a refresh-only plan, so Terraform will not take any actions to undo
these. If you were expecting these changes then you can apply this plan to
record the updated values in the Terraform state without changing any remote
objects.

View File

@ -0,0 +1,92 @@
{
"configuration": {
"provider_config": {
"tfcoremock": {
"full_name": "registry.terraform.io/hashicorp/tfcoremock",
"name": "tfcoremock",
"version_constraint": "0.1.1"
}
},
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.second",
"expressions": {
"string": {
"constant_value": "Hello, world!"
}
},
"mode": "managed",
"name": "second",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_simple_resource"
}
]
}
},
"format_version": "1.1",
"planned_values": {
"root_module": {}
},
"prior_state": {
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.second",
"mode": "managed",
"name": "second",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "70c47571-66c3-b1dc-2474-47a74b9c7886",
"integer": null,
"number": null,
"string": "Hello, world!"
}
}
]
}
}
},
"resource_drift": [
{
"address": "tfcoremock_simple_resource.second",
"change": {
"actions": [
"no-op"
],
"after": {
"bool": null,
"float": null,
"id": "70c47571-66c3-b1dc-2474-47a74b9c7886",
"integer": null,
"number": null,
"string": "Hello, world!"
},
"after_sensitive": {},
"after_unknown": {},
"before": {
"bool": null,
"float": null,
"id": "70c47571-66c3-b1dc-2474-47a74b9c7886",
"integer": null,
"number": null,
"string": "Hello, world!"
},
"before_sensitive": {}
},
"mode": "managed",
"name": "second",
"previous_address": "tfcoremock_simple_resource.first",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_simple_resource"
}
]
}

View File

@ -0,0 +1,26 @@
{
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.second",
"mode": "managed",
"name": "second",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "70c47571-66c3-b1dc-2474-47a74b9c7886",
"integer": null,
"number": null,
"string": "Hello, world!"
}
}
]
}
}
}

View File

@ -0,0 +1,89 @@
[
{
"@level": "info",
"@message": "tfcoremock_simple_resource.moved: Plan to update",
"@module": "terraform.ui",
"change": {
"action": "update",
"previous_resource": {
"addr": "tfcoremock_simple_resource.base",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.base",
"resource_key": null,
"resource_name": "base",
"resource_type": "tfcoremock_simple_resource"
},
"resource": {
"addr": "tfcoremock_simple_resource.moved",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.moved",
"resource_key": null,
"resource_name": "moved",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_simple_resource.moved: Modifying... [id=7da63aeb-f908-a112-9886-f29a0b0bd4ad]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"id_key": "id",
"id_value": "7da63aeb-f908-a112-9886-f29a0b0bd4ad",
"resource": {
"addr": "tfcoremock_simple_resource.moved",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.moved",
"resource_key": null,
"resource_name": "moved",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_simple_resource.moved: Modifications complete after 0s [id=7da63aeb-f908-a112-9886-f29a0b0bd4ad]",
"@module": "terraform.ui",
"hook": {
"action": "update",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "7da63aeb-f908-a112-9886-f29a0b0bd4ad",
"resource": {
"addr": "tfcoremock_simple_resource.moved",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_simple_resource.moved",
"resource_key": null,
"resource_name": "moved",
"resource_type": "tfcoremock_simple_resource"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "Apply complete! Resources: 0 added, 1 changed, 0 destroyed.",
"@module": "terraform.ui",
"changes": {
"add": 0,
"change": 1,
"operation": "apply",
"remove": 0
},
"type": "change_summary"
},
{
"@level": "info",
"@message": "Outputs: 0",
"@module": "terraform.ui",
"outputs": {},
"type": "outputs"
}
]

View File

@ -0,0 +1,23 @@
tfcoremock_simple_resource.moved: Refreshing state... [id=7da63aeb-f908-a112-9886-f29a0b0bd4ad]
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
# tfcoremock_simple_resource.moved will be updated in-place
# (moved from tfcoremock_simple_resource.base)
~ resource "tfcoremock_simple_resource" "moved" {
id = "7da63aeb-f908-a112-9886-f29a0b0bd4ad"
~ string = "Hello, world!" -> "Hello, change!"
}
Plan: 0 to add, 1 to change, 0 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: equivalence_test_plan
To perform exactly these actions, run the following command to apply:
terraform apply "equivalence_test_plan"

View File

@ -0,0 +1,112 @@
{
"configuration": {
"provider_config": {
"tfcoremock": {
"full_name": "registry.terraform.io/hashicorp/tfcoremock",
"name": "tfcoremock",
"version_constraint": "0.1.1"
}
},
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.moved",
"expressions": {
"string": {
"constant_value": "Hello, change!"
}
},
"mode": "managed",
"name": "moved",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_simple_resource"
}
]
}
},
"format_version": "1.1",
"planned_values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.moved",
"mode": "managed",
"name": "moved",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "7da63aeb-f908-a112-9886-f29a0b0bd4ad",
"integer": null,
"number": null,
"string": "Hello, change!"
}
}
]
}
},
"prior_state": {
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.moved",
"mode": "managed",
"name": "moved",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "7da63aeb-f908-a112-9886-f29a0b0bd4ad",
"integer": null,
"number": null,
"string": "Hello, world!"
}
}
]
}
}
},
"resource_changes": [
{
"address": "tfcoremock_simple_resource.moved",
"change": {
"actions": [
"update"
],
"after": {
"bool": null,
"float": null,
"id": "7da63aeb-f908-a112-9886-f29a0b0bd4ad",
"integer": null,
"number": null,
"string": "Hello, change!"
},
"after_sensitive": {},
"after_unknown": {},
"before": {
"bool": null,
"float": null,
"id": "7da63aeb-f908-a112-9886-f29a0b0bd4ad",
"integer": null,
"number": null,
"string": "Hello, world!"
},
"before_sensitive": {}
},
"mode": "managed",
"name": "moved",
"previous_address": "tfcoremock_simple_resource.base",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_simple_resource"
}
]
}

View File

@ -0,0 +1,26 @@
{
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_simple_resource.moved",
"mode": "managed",
"name": "moved",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {},
"type": "tfcoremock_simple_resource",
"values": {
"bool": null,
"float": null,
"id": "7da63aeb-f908-a112-9886-f29a0b0bd4ad",
"integer": null,
"number": null,
"string": "Hello, change!"
}
}
]
}
}
}

View File

@ -0,0 +1,118 @@
[
{
"@level": "info",
"@message": "tfcoremock_list.list: Plan to replace",
"@module": "terraform.ui",
"change": {
"action": "replace",
"reason": "cannot_update",
"resource": {
"addr": "tfcoremock_list.list",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_list.list",
"resource_key": null,
"resource_name": "list",
"resource_type": "tfcoremock_list"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_list.list: Destroying... [id=F40F2AB4-100C-4AE8-BFD0-BF332A158415]",
"@module": "terraform.ui",
"hook": {
"action": "delete",
"id_key": "id",
"id_value": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"resource": {
"addr": "tfcoremock_list.list",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_list.list",
"resource_key": null,
"resource_name": "list",
"resource_type": "tfcoremock_list"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_list.list: Destruction complete after 0s",
"@module": "terraform.ui",
"hook": {
"action": "delete",
"elapsed_seconds": 0,
"resource": {
"addr": "tfcoremock_list.list",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_list.list",
"resource_key": null,
"resource_name": "list",
"resource_type": "tfcoremock_list"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "tfcoremock_list.list: Creating...",
"@module": "terraform.ui",
"hook": {
"action": "create",
"resource": {
"addr": "tfcoremock_list.list",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_list.list",
"resource_key": null,
"resource_name": "list",
"resource_type": "tfcoremock_list"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_list.list: Creation complete after 0s [id=F40F2AB4-100C-4AE8-BFD0-BF332A158415]",
"@module": "terraform.ui",
"hook": {
"action": "create",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"resource": {
"addr": "tfcoremock_list.list",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_list.list",
"resource_key": null,
"resource_name": "list",
"resource_type": "tfcoremock_list"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "Apply complete! Resources: 1 added, 0 changed, 1 destroyed.",
"@module": "terraform.ui",
"changes": {
"add": 1,
"change": 0,
"operation": "apply",
"remove": 1
},
"type": "change_summary"
},
{
"@level": "info",
"@message": "Outputs: 0",
"@module": "terraform.ui",
"outputs": {},
"type": "outputs"
}
]

View File

@ -0,0 +1,27 @@
tfcoremock_list.list: Refreshing state... [id=F40F2AB4-100C-4AE8-BFD0-BF332A158415]
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
-/+ destroy and then create replacement
Terraform will perform the following actions:
# tfcoremock_list.list must be replaced
-/+ resource "tfcoremock_list" "list" {
id = "F40F2AB4-100C-4AE8-BFD0-BF332A158415"
~ list = [
~ {
~ id = "6A8C6A29-D417-480A-BE19-12D7398B3178" -> "07F887E2-FDFF-4B2E-9BFB-B6AA4A05EDB9" # forces replacement
},
# (2 unchanged elements hidden)
]
}
Plan: 1 to add, 0 to change, 1 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: equivalence_test_plan
To perform exactly these actions, run the following command to apply:
terraform apply "equivalence_test_plan"

View File

@ -0,0 +1,181 @@
{
"configuration": {
"provider_config": {
"tfcoremock": {
"full_name": "registry.terraform.io/hashicorp/tfcoremock",
"name": "tfcoremock",
"version_constraint": "0.1.1"
}
},
"root_module": {
"resources": [
{
"address": "tfcoremock_list.list",
"expressions": {
"id": {
"constant_value": "F40F2AB4-100C-4AE8-BFD0-BF332A158415"
},
"list": {
"constant_value": [
{
"id": "3BFC1A84-023F-44FA-A8EE-EFD88E18B8F7"
},
{
"id": "07F887E2-FDFF-4B2E-9BFB-B6AA4A05EDB9"
},
{
"id": "4B7178A8-AB9D-4FF4-8B3D-48B754DE537B"
}
]
}
},
"mode": "managed",
"name": "list",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_list"
}
]
}
},
"format_version": "1.1",
"planned_values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_list.list",
"mode": "managed",
"name": "list",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"list": [
{},
{},
{}
]
},
"type": "tfcoremock_list",
"values": {
"id": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"list": [
{
"id": "3BFC1A84-023F-44FA-A8EE-EFD88E18B8F7"
},
{
"id": "07F887E2-FDFF-4B2E-9BFB-B6AA4A05EDB9"
},
{
"id": "4B7178A8-AB9D-4FF4-8B3D-48B754DE537B"
}
]
}
}
]
}
},
"prior_state": {
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_list.list",
"mode": "managed",
"name": "list",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"list": [
{},
{},
{}
]
},
"type": "tfcoremock_list",
"values": {
"id": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"list": [
{
"id": "3BFC1A84-023F-44FA-A8EE-EFD88E18B8F7"
},
{
"id": "6A8C6A29-D417-480A-BE19-12D7398B3178"
},
{
"id": "4B7178A8-AB9D-4FF4-8B3D-48B754DE537B"
}
]
}
}
]
}
}
},
"resource_changes": [
{
"action_reason": "replace_because_cannot_update",
"address": "tfcoremock_list.list",
"change": {
"actions": [
"delete",
"create"
],
"after": {
"id": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"list": [
{
"id": "3BFC1A84-023F-44FA-A8EE-EFD88E18B8F7"
},
{
"id": "07F887E2-FDFF-4B2E-9BFB-B6AA4A05EDB9"
},
{
"id": "4B7178A8-AB9D-4FF4-8B3D-48B754DE537B"
}
]
},
"after_sensitive": {
"list": [
{},
{},
{}
]
},
"after_unknown": {},
"before": {
"id": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"list": [
{
"id": "3BFC1A84-023F-44FA-A8EE-EFD88E18B8F7"
},
{
"id": "6A8C6A29-D417-480A-BE19-12D7398B3178"
},
{
"id": "4B7178A8-AB9D-4FF4-8B3D-48B754DE537B"
}
]
},
"before_sensitive": {
"list": [
{},
{},
{}
]
},
"replace_paths": [
[
"list",
1,
"id"
]
]
},
"mode": "managed",
"name": "list",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_list"
}
]
}

View File

@ -0,0 +1,38 @@
{
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_list.list",
"mode": "managed",
"name": "list",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"list": [
{},
{},
{}
]
},
"type": "tfcoremock_list",
"values": {
"id": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"list": [
{
"id": "3BFC1A84-023F-44FA-A8EE-EFD88E18B8F7"
},
{
"id": "07F887E2-FDFF-4B2E-9BFB-B6AA4A05EDB9"
},
{
"id": "4B7178A8-AB9D-4FF4-8B3D-48B754DE537B"
}
]
}
}
]
}
}
}

View File

@ -0,0 +1,118 @@
[
{
"@level": "info",
"@message": "tfcoremock_map.map: Plan to replace",
"@module": "terraform.ui",
"change": {
"action": "replace",
"reason": "cannot_update",
"resource": {
"addr": "tfcoremock_map.map",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_map.map",
"resource_key": null,
"resource_name": "map",
"resource_type": "tfcoremock_map"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_map.map: Destroying... [id=F40F2AB4-100C-4AE8-BFD0-BF332A158415]",
"@module": "terraform.ui",
"hook": {
"action": "delete",
"id_key": "id",
"id_value": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"resource": {
"addr": "tfcoremock_map.map",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_map.map",
"resource_key": null,
"resource_name": "map",
"resource_type": "tfcoremock_map"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_map.map: Destruction complete after 0s",
"@module": "terraform.ui",
"hook": {
"action": "delete",
"elapsed_seconds": 0,
"resource": {
"addr": "tfcoremock_map.map",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_map.map",
"resource_key": null,
"resource_name": "map",
"resource_type": "tfcoremock_map"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "tfcoremock_map.map: Creating...",
"@module": "terraform.ui",
"hook": {
"action": "create",
"resource": {
"addr": "tfcoremock_map.map",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_map.map",
"resource_key": null,
"resource_name": "map",
"resource_type": "tfcoremock_map"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_map.map: Creation complete after 0s [id=F40F2AB4-100C-4AE8-BFD0-BF332A158415]",
"@module": "terraform.ui",
"hook": {
"action": "create",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"resource": {
"addr": "tfcoremock_map.map",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_map.map",
"resource_key": null,
"resource_name": "map",
"resource_type": "tfcoremock_map"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "Apply complete! Resources: 1 added, 0 changed, 1 destroyed.",
"@module": "terraform.ui",
"changes": {
"add": 1,
"change": 0,
"operation": "apply",
"remove": 1
},
"type": "change_summary"
},
{
"@level": "info",
"@message": "Outputs: 0",
"@module": "terraform.ui",
"outputs": {},
"type": "outputs"
}
]

View File

@ -0,0 +1,27 @@
tfcoremock_map.map: Refreshing state... [id=F40F2AB4-100C-4AE8-BFD0-BF332A158415]
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
-/+ destroy and then create replacement
Terraform will perform the following actions:
# tfcoremock_map.map must be replaced
-/+ resource "tfcoremock_map" "map" {
id = "F40F2AB4-100C-4AE8-BFD0-BF332A158415"
~ map = {
~ "key_two" = {
~ id = "56C7E07F-B9DF-4799-AF62-E703D1167A51" -> "07F887E2-FDFF-4B2E-9BFB-B6AA4A05EDB9" # forces replacement
},
# (2 unchanged elements hidden)
}
}
Plan: 1 to add, 0 to change, 1 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: equivalence_test_plan
To perform exactly these actions, run the following command to apply:
terraform apply "equivalence_test_plan"

View File

@ -0,0 +1,181 @@
{
"configuration": {
"provider_config": {
"tfcoremock": {
"full_name": "registry.terraform.io/hashicorp/tfcoremock",
"name": "tfcoremock",
"version_constraint": "0.1.1"
}
},
"root_module": {
"resources": [
{
"address": "tfcoremock_map.map",
"expressions": {
"id": {
"constant_value": "F40F2AB4-100C-4AE8-BFD0-BF332A158415"
},
"map": {
"constant_value": {
"key_one": {
"id": "3BFC1A84-023F-44FA-A8EE-EFD88E18B8F7"
},
"key_three": {
"id": "4B7178A8-AB9D-4FF4-8B3D-48B754DE537B"
},
"key_two": {
"id": "07F887E2-FDFF-4B2E-9BFB-B6AA4A05EDB9"
}
}
}
},
"mode": "managed",
"name": "map",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_map"
}
]
}
},
"format_version": "1.1",
"planned_values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_map.map",
"mode": "managed",
"name": "map",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"map": {
"key_one": {},
"key_three": {},
"key_two": {}
}
},
"type": "tfcoremock_map",
"values": {
"id": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"map": {
"key_one": {
"id": "3BFC1A84-023F-44FA-A8EE-EFD88E18B8F7"
},
"key_three": {
"id": "4B7178A8-AB9D-4FF4-8B3D-48B754DE537B"
},
"key_two": {
"id": "07F887E2-FDFF-4B2E-9BFB-B6AA4A05EDB9"
}
}
}
}
]
}
},
"prior_state": {
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_map.map",
"mode": "managed",
"name": "map",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"map": {
"key_one": {},
"key_three": {},
"key_two": {}
}
},
"type": "tfcoremock_map",
"values": {
"id": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"map": {
"key_one": {
"id": "3BFC1A84-023F-44FA-A8EE-EFD88E18B8F7"
},
"key_three": {
"id": "4B7178A8-AB9D-4FF4-8B3D-48B754DE537B"
},
"key_two": {
"id": "56C7E07F-B9DF-4799-AF62-E703D1167A51"
}
}
}
}
]
}
}
},
"resource_changes": [
{
"action_reason": "replace_because_cannot_update",
"address": "tfcoremock_map.map",
"change": {
"actions": [
"delete",
"create"
],
"after": {
"id": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"map": {
"key_one": {
"id": "3BFC1A84-023F-44FA-A8EE-EFD88E18B8F7"
},
"key_three": {
"id": "4B7178A8-AB9D-4FF4-8B3D-48B754DE537B"
},
"key_two": {
"id": "07F887E2-FDFF-4B2E-9BFB-B6AA4A05EDB9"
}
}
},
"after_sensitive": {
"map": {
"key_one": {},
"key_three": {},
"key_two": {}
}
},
"after_unknown": {},
"before": {
"id": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"map": {
"key_one": {
"id": "3BFC1A84-023F-44FA-A8EE-EFD88E18B8F7"
},
"key_three": {
"id": "4B7178A8-AB9D-4FF4-8B3D-48B754DE537B"
},
"key_two": {
"id": "56C7E07F-B9DF-4799-AF62-E703D1167A51"
}
}
},
"before_sensitive": {
"map": {
"key_one": {},
"key_three": {},
"key_two": {}
}
},
"replace_paths": [
[
"map",
"key_two",
"id"
]
]
},
"mode": "managed",
"name": "map",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_map"
}
]
}

View File

@ -0,0 +1,38 @@
{
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_map.map",
"mode": "managed",
"name": "map",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"map": {
"key_one": {},
"key_three": {},
"key_two": {}
}
},
"type": "tfcoremock_map",
"values": {
"id": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"map": {
"key_one": {
"id": "3BFC1A84-023F-44FA-A8EE-EFD88E18B8F7"
},
"key_three": {
"id": "4B7178A8-AB9D-4FF4-8B3D-48B754DE537B"
},
"key_two": {
"id": "07F887E2-FDFF-4B2E-9BFB-B6AA4A05EDB9"
}
}
}
}
]
}
}
}

View File

@ -0,0 +1,118 @@
[
{
"@level": "info",
"@message": "tfcoremock_object.object: Plan to replace",
"@module": "terraform.ui",
"change": {
"action": "replace",
"reason": "cannot_update",
"resource": {
"addr": "tfcoremock_object.object",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_object.object",
"resource_key": null,
"resource_name": "object",
"resource_type": "tfcoremock_object"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_object.object: Destroying... [id=F40F2AB4-100C-4AE8-BFD0-BF332A158415]",
"@module": "terraform.ui",
"hook": {
"action": "delete",
"id_key": "id",
"id_value": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"resource": {
"addr": "tfcoremock_object.object",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_object.object",
"resource_key": null,
"resource_name": "object",
"resource_type": "tfcoremock_object"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_object.object: Destruction complete after 0s",
"@module": "terraform.ui",
"hook": {
"action": "delete",
"elapsed_seconds": 0,
"resource": {
"addr": "tfcoremock_object.object",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_object.object",
"resource_key": null,
"resource_name": "object",
"resource_type": "tfcoremock_object"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "tfcoremock_object.object: Creating...",
"@module": "terraform.ui",
"hook": {
"action": "create",
"resource": {
"addr": "tfcoremock_object.object",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_object.object",
"resource_key": null,
"resource_name": "object",
"resource_type": "tfcoremock_object"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_object.object: Creation complete after 0s [id=F40F2AB4-100C-4AE8-BFD0-BF332A158415]",
"@module": "terraform.ui",
"hook": {
"action": "create",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"resource": {
"addr": "tfcoremock_object.object",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_object.object",
"resource_key": null,
"resource_name": "object",
"resource_type": "tfcoremock_object"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "Apply complete! Resources: 1 added, 0 changed, 1 destroyed.",
"@module": "terraform.ui",
"changes": {
"add": 1,
"change": 0,
"operation": "apply",
"remove": 1
},
"type": "change_summary"
},
{
"@level": "info",
"@message": "Outputs: 0",
"@module": "terraform.ui",
"outputs": {},
"type": "outputs"
}
]

View File

@ -0,0 +1,24 @@
tfcoremock_object.object: Refreshing state... [id=F40F2AB4-100C-4AE8-BFD0-BF332A158415]
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
-/+ destroy and then create replacement
Terraform will perform the following actions:
# tfcoremock_object.object must be replaced
-/+ resource "tfcoremock_object" "object" {
id = "F40F2AB4-100C-4AE8-BFD0-BF332A158415"
~ object = {
~ id = "56C7E07F-B9DF-4799-AF62-E703D1167A51" -> "07F887E2-FDFF-4B2E-9BFB-B6AA4A05EDB9" # forces replacement
}
}
Plan: 1 to add, 0 to change, 1 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: equivalence_test_plan
To perform exactly these actions, run the following command to apply:
terraform apply "equivalence_test_plan"

View File

@ -0,0 +1,124 @@
{
"configuration": {
"provider_config": {
"tfcoremock": {
"full_name": "registry.terraform.io/hashicorp/tfcoremock",
"name": "tfcoremock",
"version_constraint": "0.1.1"
}
},
"root_module": {
"resources": [
{
"address": "tfcoremock_object.object",
"expressions": {
"id": {
"constant_value": "F40F2AB4-100C-4AE8-BFD0-BF332A158415"
},
"object": {
"constant_value": {
"id": "07F887E2-FDFF-4B2E-9BFB-B6AA4A05EDB9"
}
}
},
"mode": "managed",
"name": "object",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_object"
}
]
}
},
"format_version": "1.1",
"planned_values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_object.object",
"mode": "managed",
"name": "object",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"object": {}
},
"type": "tfcoremock_object",
"values": {
"id": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"object": {
"id": "07F887E2-FDFF-4B2E-9BFB-B6AA4A05EDB9"
}
}
}
]
}
},
"prior_state": {
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_object.object",
"mode": "managed",
"name": "object",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"object": {}
},
"type": "tfcoremock_object",
"values": {
"id": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"object": {
"id": "56C7E07F-B9DF-4799-AF62-E703D1167A51"
}
}
}
]
}
}
},
"resource_changes": [
{
"action_reason": "replace_because_cannot_update",
"address": "tfcoremock_object.object",
"change": {
"actions": [
"delete",
"create"
],
"after": {
"id": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"object": {
"id": "07F887E2-FDFF-4B2E-9BFB-B6AA4A05EDB9"
}
},
"after_sensitive": {
"object": {}
},
"after_unknown": {},
"before": {
"id": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"object": {
"id": "56C7E07F-B9DF-4799-AF62-E703D1167A51"
}
},
"before_sensitive": {
"object": {}
},
"replace_paths": [
[
"object",
"id"
]
]
},
"mode": "managed",
"name": "object",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_object"
}
]
}

View File

@ -0,0 +1,26 @@
{
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_object.object",
"mode": "managed",
"name": "object",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"object": {}
},
"type": "tfcoremock_object",
"values": {
"id": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"object": {
"id": "07F887E2-FDFF-4B2E-9BFB-B6AA4A05EDB9"
}
}
}
]
}
}
}

View File

@ -0,0 +1,118 @@
[
{
"@level": "info",
"@message": "tfcoremock_set.set: Plan to replace",
"@module": "terraform.ui",
"change": {
"action": "replace",
"reason": "cannot_update",
"resource": {
"addr": "tfcoremock_set.set",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_set.set",
"resource_key": null,
"resource_name": "set",
"resource_type": "tfcoremock_set"
}
},
"type": "planned_change"
},
{
"@level": "info",
"@message": "tfcoremock_set.set: Destroying... [id=F40F2AB4-100C-4AE8-BFD0-BF332A158415]",
"@module": "terraform.ui",
"hook": {
"action": "delete",
"id_key": "id",
"id_value": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"resource": {
"addr": "tfcoremock_set.set",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_set.set",
"resource_key": null,
"resource_name": "set",
"resource_type": "tfcoremock_set"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_set.set: Destruction complete after 0s",
"@module": "terraform.ui",
"hook": {
"action": "delete",
"elapsed_seconds": 0,
"resource": {
"addr": "tfcoremock_set.set",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_set.set",
"resource_key": null,
"resource_name": "set",
"resource_type": "tfcoremock_set"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "tfcoremock_set.set: Creating...",
"@module": "terraform.ui",
"hook": {
"action": "create",
"resource": {
"addr": "tfcoremock_set.set",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_set.set",
"resource_key": null,
"resource_name": "set",
"resource_type": "tfcoremock_set"
}
},
"type": "apply_start"
},
{
"@level": "info",
"@message": "tfcoremock_set.set: Creation complete after 0s [id=F40F2AB4-100C-4AE8-BFD0-BF332A158415]",
"@module": "terraform.ui",
"hook": {
"action": "create",
"elapsed_seconds": 0,
"id_key": "id",
"id_value": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"resource": {
"addr": "tfcoremock_set.set",
"implied_provider": "tfcoremock",
"module": "",
"resource": "tfcoremock_set.set",
"resource_key": null,
"resource_name": "set",
"resource_type": "tfcoremock_set"
}
},
"type": "apply_complete"
},
{
"@level": "info",
"@message": "Apply complete! Resources: 1 added, 0 changed, 1 destroyed.",
"@module": "terraform.ui",
"changes": {
"add": 1,
"change": 0,
"operation": "apply",
"remove": 1
},
"type": "change_summary"
},
{
"@level": "info",
"@message": "Outputs: 0",
"@module": "terraform.ui",
"outputs": {},
"type": "outputs"
}
]

View File

@ -0,0 +1,30 @@
tfcoremock_set.set: Refreshing state... [id=F40F2AB4-100C-4AE8-BFD0-BF332A158415]
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
-/+ destroy and then create replacement
Terraform will perform the following actions:
# tfcoremock_set.set must be replaced
-/+ resource "tfcoremock_set" "set" {
id = "F40F2AB4-100C-4AE8-BFD0-BF332A158415"
~ set = [
+ { # forces replacement
+ id = "07F887E2-FDFF-4B2E-9BFB-B6AA4A05EDB9"
},
- { # forces replacement
- id = "56C7E07F-B9DF-4799-AF62-E703D1167A51" -> null
},
# (2 unchanged elements hidden)
]
}
Plan: 1 to add, 0 to change, 1 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: equivalence_test_plan
To perform exactly these actions, run the following command to apply:
terraform apply "equivalence_test_plan"

View File

@ -0,0 +1,179 @@
{
"configuration": {
"provider_config": {
"tfcoremock": {
"full_name": "registry.terraform.io/hashicorp/tfcoremock",
"name": "tfcoremock",
"version_constraint": "0.1.1"
}
},
"root_module": {
"resources": [
{
"address": "tfcoremock_set.set",
"expressions": {
"id": {
"constant_value": "F40F2AB4-100C-4AE8-BFD0-BF332A158415"
},
"set": {
"constant_value": [
{
"id": "3BFC1A84-023F-44FA-A8EE-EFD88E18B8F7"
},
{
"id": "07F887E2-FDFF-4B2E-9BFB-B6AA4A05EDB9"
},
{
"id": "4B7178A8-AB9D-4FF4-8B3D-48B754DE537B"
}
]
}
},
"mode": "managed",
"name": "set",
"provider_config_key": "tfcoremock",
"schema_version": 0,
"type": "tfcoremock_set"
}
]
}
},
"format_version": "1.1",
"planned_values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_set.set",
"mode": "managed",
"name": "set",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"set": [
{},
{},
{}
]
},
"type": "tfcoremock_set",
"values": {
"id": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"set": [
{
"id": "07F887E2-FDFF-4B2E-9BFB-B6AA4A05EDB9"
},
{
"id": "3BFC1A84-023F-44FA-A8EE-EFD88E18B8F7"
},
{
"id": "4B7178A8-AB9D-4FF4-8B3D-48B754DE537B"
}
]
}
}
]
}
},
"prior_state": {
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_set.set",
"mode": "managed",
"name": "set",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"set": [
{},
{},
{}
]
},
"type": "tfcoremock_set",
"values": {
"id": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"set": [
{
"id": "3BFC1A84-023F-44FA-A8EE-EFD88E18B8F7"
},
{
"id": "4B7178A8-AB9D-4FF4-8B3D-48B754DE537B"
},
{
"id": "56C7E07F-B9DF-4799-AF62-E703D1167A51"
}
]
}
}
]
}
}
},
"resource_changes": [
{
"action_reason": "replace_because_cannot_update",
"address": "tfcoremock_set.set",
"change": {
"actions": [
"delete",
"create"
],
"after": {
"id": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"set": [
{
"id": "07F887E2-FDFF-4B2E-9BFB-B6AA4A05EDB9"
},
{
"id": "3BFC1A84-023F-44FA-A8EE-EFD88E18B8F7"
},
{
"id": "4B7178A8-AB9D-4FF4-8B3D-48B754DE537B"
}
]
},
"after_sensitive": {
"set": [
{},
{},
{}
]
},
"after_unknown": {},
"before": {
"id": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"set": [
{
"id": "3BFC1A84-023F-44FA-A8EE-EFD88E18B8F7"
},
{
"id": "4B7178A8-AB9D-4FF4-8B3D-48B754DE537B"
},
{
"id": "56C7E07F-B9DF-4799-AF62-E703D1167A51"
}
]
},
"before_sensitive": {
"set": [
{},
{},
{}
]
},
"replace_paths": [
[
"set"
]
]
},
"mode": "managed",
"name": "set",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"type": "tfcoremock_set"
}
]
}

View File

@ -0,0 +1,38 @@
{
"format_version": "1.0",
"values": {
"root_module": {
"resources": [
{
"address": "tfcoremock_set.set",
"mode": "managed",
"name": "set",
"provider_name": "registry.terraform.io/hashicorp/tfcoremock",
"schema_version": 0,
"sensitive_values": {
"set": [
{},
{},
{}
]
},
"type": "tfcoremock_set",
"values": {
"id": "F40F2AB4-100C-4AE8-BFD0-BF332A158415",
"set": [
{
"id": "07F887E2-FDFF-4B2E-9BFB-B6AA4A05EDB9"
},
{
"id": "3BFC1A84-023F-44FA-A8EE-EFD88E18B8F7"
},
{
"id": "4B7178A8-AB9D-4FF4-8B3D-48B754DE537B"
}
]
}
}
]
}
}
}

View File

@ -0,0 +1,22 @@
# This file is maintained automatically by "terraform init".
# Manual edits may be lost in future updates.
provider "registry.terraform.io/hashicorp/tfcoremock" {
version = "0.1.1"
constraints = "0.1.1"
hashes = [
"h1:K5ImnTbl0eD02BQgVe6pNn5w2wW07j9t7iDUwqPvcy0=",
"zh:0219ffa02c6f2cf1f519ea42a89615cfbab8219803bcdb4a3614793952b1f5a8",
"zh:13915c1eb4f2ad384c6ce343eebe108ddfb0a103e19f1d8b199c0af8e57bc74a",
"zh:1c265814efa730540a475f76a8045d90a70c22010d6f2eee45f69e973ce10580",
"zh:34d58f6bf64afc491359ad1455007e1eb9aef60be17909096ec88a802b6f72b2",
"zh:7a7d709aeb7b2945f5a9a0497976a85bceb07b2cbf236c8c1bb0b7b079b839ab",
"zh:890df766e9b839623b1f0437355032a3c006226a6c200cd911e15ee1a9014e9f",
"zh:965fbb6042acd6fbf77a9b5c3321edbfa0aa6bf0359394afbf0a7e1392245324",
"zh:9e4ac8eae03d1243b9283b202132c007d5c4ee533d1c5efc690403caaaaa7aac",
"zh:a51833ca1c6983e32a937ea3864b6037c1ccb97a4917cafb38771a3aa583cc77",
"zh:ac2eba5efca9f0bf4ecca3b23c2a89c4318ef7cda45e374811e42cced0aa660b",
"zh:c77663f4c0e4ca799e5f1abfa94cfe15f36e9879e637a9196ea01fcaeba13286",
"zh:dc0ab43f1affe80e117cea108780afe53d7c97357566ded87f53221828c875de",
]
}

View File

@ -0,0 +1,14 @@
terraform {
required_providers {
tfcoremock = {
source = "hashicorp/tfcoremock"
version = "0.1.1"
}
}
}
provider "tfcoremock" {}
resource "tfcoremock_simple_resource" "json" {
string = "{\"list-attribute\":[\"one\",\"four\",\"three\"],\"object-attribute\":{\"key_one\":\"value_one\",\"key_three\":\"value_two\", \"key_four\":\"value_three\"},\"string-attribute\":\"a new string\"}"
}

View File

@ -0,0 +1,5 @@
{
"description": "tests updating a JSON compatible string",
"include_files": [],
"ignore_fields": {}
}

View File

@ -0,0 +1,10 @@
{
"values": {
"id": {
"string": "5a3fd9b3-e852-8956-8c0a-255d47eda645"
},
"string": {
"string": "{\"list-attribute\":[\"one\",\"two\",\"three\"],\"object-attribute\":{\"key_one\":\"value_one\",\"key_two\":\"value_two\",\"key_three\":\"value_three\"},\"string-attribute\":\"string\"}"
}
}
}

View File

@ -0,0 +1,30 @@
{
"version": 4,
"terraform_version": "1.3.7",
"serial": 1,
"lineage": "4a3a27e3-e5b3-3db6-bc4c-6b762a030232",
"outputs": {},
"resources": [
{
"mode": "managed",
"type": "tfcoremock_simple_resource",
"name": "json",
"provider": "provider[\"registry.terraform.io/hashicorp/tfcoremock\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"bool": null,
"float": null,
"id": "5a3fd9b3-e852-8956-8c0a-255d47eda645",
"integer": null,
"number": null,
"string": "{\"list-attribute\":[\"one\",\"two\",\"three\"],\"object-attribute\":{\"key_one\":\"value_one\",\"key_two\":\"value_two\",\"key_three\":\"value_three\"},\"string-attribute\":\"string\"}"
},
"sensitive_attributes": []
}
]
}
],
"check_results": null
}

View File

@ -1,4 +1,5 @@
{
"description": "basic test covering creation of a single list",
"include_files": [],
"ignore_fields": {}
}

View File

@ -1,4 +1,5 @@
{
"description": "tests removing all elements from a simple list",
"include_files": [],
"ignore_fields": {}
}

View File

@ -1,4 +1,5 @@
{
"description": "tests deleting a simple list from a resource",
"include_files": [],
"ignore_fields": {}
}

View File

@ -1,4 +1,5 @@
{
"description": "tests adding and removing elements from a simple list",
"include_files": [],
"ignore_fields": {}
}

View File

@ -1,4 +1,5 @@
{
"description": "basic test covering creation of a simple map",
"include_files": [],
"ignore_fields": {}
}

View File

@ -1,4 +1,5 @@
{
"description": "tests removing all elements from a simple map",
"include_files": [],
"ignore_fields": {}
}

View File

@ -1,4 +1,5 @@
{
"description": "tests deleting a simple map from a resource",
"include_files": [],
"ignore_fields": {}
}

View File

@ -1,4 +1,5 @@
{
"description": "basic test coverting updating a simple map",
"include_files": [],
"ignore_fields": {}
}

View File

@ -0,0 +1,22 @@
# This file is maintained automatically by "terraform init".
# Manual edits may be lost in future updates.
provider "registry.terraform.io/hashicorp/tfcoremock" {
version = "0.1.1"
constraints = "0.1.1"
hashes = [
"h1:K5ImnTbl0eD02BQgVe6pNn5w2wW07j9t7iDUwqPvcy0=",
"zh:0219ffa02c6f2cf1f519ea42a89615cfbab8219803bcdb4a3614793952b1f5a8",
"zh:13915c1eb4f2ad384c6ce343eebe108ddfb0a103e19f1d8b199c0af8e57bc74a",
"zh:1c265814efa730540a475f76a8045d90a70c22010d6f2eee45f69e973ce10580",
"zh:34d58f6bf64afc491359ad1455007e1eb9aef60be17909096ec88a802b6f72b2",
"zh:7a7d709aeb7b2945f5a9a0497976a85bceb07b2cbf236c8c1bb0b7b079b839ab",
"zh:890df766e9b839623b1f0437355032a3c006226a6c200cd911e15ee1a9014e9f",
"zh:965fbb6042acd6fbf77a9b5c3321edbfa0aa6bf0359394afbf0a7e1392245324",
"zh:9e4ac8eae03d1243b9283b202132c007d5c4ee533d1c5efc690403caaaaa7aac",
"zh:a51833ca1c6983e32a937ea3864b6037c1ccb97a4917cafb38771a3aa583cc77",
"zh:ac2eba5efca9f0bf4ecca3b23c2a89c4318ef7cda45e374811e42cced0aa660b",
"zh:c77663f4c0e4ca799e5f1abfa94cfe15f36e9879e637a9196ea01fcaeba13286",
"zh:dc0ab43f1affe80e117cea108780afe53d7c97357566ded87f53221828c875de",
]
}

View File

@ -0,0 +1,14 @@
terraform {
required_providers {
tfcoremock = {
source = "hashicorp/tfcoremock"
version = "0.1.1"
}
}
}
provider "tfcoremock" {}
resource "tfcoremock_simple_resource" "multiline" {
string = "one\nthree\ntwo\nfour\nsix\nseven"
}

View File

@ -0,0 +1,5 @@
{
"description": "tests handling of multiline strings when updating",
"include_files": [],
"ignore_fields": {}
}

View File

@ -0,0 +1,10 @@
{
"values": {
"id": {
"string": "69fe5233-e77a-804f-0dac-115c949540bc"
},
"string": {
"string": "one\ntwo\nthree\nfour\nfive"
}
}
}

View File

@ -0,0 +1,30 @@
{
"version": 4,
"terraform_version": "1.3.7",
"serial": 1,
"lineage": "1e8cb645-9856-bc39-5053-f58ec18be73d",
"outputs": {},
"resources": [
{
"mode": "managed",
"type": "tfcoremock_simple_resource",
"name": "multiline",
"provider": "provider[\"registry.terraform.io/hashicorp/tfcoremock\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"bool": null,
"float": null,
"id": "69fe5233-e77a-804f-0dac-115c949540bc",
"integer": null,
"number": null,
"string": "one\ntwo\nthree\nfour\nfive"
},
"sensitive_attributes": []
}
]
}
],
"check_results": null
}

Some files were not shown because too many files have changed in this diff Show More