github.com/trawler/terraform@v0.10.8-0.20171106022149-4b1c7a1d9b48/terraform/schemas.go (about) 1 package terraform 2 3 import ( 4 "github.com/hashicorp/terraform/config/configschema" 5 ) 6 7 type Schemas struct { 8 Providers ProviderSchemas 9 } 10 11 // ProviderSchemas is a map from provider names to provider schemas. 12 // 13 // The names in this map are the direct plugin name (e.g. "aws") rather than 14 // any alias name (e.g. "aws.foo"), since. 15 type ProviderSchemas map[string]*ProviderSchema 16 17 // ProviderSchema represents the schema for a provider's own configuration 18 // and the configuration for some or all of its resources and data sources. 19 // 20 // The completeness of this structure depends on how it was constructed. 21 // When constructed for a configuration, it will generally include only 22 // resource types and data sources used by that configuration. 23 type ProviderSchema struct { 24 Provider *configschema.Block 25 ResourceTypes map[string]*configschema.Block 26 DataSources map[string]*configschema.Block 27 } 28 29 // ProviderSchemaRequest is used to describe to a ResourceProvider which 30 // aspects of schema are required, when calling the GetSchema method. 31 type ProviderSchemaRequest struct { 32 ResourceTypes []string 33 DataSources []string 34 }