Documentation ¶
Index ¶
Constants ¶
View Source
const ( TimeoutCreate = "create" TimeoutRead = "read" TimeoutUpdate = "update" TimeoutDelete = "delete" TimeoutDefault = "default" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DiffAttrType ¶
type DiffAttrType byte
const ( DiffAttrUnknown DiffAttrType = iota DiffAttrInput DiffAttrOutput )
type ImportFunc ¶
type ImportFunc func(t, id string, meta interface{}) ([]InstanceState, error)
type InstanceDiff ¶
type InstanceDiff interface { Attribute(key string) *ResourceAttrDiff Attributes() map[string]ResourceAttrDiff ProposedState(res Resource, priorState InstanceState) (InstanceState, error) Destroy() bool RequiresNew() bool IgnoreChanges(ignored map[string]bool) EncodeTimeouts(timeouts *ResourceTimeout) error SetTimeout(timeout float64, timeoutKey string) }
type InstanceState ¶
type Provider ¶
type Provider interface { Schema() SchemaMap ResourcesMap() ResourceMap DataSourcesMap() ResourceMap Validate(c ResourceConfig) ([]string, []error) ValidateResource(t string, c ResourceConfig) ([]string, []error) ValidateDataSource(t string, c ResourceConfig) ([]string, []error) Configure(c ResourceConfig) error Diff(t string, s InstanceState, c ResourceConfig) (InstanceDiff, error) Apply(t string, s InstanceState, d InstanceDiff) (InstanceState, error) Refresh(t string, s InstanceState) (InstanceState, error) ReadDataDiff(t string, c ResourceConfig) (InstanceDiff, error) ReadDataApply(t string, d InstanceDiff) (InstanceState, error) Meta() interface{} Stop() error InitLogging() NewDestroyDiff() InstanceDiff NewResourceConfig(object map[string]interface{}) ResourceConfig IsSet(v interface{}) ([]interface{}, bool) }
type Resource ¶
type Resource interface { Schema() SchemaMap SchemaVersion() int Importer() ImportFunc DeprecationMessage() string Timeouts() *ResourceTimeout InstanceState(id string, object, meta map[string]interface{}) (InstanceState, error) DecodeTimeouts(config ResourceConfig) (*ResourceTimeout, error) }
type ResourceAttrDiff ¶
type ResourceConfig ¶
type ResourceMap ¶
type ResourceTimeout ¶
type Schema ¶
type Schema interface { Type() ValueType Optional() bool Required() bool Default() interface{} DefaultFunc() SchemaDefaultFunc DefaultValue() (interface{}, error) Description() string Computed() bool ForceNew() bool StateFunc() SchemaStateFunc // s.Elem() may return a nil, a Schema value, or a Resource value. // // If s represents an element or block of a compound type such TypeList, TypeSet or TypeMap, s.Elem() returns a // Schema value representing its element type. That is, if s ~ List[String] then s.Elem() ~ String. // // If s.Elem() returns a Resource, s represens a configuration block, and s.Elem() Resource only implements the // Schema field, denoting the schema of the block. // // The design of Elem() follows Terraform Plugin SDK directly. // // See also: https://github.com/hashicorp/terraform-plugin-sdk/blob/main/helper/schema/schema.go#L231 Elem() interface{} MaxItems() int MinItems() int ConflictsWith() []string ExactlyOneOf() []string Deprecated() string Removed() string Sensitive() bool UnknownValue() interface{} SetElement(config interface{}) (interface{}, error) SetHash(v interface{}) int }
type SchemaDefaultFunc ¶
type SchemaDefaultFunc func() (interface{}, error)
type SchemaStateFunc ¶
type SchemaStateFunc func(interface{}) string
Click to show internal directories.
Click to hide internal directories.