From 0a3915947611214bacca74d122d79a6b1ae9d767 Mon Sep 17 00:00:00 2001 From: Radek Simko Date: Mon, 4 Sep 2023 10:43:20 +0100 Subject: [PATCH] fix: Include backend in dependent bodies to avoid false negatives --- schema/schema_merge_remote_state_ds.go | 5 + schema/schema_merge_v012_test.go | 150 ++++++++++++++++----- schema/schema_merge_v013_test.go | 180 ++++++++++++++++++++----- 3 files changed, 269 insertions(+), 66 deletions(-) diff --git a/schema/schema_merge_remote_state_ds.go b/schema/schema_merge_remote_state_ds.go index de54b3f5..a2d692c8 100644 --- a/schema/schema_merge_remote_state_ds.go +++ b/schema/schema_merge_remote_state_ds.go @@ -51,6 +51,11 @@ func (sm *SchemaMerger) dependentBodyForRemoteStateDataSource(providerAddr lang. dsSchema := &schema.BodySchema{ Attributes: map[string]*schema.AttributeSchema{ + "backend": { + Constraint: backends.BackendTypesAsOneOfConstraint(sm.terraformVersion), + IsRequired: true, + SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}, + }, "config": { Constraint: objConstraint, IsOptional: true, diff --git a/schema/schema_merge_v012_test.go b/schema/schema_merge_v012_test.go index 78860d53..0c634d27 100644 --- a/schema/schema_merge_v012_test.go +++ b/schema/schema_merge_v012_test.go @@ -1339,94 +1339,184 @@ var expectedMergedSchema_v012 = &schema.BodySchema{ }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"artifactory"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["artifactory"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["artifactory"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"artifactory"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["artifactory"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["artifactory"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"atlas"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["atlas"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["atlas"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"atlas"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["atlas"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["atlas"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"azure"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["azure"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["azure"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"azure"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["azure"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["azure"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"azurerm"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["azurerm"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["azurerm"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"azurerm"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["azurerm"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["azurerm"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"consul"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["consul"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["consul"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"consul"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["consul"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["consul"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"etcd"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["etcd"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["etcd"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"etcd"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["etcd"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["etcd"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"etcdv3"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["etcdv3"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["etcdv3"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"etcdv3"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["etcdv3"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["etcdv3"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"gcs"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["gcs"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["gcs"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"gcs"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["gcs"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["gcs"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"http"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["http"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["http"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"http"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["http"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["http"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"local"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["local"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["local"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"local"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["local"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["local"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"manta"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["manta"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["manta"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"manta"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["manta"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["manta"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"pg"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["pg"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["pg"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"pg"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["pg"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["pg"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"remote"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["remote"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["remote"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"remote"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["remote"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["remote"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"s3"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["s3"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["s3"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"s3"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["s3"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["s3"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"swift"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["swift"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["swift"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"swift"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["swift"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["swift"]}, + }, }, }, }, diff --git a/schema/schema_merge_v013_test.go b/schema/schema_merge_v013_test.go index ac08d737..07ffc6bb 100644 --- a/schema/schema_merge_v013_test.go +++ b/schema/schema_merge_v013_test.go @@ -1794,112 +1794,220 @@ var expectedMergedSchema_v013 = &schema.BodySchema{ }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"artifactory"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["artifactory"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["artifactory"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"artifactory"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["artifactory"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["artifactory"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"atlas"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["atlas"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["atlas"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"atlas"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["atlas"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["atlas"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"azure"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["azure"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["azure"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"azure"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["azure"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["azure"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"azurerm"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["azurerm"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["azurerm"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"azurerm"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["azurerm"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["azurerm"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"consul"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["consul"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["consul"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"consul"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["consul"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["consul"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"cos"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["cos"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["cos"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"cos"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["cos"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["cos"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"etcd"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["etcd"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["etcd"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"etcd"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["etcd"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["etcd"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"etcdv3"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["etcdv3"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["etcdv3"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"etcdv3"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["etcdv3"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["etcdv3"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"gcs"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["gcs"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["gcs"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"gcs"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["gcs"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["gcs"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"http"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["http"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["http"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"http"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["http"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["http"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"kubernetes"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["kubernetes"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["kubernetes"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"kubernetes"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["kubernetes"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["kubernetes"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"local"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["local"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["local"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"local"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["local"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["local"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"manta"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["manta"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["manta"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"manta"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["manta"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["manta"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"oss"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["oss"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["oss"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"oss"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["oss"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["oss"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"pg"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["pg"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["pg"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"pg"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["pg"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["pg"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"remote"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["remote"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["remote"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"remote"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["remote"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["remote"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"s3"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["s3"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["s3"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"s3"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["s3"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["s3"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"swift"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["swift"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["swift"]}, + }, }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"swift"}}]}`: { - Attributes: map[string]*schema.AttributeSchema{"config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["swift"]}}, + Attributes: map[string]*schema.AttributeSchema{ + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["swift"]}, + }, }, }, },