From ab8a2cafc51ba2dc4808b296a3fd353ddacf136b Mon Sep 17 00:00:00 2001 From: Radek Simko Date: Fri, 6 Oct 2023 11:11:01 +0100 Subject: [PATCH] schema: Fix schema merging for terraform_remote_state data source --- schema/schema_merge.go | 2 +- schema/schema_merge_remote_state_ds.go | 23 +- schema/schema_merge_v012_test.go | 270 ++++++++++++++++----- schema/schema_merge_v013_test.go | 324 +++++++++++++++++++------ 4 files changed, 473 insertions(+), 146 deletions(-) diff --git a/schema/schema_merge.go b/schema/schema_merge.go index 22ef4786..b3e1d7f9 100644 --- a/schema/schema_merge.go +++ b/schema/schema_merge.go @@ -157,7 +157,7 @@ func (m *SchemaMerger) SchemaForModule(meta *tfmod.Meta) (*schema.BodySchema, er remoteStateDs.Attributes["backend"].Constraint = backends.BackendTypesAsOneOfConstraint(m.terraformVersion) delete(remoteStateDs.Attributes, "config") - depBodies := m.dependentBodyForRemoteStateDataSource(providerAddr, localRef) + depBodies := m.dependentBodyForRemoteStateDataSource(remoteStateDs, providerAddr, localRef) for key, depBody := range depBodies { mergedSchema.Blocks["data"].DependentBody[key] = depBody if _, ok := mergedSchema.Blocks["check"]; ok { diff --git a/schema/schema_merge_remote_state_ds.go b/schema/schema_merge_remote_state_ds.go index a2d692c8..2de204f3 100644 --- a/schema/schema_merge_remote_state_ds.go +++ b/schema/schema_merge_remote_state_ds.go @@ -24,7 +24,7 @@ func isRemoteStateDataSource(pAddr tfaddr.Provider, dsName string) bool { dsName == remoteStateDsName } -func (sm *SchemaMerger) dependentBodyForRemoteStateDataSource(providerAddr lang.Address, localRef module.ProviderRef) map[schema.SchemaKey]*schema.BodySchema { +func (sm *SchemaMerger) dependentBodyForRemoteStateDataSource(originalBodySchema *schema.BodySchema, providerAddr lang.Address, localRef module.ProviderRef) map[schema.SchemaKey]*schema.BodySchema { m := make(map[schema.SchemaKey]*schema.BodySchema, 0) backendsAsCons := backends.ConfigsAsObjectConstraint(sm.terraformVersion) @@ -49,18 +49,15 @@ 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, - }, - }, + dsSchema := originalBodySchema.Copy() + dsSchema.Attributes["backend"] = &schema.AttributeSchema{ + Constraint: backends.BackendTypesAsOneOfConstraint(sm.terraformVersion), + IsRequired: true, + SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}, + } + dsSchema.Attributes["config"] = &schema.AttributeSchema{ + Constraint: objConstraint, + IsOptional: true, } m[schema.NewSchemaKey(depKeys)] = dsSchema diff --git a/schema/schema_merge_v012_test.go b/schema/schema_merge_v012_test.go index 0c634d27..33982e4b 100644 --- a/schema/schema_merge_v012_test.go +++ b/schema/schema_merge_v012_test.go @@ -1340,183 +1340,333 @@ 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{ - "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, - "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["artifactory"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["artifactory"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["artifactory"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"atlas"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["atlas"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["atlas"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"azure"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["azure"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["azure"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"azurerm"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["azurerm"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["azurerm"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"consul"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["consul"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["consul"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"etcd"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["etcd"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["etcd"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"etcdv3"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["etcdv3"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["etcdv3"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"gcs"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["gcs"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["gcs"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"http"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["http"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["http"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"local"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["local"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["local"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"manta"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["manta"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["manta"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"pg"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["pg"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["pg"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"remote"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["remote"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["remote"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"s3"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["s3"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["s3"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"swift"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["swift"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_12_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_12_0)["swift"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, }, }, diff --git a/schema/schema_merge_v013_test.go b/schema/schema_merge_v013_test.go index 07ffc6bb..e0206b07 100644 --- a/schema/schema_merge_v013_test.go +++ b/schema/schema_merge_v013_test.go @@ -1795,219 +1795,399 @@ 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{ - "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, - "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["artifactory"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["artifactory"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["artifactory"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"atlas"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["atlas"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["atlas"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"azure"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["azure"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["azure"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"azurerm"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["azurerm"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["azurerm"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"consul"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["consul"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["consul"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"cos"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["cos"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["cos"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"etcd"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["etcd"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["etcd"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"etcdv3"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["etcdv3"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["etcdv3"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"gcs"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["gcs"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["gcs"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"http"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["http"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["http"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"kubernetes"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["kubernetes"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["kubernetes"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"local"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["local"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["local"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"manta"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["manta"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["manta"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"oss"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["oss"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["oss"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"pg"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["pg"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["pg"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"remote"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["remote"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["remote"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"s3"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["s3"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["s3"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"swift"}},{"name":"provider","expr":{"addr":"terraform"}}]}`: { 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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["swift"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, `{"labels":[{"index":0,"value":"terraform_remote_state"}],"attrs":[{"name":"backend","expr":{"static":"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"]}, + "backend": {IsRequired: true, Constraint: backends.BackendTypesAsOneOfConstraint(v0_13_0), SemanticTokenModifiers: lang.SemanticTokenModifiers{lang.TokenModifierDependent}}, + "config": {IsOptional: true, Constraint: backends.ConfigsAsObjectConstraint(v0_13_0)["swift"]}, + "defaults": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "outputs": {IsComputed: true, Constraint: schema.AnyExpression{OfType: cty.DynamicPseudoType}}, + "workspace": {IsOptional: true, Constraint: schema.AnyExpression{OfType: cty.String}}, }, + Blocks: map[string]*schema.BlockSchema{}, + Detail: "(builtin)", }, }, },