Merge pull request #13427 from hashicorp/jbardin/context-keys

Fix context key types in schema
This commit is contained in:
James Bardin 2017-04-10 15:38:27 -04:00 committed by GitHub
commit 735dfc416d
3 changed files with 13 additions and 10 deletions

View File

@ -28,8 +28,8 @@ type Backend struct {
config *ResourceData
}
const (
backendConfigKey = iota
var (
backendConfigKey = contextKey("backend config")
)
// FromContextBackendConfig extracts a ResourceData with the configuration

View File

@ -46,25 +46,25 @@ type Provisioner struct {
stopOnce sync.Once
}
// These constants are the keys that can be used to access data in
// the context parameters for Provisioners.
const (
connDataInvalid int = iota
// Keys that can be used to access data in the context parameters for
// Provisioners.
var (
connDataInvalid = contextKey("data invalid")
// This returns a *ResourceData for the connection information.
// Guaranteed to never be nil.
ProvConnDataKey
ProvConnDataKey = contextKey("provider conn data")
// This returns a *ResourceData for the config information.
// Guaranteed to never be nil.
ProvConfigDataKey
ProvConfigDataKey = contextKey("provider config data")
// This returns a terraform.UIOutput. Guaranteed to never be nil.
ProvOutputKey
ProvOutputKey = contextKey("provider output")
// This returns the raw InstanceState passed to Apply. Guaranteed to
// be set, but may be nil.
ProvRawStateKey
ProvRawStateKey = contextKey("provider raw state")
)
// InternalValidate should be called to validate the structure

View File

@ -23,6 +23,9 @@ import (
"github.com/mitchellh/mapstructure"
)
// type used for schema package context keys
type contextKey string
// Schema is used to describe the structure of a value.
//
// Read the documentation of the struct elements for important details.