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  }