fwserver
packageThis package is not in the latest version of its module.
Details
Validgo.mod file
The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go.
Redistributable license
Redistributable licenses place minimal restrictions on how software can be used, modified, and redistributed.
Tagged version
Modules with tagged versions give importers more predictable builds.
Stable version
When a project reaches major version v1 it is considered stable.
- Learn more about best practices
Repository
Links
Documentation¶
Overview¶
Package fwserver contains the framework provider server implementation.This package should only ever contain framework-native types, while specificprotocol version compatible implementations, such as proto6server, areimplemented on top of this abstraction.
Index¶
- Variables
- func AttributeModifyPlan(ctx context.Context, a fwschema.Attribute, req ModifyAttributePlanRequest, ...)
- func AttributePlanModifyBool(ctx context.Context, attribute fwxschema.AttributeWithBoolPlanModifiers, ...)
- func AttributePlanModifyDynamic(ctx context.Context, attribute fwxschema.AttributeWithDynamicPlanModifiers, ...)
- func AttributePlanModifyFloat32(ctx context.Context, attribute fwxschema.AttributeWithFloat32PlanModifiers, ...)
- func AttributePlanModifyFloat64(ctx context.Context, attribute fwxschema.AttributeWithFloat64PlanModifiers, ...)
- func AttributePlanModifyInt32(ctx context.Context, attribute fwxschema.AttributeWithInt32PlanModifiers, ...)
- func AttributePlanModifyInt64(ctx context.Context, attribute fwxschema.AttributeWithInt64PlanModifiers, ...)
- func AttributePlanModifyList(ctx context.Context, attribute fwxschema.AttributeWithListPlanModifiers, ...)
- func AttributePlanModifyMap(ctx context.Context, attribute fwxschema.AttributeWithMapPlanModifiers, ...)
- func AttributePlanModifyNumber(ctx context.Context, attribute fwxschema.AttributeWithNumberPlanModifiers, ...)
- func AttributePlanModifyObject(ctx context.Context, attribute fwxschema.AttributeWithObjectPlanModifiers, ...)
- func AttributePlanModifySet(ctx context.Context, attribute fwxschema.AttributeWithSetPlanModifiers, ...)
- func AttributePlanModifyString(ctx context.Context, attribute fwxschema.AttributeWithStringPlanModifiers, ...)
- func AttributeValidate(ctx context.Context, a fwschema.Attribute, req ValidateAttributeRequest, ...)
- func AttributeValidateBool(ctx context.Context, attribute fwxschema.AttributeWithBoolValidators, ...)
- func AttributeValidateDynamic(ctx context.Context, attribute fwxschema.AttributeWithDynamicValidators, ...)
- func AttributeValidateFloat32(ctx context.Context, attribute fwxschema.AttributeWithFloat32Validators, ...)
- func AttributeValidateFloat64(ctx context.Context, attribute fwxschema.AttributeWithFloat64Validators, ...)
- func AttributeValidateInt32(ctx context.Context, attribute fwxschema.AttributeWithInt32Validators, ...)
- func AttributeValidateInt64(ctx context.Context, attribute fwxschema.AttributeWithInt64Validators, ...)
- func AttributeValidateList(ctx context.Context, attribute fwxschema.AttributeWithListValidators, ...)
- func AttributeValidateMap(ctx context.Context, attribute fwxschema.AttributeWithMapValidators, ...)
- func AttributeValidateNestedAttributes(ctx context.Context, a fwschema.Attribute, req ValidateAttributeRequest, ...)
- func AttributeValidateNumber(ctx context.Context, attribute fwxschema.AttributeWithNumberValidators, ...)
- func AttributeValidateObject(ctx context.Context, attribute fwxschema.AttributeWithObjectValidators, ...)
- func AttributeValidateSet(ctx context.Context, attribute fwxschema.AttributeWithSetValidators, ...)
- func AttributeValidateString(ctx context.Context, attribute fwxschema.AttributeWithStringValidators, ...)
- func BlockModifyPlan(ctx context.Context, b fwschema.Block, req ModifyAttributePlanRequest, ...)
- func BlockPlanModifyList(ctx context.Context, block fwxschema.BlockWithListPlanModifiers, ...)
- func BlockPlanModifyObject(ctx context.Context, block fwxschema.BlockWithObjectPlanModifiers, ...)
- func BlockPlanModifySet(ctx context.Context, block fwxschema.BlockWithSetPlanModifiers, ...)
- func BlockValidate(ctx context.Context, b fwschema.Block, req ValidateAttributeRequest, ...)
- func BlockValidateList(ctx context.Context, block fwxschema.BlockWithListValidators, ...)
- func BlockValidateObject(ctx context.Context, block fwxschema.BlockWithObjectValidators, ...)
- func BlockValidateSet(ctx context.Context, block fwxschema.BlockWithSetValidators, ...)
- func MarkComputedNilsAsUnknown(ctx context.Context, config tftypes.Value, resourceSchema fwschema.Schema) func(*tftypes.AttributePath, tftypes.Value) (tftypes.Value, error)
- func NestedAttributeObjectPlanModify(ctx context.Context, o fwschema.NestedAttributeObject, ...)
- func NestedAttributeObjectValidate(ctx context.Context, o fwschema.NestedAttributeObject, ...)
- func NestedBlockObjectPlanModify(ctx context.Context, o fwschema.NestedBlockObject, ...)
- func NestedBlockObjectValidate(ctx context.Context, o fwschema.NestedBlockObject, ...)
- func NormaliseRequiresReplace(ctx context.Context, rs path.Paths) path.Paths
- func NullifyWriteOnlyAttributes(ctx context.Context, resourceSchema fwschema.Schema) func(*tftypes.AttributePath, tftypes.Value) (tftypes.Value, error)
- func SchemaModifyPlan(ctx context.Context, s fwschema.Schema, req ModifySchemaPlanRequest, ...)
- func SchemaSemanticEquality(ctx context.Context, req SchemaSemanticEqualityRequest, ...)
- func SchemaValidate(ctx context.Context, s fwschema.Schema, req ValidateSchemaRequest, ...)
- type ActionMetadata
- type ApplyResourceChangeRequest
- type ApplyResourceChangeResponse
- type CallFunctionRequest
- type CallFunctionResponse
- type CloseEphemeralResourceRequest
- type CloseEphemeralResourceResponse
- type CreateResourceRequest
- type CreateResourceResponse
- type DataSourceMetadata
- type DeleteResourceRequest
- type DeleteResourceResponse
- type EphemeralResourceMetadata
- type FunctionMetadata
- type GetFunctionsRequest
- type GetFunctionsResponse
- type GetMetadataRequest
- type GetMetadataResponse
- type GetProviderSchemaRequest
- type GetProviderSchemaResponse
- type GetResourceIdentitySchemasRequest
- type GetResourceIdentitySchemasResponse
- type ImportResourceStateRequest
- type ImportResourceStateResponse
- type ImportedResource
- type InvokeActionRequest
- type InvokeActionResponse
- type InvokeProgressEvent
- type ListRequest
- type ListResourceMetadata
- type ListResult
- type ListResultsStream
- type ModifyAttributePlanRequest
- type ModifyAttributePlanResponse
- type ModifySchemaPlanRequest
- type ModifySchemaPlanResponse
- type MoveResourceStateRequest
- type MoveResourceStateResponse
- type OpenEphemeralResourceRequest
- type OpenEphemeralResourceResponse
- type PlanActionRequest
- type PlanActionResponse
- type PlanResourceChangeRequest
- type PlanResourceChangeResponse
- type ReadDataSourceRequest
- type ReadDataSourceResponse
- type ReadResourceRequest
- type ReadResourceResponse
- type RenewEphemeralResourceRequest
- type RenewEphemeralResourceResponse
- type ResourceMetadata
- type SchemaSemanticEqualityRequest
- type SchemaSemanticEqualityResponse
- type Server
- func (s *Server) Action(ctx context.Context, actionType string) (action.Action, diag.Diagnostics)
- func (s *Server) ActionFuncs(ctx context.Context) (map[string]func() action.Action, diag.Diagnostics)
- func (s *Server) ActionMetadatas(ctx context.Context) ([]ActionMetadata, diag.Diagnostics)
- func (s *Server) ActionSchema(ctx context.Context, actionType string) (actionschema.Schema, diag.Diagnostics)
- func (s *Server) ActionSchemas(ctx context.Context) (map[string]actionschema.Schema, diag.Diagnostics)
- func (s *Server) ApplyResourceChange(ctx context.Context, req *ApplyResourceChangeRequest, ...)
- func (s *Server) CallFunction(ctx context.Context, req *CallFunctionRequest, resp *CallFunctionResponse)
- func (s *Server) CloseEphemeralResource(ctx context.Context, req *CloseEphemeralResourceRequest, ...)
- func (s *Server) ConfigureProvider(ctx context.Context, req *provider.ConfigureRequest, ...)
- func (s *Server) CreateResource(ctx context.Context, req *CreateResourceRequest, resp *CreateResourceResponse)
- func (s *Server) DataSource(ctx context.Context, typeName string) (datasource.DataSource, diag.Diagnostics)
- func (s *Server) DataSourceFuncs(ctx context.Context) (map[string]func() datasource.DataSource, diag.Diagnostics)
- func (s *Server) DataSourceMetadatas(ctx context.Context) ([]DataSourceMetadata, diag.Diagnostics)
- func (s *Server) DataSourceSchema(ctx context.Context, typeName string) (fwschema.Schema, diag.Diagnostics)
- func (s *Server) DataSourceSchemas(ctx context.Context) (map[string]fwschema.Schema, diag.Diagnostics)
- func (s *Server) DeleteResource(ctx context.Context, req *DeleteResourceRequest, resp *DeleteResourceResponse)
- func (s *Server) EphemeralResource(ctx context.Context, typeName string) (ephemeral.EphemeralResource, diag.Diagnostics)
- func (s *Server) EphemeralResourceFuncs(ctx context.Context) (map[string]func() ephemeral.EphemeralResource, diag.Diagnostics)
- func (s *Server) EphemeralResourceMetadatas(ctx context.Context) ([]EphemeralResourceMetadata, diag.Diagnostics)
- func (s *Server) EphemeralResourceSchema(ctx context.Context, typeName string) (fwschema.Schema, diag.Diagnostics)
- func (s *Server) EphemeralResourceSchemas(ctx context.Context) (map[string]fwschema.Schema, diag.Diagnostics)
- func (s *Server) Function(ctx context.Context, name string) (function.Function, *function.FuncError)
- func (s *Server) FunctionDefinition(ctx context.Context, name string) (function.Definition, *function.FuncError)
- func (s *Server) FunctionDefinitions(ctx context.Context) (map[string]function.Definition, diag.Diagnostics)
- func (s *Server) FunctionFuncs(ctx context.Context) (map[string]func() function.Function, diag.Diagnostics)
- func (s *Server) FunctionMetadatas(ctx context.Context) ([]FunctionMetadata, diag.Diagnostics)
- func (s *Server) GetFunctions(ctx context.Context, req *GetFunctionsRequest, resp *GetFunctionsResponse)
- func (s *Server) GetMetadata(ctx context.Context, req *GetMetadataRequest, resp *GetMetadataResponse)
- func (s *Server) GetProviderSchema(ctx context.Context, req *GetProviderSchemaRequest, ...)
- func (s *Server) GetResourceIdentitySchemas(ctx context.Context, req *GetResourceIdentitySchemasRequest, ...)
- func (s *Server) ImportResourceState(ctx context.Context, req *ImportResourceStateRequest, ...)
- func (s *Server) InvokeAction(ctx context.Context, req *InvokeActionRequest, resp *InvokeActionResponse)
- func (s *Server) ListResource(ctx context.Context, fwReq *ListRequest, fwStream *ListResultsStream)
- func (s *Server) ListResourceFuncs(ctx context.Context) (map[string]func() list.ListResource, diag.Diagnostics)
- func (s *Server) ListResourceMetadatas(ctx context.Context) ([]ListResourceMetadata, diag.Diagnostics)
- func (s *Server) ListResourceSchema(ctx context.Context, typeName string) (fwschema.Schema, diag.Diagnostics)
- func (s *Server) ListResourceSchemas(ctx context.Context) (map[string]fwschema.Schema, diag.Diagnostics)
- func (s *Server) ListResourceType(ctx context.Context, typeName string) (list.ListResource, diag.Diagnostics)
- func (s *Server) MoveResourceState(ctx context.Context, req *MoveResourceStateRequest, ...)
- func (s *Server) OpenEphemeralResource(ctx context.Context, req *OpenEphemeralResourceRequest, ...)
- func (s *Server) PlanAction(ctx context.Context, req *PlanActionRequest, resp *PlanActionResponse)
- func (s *Server) PlanResourceChange(ctx context.Context, req *PlanResourceChangeRequest, ...)
- func (s *Server) ProviderMetaSchema(ctx context.Context) (fwschema.Schema, diag.Diagnostics)
- func (s *Server) ProviderSchema(ctx context.Context) (fwschema.Schema, diag.Diagnostics)
- func (s *Server) ProviderTypeName(ctx context.Context) string
- func (s *Server) ReadDataSource(ctx context.Context, req *ReadDataSourceRequest, resp *ReadDataSourceResponse)
- func (s *Server) ReadResource(ctx context.Context, req *ReadResourceRequest, resp *ReadResourceResponse)
- func (s *Server) RenewEphemeralResource(ctx context.Context, req *RenewEphemeralResourceRequest, ...)
- func (s *Server) Resource(ctx context.Context, typeName string) (resource.Resource, diag.Diagnostics)
- func (s *Server) ResourceBehavior(ctx context.Context, typeName string) (resource.ResourceBehavior, diag.Diagnostics)
- func (s *Server) ResourceBehaviors(ctx context.Context) (map[string]resource.ResourceBehavior, diag.Diagnostics)
- func (s *Server) ResourceFuncs(ctx context.Context) (map[string]func() resource.Resource, diag.Diagnostics)
- func (s *Server) ResourceIdentitySchema(ctx context.Context, typeName string) (fwschema.Schema, diag.Diagnostics)
- func (s *Server) ResourceIdentitySchemas(ctx context.Context) (map[string]fwschema.Schema, diag.Diagnostics)
- func (s *Server) ResourceMetadatas(ctx context.Context) ([]ResourceMetadata, diag.Diagnostics)
- func (s *Server) ResourceSchema(ctx context.Context, typeName string) (fwschema.Schema, diag.Diagnostics)
- func (s *Server) ResourceSchemas(ctx context.Context) (map[string]fwschema.Schema, diag.Diagnostics)
- func (s *Server) ServerCapabilities() *ServerCapabilities
- func (s *Server) UpdateResource(ctx context.Context, req *UpdateResourceRequest, resp *UpdateResourceResponse)
- func (s *Server) UpgradeResourceIdentity(ctx context.Context, req *UpgradeResourceIdentityRequest, ...)
- func (s *Server) UpgradeResourceState(ctx context.Context, req *UpgradeResourceStateRequest, ...)
- func (s *Server) ValidateActionConfig(ctx context.Context, req *ValidateActionConfigRequest, ...)
- func (s *Server) ValidateDataSourceConfig(ctx context.Context, req *ValidateDataSourceConfigRequest, ...)
- func (s *Server) ValidateEphemeralResourceConfig(ctx context.Context, req *ValidateEphemeralResourceConfigRequest, ...)
- func (s *Server) ValidateListResourceConfig(ctx context.Context, req *ValidateListResourceConfigRequest, ...)
- func (s *Server) ValidateProviderConfig(ctx context.Context, req *ValidateProviderConfigRequest, ...)
- func (s *Server) ValidateResourceConfig(ctx context.Context, req *ValidateResourceConfigRequest, ...)
- type ServerCapabilities
- type UpdateResourceRequest
- type UpdateResourceResponse
- type UpgradeResourceIdentityRequest
- type UpgradeResourceIdentityResponse
- type UpgradeResourceStateRequest
- type UpgradeResourceStateResponse
- type ValidateActionConfigRequest
- type ValidateActionConfigResponse
- type ValidateAttributeRequest
- type ValidateAttributeResponse
- type ValidateDataSourceConfigRequest
- type ValidateDataSourceConfigResponse
- type ValidateEphemeralResourceConfigRequest
- type ValidateEphemeralResourceConfigResponse
- type ValidateListResourceConfigRequest
- type ValidateListResourceConfigResponse
- type ValidateProviderConfigRequest
- type ValidateProviderConfigResponse
- type ValidateResourceConfigRequest
- type ValidateResourceConfigResponse
- type ValidateSchemaRequest
- type ValidateSchemaResponse
Constants¶
This section is empty.
Variables¶
var NoListResults = func(func(ListResult)bool) {}Functions¶
funcAttributeModifyPlan¶added inv0.9.0
func AttributeModifyPlan(ctxcontext.Context, afwschema.Attribute, reqModifyAttributePlanRequest, resp *ModifyAttributePlanResponse)
AttributeModifyPlan runs all AttributePlanModifiers
TODO: Clean up this abstraction back into an internal Attribute type method.The extra Attribute parameter is a carry-over of creating the proto6serverpackage from the tfsdk package and not wanting to export the method.Reference:https://github.com/hashicorp/terraform-plugin-framework/issues/365
funcAttributePlanModifyBool¶added inv0.17.0
func AttributePlanModifyBool(ctxcontext.Context, attributefwxschema.AttributeWithBoolPlanModifiers, reqModifyAttributePlanRequest, resp *ModifyAttributePlanResponse)
AttributePlanModifyBool performs all types.Bool plan modification.
funcAttributePlanModifyDynamic¶added inv1.7.0
func AttributePlanModifyDynamic(ctxcontext.Context, attributefwxschema.AttributeWithDynamicPlanModifiers, reqModifyAttributePlanRequest, resp *ModifyAttributePlanResponse)
AttributePlanModifyDynamic performs all types.Dynamic plan modification.
funcAttributePlanModifyFloat32¶added inv1.10.0
func AttributePlanModifyFloat32(ctxcontext.Context, attributefwxschema.AttributeWithFloat32PlanModifiers, reqModifyAttributePlanRequest, resp *ModifyAttributePlanResponse)
AttributePlanModifyFloat32 performs all types.Float32 plan modification.
funcAttributePlanModifyFloat64¶added inv0.17.0
func AttributePlanModifyFloat64(ctxcontext.Context, attributefwxschema.AttributeWithFloat64PlanModifiers, reqModifyAttributePlanRequest, resp *ModifyAttributePlanResponse)
AttributePlanModifyFloat64 performs all types.Float64 plan modification.
funcAttributePlanModifyInt32¶added inv1.10.0
func AttributePlanModifyInt32(ctxcontext.Context, attributefwxschema.AttributeWithInt32PlanModifiers, reqModifyAttributePlanRequest, resp *ModifyAttributePlanResponse)
AttributePlanModifyInt32 performs all types.Int32 plan modification.
funcAttributePlanModifyInt64¶added inv0.17.0
func AttributePlanModifyInt64(ctxcontext.Context, attributefwxschema.AttributeWithInt64PlanModifiers, reqModifyAttributePlanRequest, resp *ModifyAttributePlanResponse)
AttributePlanModifyInt64 performs all types.Int64 plan modification.
funcAttributePlanModifyList¶added inv0.17.0
func AttributePlanModifyList(ctxcontext.Context, attributefwxschema.AttributeWithListPlanModifiers, reqModifyAttributePlanRequest, resp *ModifyAttributePlanResponse)
AttributePlanModifyList performs all types.List plan modification.
funcAttributePlanModifyMap¶added inv0.17.0
func AttributePlanModifyMap(ctxcontext.Context, attributefwxschema.AttributeWithMapPlanModifiers, reqModifyAttributePlanRequest, resp *ModifyAttributePlanResponse)
AttributePlanModifyMap performs all types.Map plan modification.
funcAttributePlanModifyNumber¶added inv0.17.0
func AttributePlanModifyNumber(ctxcontext.Context, attributefwxschema.AttributeWithNumberPlanModifiers, reqModifyAttributePlanRequest, resp *ModifyAttributePlanResponse)
AttributePlanModifyNumber performs all types.Number plan modification.
funcAttributePlanModifyObject¶added inv0.17.0
func AttributePlanModifyObject(ctxcontext.Context, attributefwxschema.AttributeWithObjectPlanModifiers, reqModifyAttributePlanRequest, resp *ModifyAttributePlanResponse)
AttributePlanModifyObject performs all types.Object plan modification.
funcAttributePlanModifySet¶added inv0.17.0
func AttributePlanModifySet(ctxcontext.Context, attributefwxschema.AttributeWithSetPlanModifiers, reqModifyAttributePlanRequest, resp *ModifyAttributePlanResponse)
AttributePlanModifySet performs all types.Set plan modification.
funcAttributePlanModifyString¶added inv0.17.0
func AttributePlanModifyString(ctxcontext.Context, attributefwxschema.AttributeWithStringPlanModifiers, reqModifyAttributePlanRequest, resp *ModifyAttributePlanResponse)
AttributePlanModifyString performs all types.String plan modification.
funcAttributeValidate¶added inv0.9.0
func AttributeValidate(ctxcontext.Context, afwschema.Attribute, reqValidateAttributeRequest, resp *ValidateAttributeResponse)
AttributeValidate performs all Attribute validation.
TODO: Clean up this abstraction back into an internal Attribute type method.The extra Attribute parameter is a carry-over of creating the proto6serverpackage from the tfsdk package and not wanting to export the method.Reference:https://github.com/hashicorp/terraform-plugin-framework/issues/365
funcAttributeValidateBool¶added inv0.17.0
func AttributeValidateBool(ctxcontext.Context, attributefwxschema.AttributeWithBoolValidators, reqValidateAttributeRequest, resp *ValidateAttributeResponse)
AttributeValidateBool performs all types.Bool validation.
funcAttributeValidateDynamic¶added inv1.7.0
func AttributeValidateDynamic(ctxcontext.Context, attributefwxschema.AttributeWithDynamicValidators, reqValidateAttributeRequest, resp *ValidateAttributeResponse)
AttributeValidateDynamic performs all types.Dynamic validation.
funcAttributeValidateFloat32¶added inv1.10.0
func AttributeValidateFloat32(ctxcontext.Context, attributefwxschema.AttributeWithFloat32Validators, reqValidateAttributeRequest, resp *ValidateAttributeResponse)
AttributeValidateFloat32 performs all types.Float32 validation.
funcAttributeValidateFloat64¶added inv0.17.0
func AttributeValidateFloat64(ctxcontext.Context, attributefwxschema.AttributeWithFloat64Validators, reqValidateAttributeRequest, resp *ValidateAttributeResponse)
AttributeValidateFloat64 performs all types.Float64 validation.
funcAttributeValidateInt32¶added inv1.10.0
func AttributeValidateInt32(ctxcontext.Context, attributefwxschema.AttributeWithInt32Validators, reqValidateAttributeRequest, resp *ValidateAttributeResponse)
AttributeValidateInt32 performs all types.Int32 validation.
funcAttributeValidateInt64¶added inv0.17.0
func AttributeValidateInt64(ctxcontext.Context, attributefwxschema.AttributeWithInt64Validators, reqValidateAttributeRequest, resp *ValidateAttributeResponse)
AttributeValidateInt64 performs all types.Int64 validation.
funcAttributeValidateList¶added inv0.17.0
func AttributeValidateList(ctxcontext.Context, attributefwxschema.AttributeWithListValidators, reqValidateAttributeRequest, resp *ValidateAttributeResponse)
AttributeValidateList performs all types.List validation.
funcAttributeValidateMap¶added inv0.17.0
func AttributeValidateMap(ctxcontext.Context, attributefwxschema.AttributeWithMapValidators, reqValidateAttributeRequest, resp *ValidateAttributeResponse)
AttributeValidateMap performs all types.Map validation.
funcAttributeValidateNestedAttributes¶added inv0.9.0
func AttributeValidateNestedAttributes(ctxcontext.Context, afwschema.Attribute, reqValidateAttributeRequest, resp *ValidateAttributeResponse)
AttributeValidateNestedAttributes performs all nested Attributes validation.
TODO: Clean up this abstraction back into an internal Attribute type method.The extra Attribute parameter is a carry-over of creating the proto6serverpackage from the tfsdk package and not wanting to export the method.Reference:https://github.com/hashicorp/terraform-plugin-framework/issues/365
funcAttributeValidateNumber¶added inv0.17.0
func AttributeValidateNumber(ctxcontext.Context, attributefwxschema.AttributeWithNumberValidators, reqValidateAttributeRequest, resp *ValidateAttributeResponse)
AttributeValidateNumber performs all types.Number validation.
funcAttributeValidateObject¶added inv0.17.0
func AttributeValidateObject(ctxcontext.Context, attributefwxschema.AttributeWithObjectValidators, reqValidateAttributeRequest, resp *ValidateAttributeResponse)
AttributeValidateObject performs all types.Object validation.
funcAttributeValidateSet¶added inv0.17.0
func AttributeValidateSet(ctxcontext.Context, attributefwxschema.AttributeWithSetValidators, reqValidateAttributeRequest, resp *ValidateAttributeResponse)
AttributeValidateSet performs all types.Set validation.
funcAttributeValidateString¶added inv0.17.0
func AttributeValidateString(ctxcontext.Context, attributefwxschema.AttributeWithStringValidators, reqValidateAttributeRequest, resp *ValidateAttributeResponse)
AttributeValidateString performs all types.String validation.
funcBlockModifyPlan¶added inv0.9.0
func BlockModifyPlan(ctxcontext.Context, bfwschema.Block, reqModifyAttributePlanRequest, resp *ModifyAttributePlanResponse)
BlockModifyPlan performs all Block plan modification.
TODO: Clean up this abstraction back into an internal Block type method.The extra Block parameter is a carry-over of creating the proto6serverpackage from the tfsdk package and not wanting to export the method.Reference:https://github.com/hashicorp/terraform-plugin-framework/issues/365
funcBlockPlanModifyList¶added inv0.17.0
func BlockPlanModifyList(ctxcontext.Context, blockfwxschema.BlockWithListPlanModifiers, reqModifyAttributePlanRequest, resp *ModifyAttributePlanResponse)
BlockPlanModifyList performs all types.List plan modification.
funcBlockPlanModifyObject¶added inv0.17.0
func BlockPlanModifyObject(ctxcontext.Context, blockfwxschema.BlockWithObjectPlanModifiers, reqModifyAttributePlanRequest, resp *ModifyAttributePlanResponse)
BlockPlanModifyObject performs all types.Object plan modification.
funcBlockPlanModifySet¶added inv0.17.0
func BlockPlanModifySet(ctxcontext.Context, blockfwxschema.BlockWithSetPlanModifiers, reqModifyAttributePlanRequest, resp *ModifyAttributePlanResponse)
BlockPlanModifySet performs all types.Set plan modification.
funcBlockValidate¶added inv0.9.0
func BlockValidate(ctxcontext.Context, bfwschema.Block, reqValidateAttributeRequest, resp *ValidateAttributeResponse)
BlockValidate performs all Block validation.
TODO: Clean up this abstraction back into an internal Block type method.The extra Block parameter is a carry-over of creating the proto6serverpackage from the tfsdk package and not wanting to export the method.Reference:https://github.com/hashicorp/terraform-plugin-framework/issues/365
funcBlockValidateList¶added inv0.17.0
func BlockValidateList(ctxcontext.Context, blockfwxschema.BlockWithListValidators, reqValidateAttributeRequest, resp *ValidateAttributeResponse)
BlockValidateList performs all types.List validation.
funcBlockValidateObject¶added inv0.17.0
func BlockValidateObject(ctxcontext.Context, blockfwxschema.BlockWithObjectValidators, reqValidateAttributeRequest, resp *ValidateAttributeResponse)
BlockValidateObject performs all types.Object validation.
funcBlockValidateSet¶added inv0.17.0
func BlockValidateSet(ctxcontext.Context, blockfwxschema.BlockWithSetValidators, reqValidateAttributeRequest, resp *ValidateAttributeResponse)
BlockValidateSet performs all types.Set validation.
funcMarkComputedNilsAsUnknown¶added inv0.9.0
funcNestedAttributeObjectPlanModify¶added inv0.17.0
func NestedAttributeObjectPlanModify(ctxcontext.Context, ofwschema.NestedAttributeObject, reqplanmodifier.ObjectRequest, resp *ModifyAttributePlanResponse)
funcNestedAttributeObjectValidate¶added inv0.17.0
func NestedAttributeObjectValidate(ctxcontext.Context, ofwschema.NestedAttributeObject, reqValidateAttributeRequest, resp *ValidateAttributeResponse)
funcNestedBlockObjectPlanModify¶added inv0.17.0
func NestedBlockObjectPlanModify(ctxcontext.Context, ofwschema.NestedBlockObject, reqplanmodifier.ObjectRequest, resp *ModifyAttributePlanResponse)
funcNestedBlockObjectValidate¶added inv0.17.0
func NestedBlockObjectValidate(ctxcontext.Context, ofwschema.NestedBlockObject, reqValidateAttributeRequest, resp *ValidateAttributeResponse)
funcNormaliseRequiresReplace¶added inv0.9.0
NormaliseRequiresReplace sorts and deduplicates the slice of AttributePathsused in the RequiresReplace response field.Sorting is lexical based on the string representation of each AttributePath.
funcNullifyWriteOnlyAttributes¶added inv1.14.0
func NullifyWriteOnlyAttributes(ctxcontext.Context, resourceSchemafwschema.Schema) func(*tftypes.AttributePath,tftypes.Value) (tftypes.Value,error)
NullifyWriteOnlyAttributes transforms a tftypes.Value, setting all write-only attribute valuesto null according to the given managed resource schema. This function is called in all managedresource RPCs before a response is sent to Terraform Core. Terraform Core expects all write-onlyattribute values to be null to prevent data consistency errors. This can technically be donemanually by the provider developers, but the Framework is handling it instead for convenience.
funcSchemaModifyPlan¶added inv0.9.0
func SchemaModifyPlan(ctxcontext.Context, sfwschema.Schema, reqModifySchemaPlanRequest, resp *ModifySchemaPlanResponse)
SchemaModifyPlan runs all AttributePlanModifiers in all schema attributesand blocks.
TODO: Clean up this abstraction back into an internal Schema type method.The extra Schema parameter is a carry-over of creating the proto6serverpackage from the tfsdk package and not wanting to export the method.Reference:https://github.com/hashicorp/terraform-plugin-framework/issues/365
funcSchemaSemanticEquality¶added inv1.3.0
func SchemaSemanticEquality(ctxcontext.Context, reqSchemaSemanticEqualityRequest, resp *SchemaSemanticEqualityResponse)
SchemaSemanticEquality runs semantic equality logic for all schema attributesand blocks.
MAINTAINER NOTE: Since semantic equality is purely value based, whereattributes and blocks cannot currently introduce semantic equality logicbased on those schema concepts, this logic immediately delegates to valuebased handling. On the off chance that the framework is enhanced withattribute and block level semantic equality support (not recommended sincevalue types should really be the correct provider developer abstraction,rather than potentially causing confusing or duplicated provider logic), thislogic will need to be redesigned similar to the plan modification andvalidation logic which walks the schema. That schema walk may interfere withthe value based recursion for collection and structural types, so additionaldesign may be necessary so that provider developer data handling intentionsare kept based on both the value based logic and schema based logic.
funcSchemaValidate¶added inv0.9.0
func SchemaValidate(ctxcontext.Context, sfwschema.Schema, reqValidateSchemaRequest, resp *ValidateSchemaResponse)
SchemaValidate performs all Attribute and Block validation.
TODO: Clean up this abstraction back into an internal Schema type method.The extra Schema parameter is a carry-over of creating the proto6serverpackage from the tfsdk package and not wanting to export the method.Reference:https://github.com/hashicorp/terraform-plugin-framework/issues/365
Types¶
typeActionMetadata¶added inv1.16.0
type ActionMetadata struct {// TypeName is the name of the action.TypeNamestring}ActionMetadata is the framework server equivalent of thetfprotov5.ActionMetadata and tfprotov6.ActionMetadata types.
typeApplyResourceChangeRequest¶added inv0.9.0
type ApplyResourceChangeRequest struct {Config *tfsdk.ConfigPlannedPrivate *privatestate.DataPlannedState *tfsdk.PlanPlannedIdentity *tfsdk.ResourceIdentityPriorState *tfsdk.StateProviderMeta *tfsdk.ConfigResourceSchemafwschema.SchemaIdentitySchemafwschema.SchemaResourceresource.ResourceResourceBehaviorresource.ResourceBehavior}ApplyResourceChangeRequest is the framework server request for theApplyResourceChange RPC.
typeApplyResourceChangeResponse¶added inv0.9.0
type ApplyResourceChangeResponse struct {Diagnosticsdiag.DiagnosticsNewState *tfsdk.StateNewIdentity *tfsdk.ResourceIdentityPrivate *privatestate.Data}ApplyResourceChangeResponse is the framework server response for theApplyResourceChange RPC.
typeCallFunctionRequest¶added inv1.5.0
type CallFunctionRequest struct {Argumentsfunction.ArgumentsDataFunctionfunction.FunctionFunctionDefinitionfunction.Definition}CallFunctionRequest is the framework server request for theCallFunction RPC.
typeCallFunctionResponse¶added inv1.5.0
type CallFunctionResponse struct {Error *function.FuncErrorResultfunction.ResultData}CallFunctionResponse is the framework server response for theCallFunction RPC.
typeCloseEphemeralResourceRequest¶added inv1.13.0
type CloseEphemeralResourceRequest struct {Private *privatestate.DataEphemeralResourceSchemafwschema.SchemaEphemeralResourceephemeral.EphemeralResource}CloseEphemeralResourceRequest is the framework server request for theCloseEphemeralResource RPC.
typeCloseEphemeralResourceResponse¶added inv1.13.0
type CloseEphemeralResourceResponse struct {Diagnosticsdiag.Diagnostics}CloseEphemeralResourceResponse is the framework server response for theCloseEphemeralResource RPC.
typeCreateResourceRequest¶added inv0.9.0
type CreateResourceRequest struct {Config *tfsdk.ConfigPlannedPrivate *privatestate.DataPlannedState *tfsdk.PlanPlannedIdentity *tfsdk.ResourceIdentityProviderMeta *tfsdk.ConfigResourceSchemafwschema.SchemaIdentitySchemafwschema.SchemaResourceresource.Resource}CreateResourceRequest is the framework server request for a create requestwith the ApplyResourceChange RPC.
typeCreateResourceResponse¶added inv0.9.0
type CreateResourceResponse struct {Diagnosticsdiag.DiagnosticsNewState *tfsdk.StateNewIdentity *tfsdk.ResourceIdentityPrivate *privatestate.Data}CreateResourceResponse is the framework server response for a create requestwith the ApplyResourceChange RPC.
typeDataSourceMetadata¶added inv1.4.0
type DataSourceMetadata struct {// TypeName is the name of the data resource.TypeNamestring}DataSourceMetadata is the framework server equivalent of thetfprotov5.DataSourceMetadata and tfprotov6.DataSourceMetadata types.
typeDeleteResourceRequest¶added inv0.9.0
type DeleteResourceRequest struct {PlannedPrivate *privatestate.DataPriorState *tfsdk.StatePriorIdentity *tfsdk.ResourceIdentityProviderMeta *tfsdk.ConfigResourceSchemafwschema.SchemaIdentitySchemafwschema.SchemaResourceresource.Resource}DeleteResourceRequest is the framework server request for a delete requestwith the ApplyResourceChange RPC.
typeDeleteResourceResponse¶added inv0.9.0
type DeleteResourceResponse struct {Diagnosticsdiag.DiagnosticsNewState *tfsdk.StateNewIdentity *tfsdk.ResourceIdentityPrivate *privatestate.Data}DeleteResourceResponse is the framework server response for a delete requestwith the ApplyResourceChange RPC.
typeEphemeralResourceMetadata¶added inv1.13.0
type EphemeralResourceMetadata struct {// TypeName is the name of the ephemeral resource.TypeNamestring}EphemeralResourceMetadata is the framework server equivalent of thetfprotov5.EphemeralResourceMetadata and tfprotov6.EphemeralResourceMetadata types.
typeFunctionMetadata¶added inv1.5.0
type FunctionMetadata struct {// Name is the name of the function.Namestring}FunctionMetadata is the framework server equivalent of thetfprotov5.FunctionMetadata and tfprotov6.FunctionMetadata types.
typeGetFunctionsRequest¶added inv1.5.0
type GetFunctionsRequest struct{}GetFunctionsRequest is the framework server request for theGetFunctions RPC.
typeGetFunctionsResponse¶added inv1.5.0
type GetFunctionsResponse struct {FunctionDefinitions map[string]function.DefinitionDiagnosticsdiag.Diagnostics}GetFunctionsResponse is the framework server response for theGetFunctions RPC.
typeGetMetadataRequest¶added inv1.4.0
type GetMetadataRequest struct{}GetMetadataRequest is the framework server request for theGetMetadata RPC.
typeGetMetadataResponse¶added inv1.4.0
type GetMetadataResponse struct {Actions []ActionMetadataDataSources []DataSourceMetadataDiagnosticsdiag.DiagnosticsEphemeralResources []EphemeralResourceMetadataFunctions []FunctionMetadataListResources []ListResourceMetadataResources []ResourceMetadataServerCapabilities *ServerCapabilities}GetMetadataResponse is the framework server response for theGetMetadata RPC.
typeGetProviderSchemaRequest¶
type GetProviderSchemaRequest struct{}GetProviderSchemaRequest is the framework server request for theGetProviderSchema RPC.
typeGetProviderSchemaResponse¶
type GetProviderSchemaResponse struct {ServerCapabilities *ServerCapabilitiesProviderfwschema.SchemaProviderMetafwschema.SchemaActionSchemas map[string]actionschema.SchemaResourceSchemas map[string]fwschema.SchemaDataSourceSchemas map[string]fwschema.SchemaEphemeralResourceSchemas map[string]fwschema.SchemaFunctionDefinitions map[string]function.DefinitionListResourceSchemas map[string]fwschema.SchemaDiagnosticsdiag.Diagnostics}GetProviderSchemaResponse is the framework server response for theGetProviderSchema RPC.
typeGetResourceIdentitySchemasRequest¶added inv1.15.0
type GetResourceIdentitySchemasRequest struct{}GetResourceIdentitySchemasRequest is the framework server request for theGetResourceIdentitySchemas RPC.
typeGetResourceIdentitySchemasResponse¶added inv1.15.0
type GetResourceIdentitySchemasResponse struct {IdentitySchemas map[string]fwschema.SchemaDiagnosticsdiag.Diagnostics}GetResourceIdentitySchemasResponse is the framework server response for theGetResourceIdentitySchemas RPC.
typeImportResourceStateRequest¶added inv0.9.0
type ImportResourceStateRequest struct {// ID will come from the import CLI command or an import config block with the "id" attribute assigned.//// This ID field is a special string identifier that can be parsed however the provider deems fit.IDstring// Identity will come from an import config block with the "identity" attribute assigned and will conform// to the identity schema defined by the resource. (Terraform v1.12+)//// All attributes marked as RequiredForImport will be populated (enforced by Terraform core) and OptionalForImport// attributes may be null, but could have a config value.Identity *tfsdk.ResourceIdentityIdentitySchemafwschema.SchemaResourceresource.Resource// EmptyState is an empty State for the resource schema. This is used to// initialize the ImportedResource State of the ImportResourceStateResponse// and allow the framework server to verify that the provider updated the// state after the provider defined logic.EmptyStatetfsdk.State// TypeName is the resource type name, which is necessary for populating// the ImportedResource TypeName of the ImportResourceStateResponse.TypeNamestringClientCapabilitiesresource.ImportStateClientCapabilities}ImportResourceStateRequest is the framework server request for theImportResourceState RPC.
Either ID or Identity will be supplied depending on how the resource is being imported.
typeImportResourceStateResponse¶added inv0.9.0
type ImportResourceStateResponse struct {Diagnosticsdiag.DiagnosticsImportedResources []ImportedResourceDeferred *resource.Deferred}ImportResourceStateResponse is the framework server response for theImportResourceState RPC.
typeImportedResource¶added inv0.9.0
type ImportedResource struct {Private *privatestate.DataIdentity *tfsdk.ResourceIdentityStatetfsdk.StateTypeNamestring}ImportedResource represents a resource that was imported.
typeInvokeActionRequest¶added inv1.16.0
type InvokeActionRequest struct {Actionaction.ActionActionSchemafwschema.SchemaConfig *tfsdk.Config}InvokeActionRequest is the framework server request for the InvokeAction RPC.
typeInvokeActionResponse¶added inv1.16.0
type InvokeActionResponse struct {// ProgressEvents is a channel provided by the consuming proto{5/6}server implementation// that allows the provider developers to return progress events while the action is being invoked.ProgressEvents chanInvokeProgressEventDiagnosticsdiag.Diagnostics}InvokeActionEventsStream is the framework server stream for the InvokeAction RPC.
func (*InvokeActionResponse)SendProgress¶added inv1.16.0
func (r *InvokeActionResponse) SendProgress(eventaction.InvokeProgressEvent)
SendProgress is injected into the action.InvokeResponse for use by the provider developer
typeInvokeProgressEvent¶added inv1.16.0
type InvokeProgressEvent struct {Messagestring}typeListRequest¶added inv1.16.0
type ListRequest struct {// ListResource is an instance of the provider's list resource// implementation for a specific managed resource type.ListResourcelist.ListResource// Config is the configuration the user supplied for listing resource// instances.Config *tfsdk.Config// IncludeResource indicates whether the provider should populate the// Resource field in the ListResult struct.IncludeResourcebool// Limit specifies the maximum number of results that Terraform is// expecting.Limitint64ResourceSchemafwschema.SchemaResourceIdentitySchemafwschema.Schema}ListRequest is the framework server request for the ListResource RPC.
typeListResourceMetadata¶added inv1.16.0
type ListResourceMetadata struct {// TypeName is the name of the list resource.TypeNamestring}ListResourceMetadata is the framework server equivalent of thetfprotov5.ListResourceMetadata and tfprotov6.ListResourceMetadata types.
typeListResult¶added inv1.16.0
type ListResult struct {// Identity is the identity of the managed resource instance. A nil value// will raise an error diagnostic.Identity *tfsdk.ResourceIdentity// Resource is the provider's representation of the attributes of the// listed managed resource instance.//// If [ListRequest.IncludeResource] is true, a nil value will raise// a warning diagnostic.Resource *tfsdk.Resource// DisplayName is a provider-defined human-readable description of the// listed managed resource instance, intended for CLI and browser UIs.DisplayNamestring// Diagnostics report errors or warnings related to the listed managed// resource instance. An empty slice indicates a successful operation with// no warnings or errors generated.Diagnosticsdiag.Diagnostics}ListResult represents a listed managed resource instance.
funcListResultError¶added inv1.16.0
func ListResultError(summarystring, detailstring)ListResult
typeListResultsStream¶added inv1.16.0
type ListResultsStream struct {// Results is a function that emits [ListResult] values via its push// function argument.Resultsiter.Seq[ListResult]}ListResultsStream represents a streaming response to aListRequest. Aninstance of this struct is supplied as an argument to the provider's Listfunction. The provider should set a Results iterator function that pusheszero or more results of typeListResult.
For convenience, a provider implementation may choose to convert a slice ofresults into an iterator usingslices.Values.
typeModifyAttributePlanRequest¶added inv1.0.0
type ModifyAttributePlanRequest struct {// AttributePath is the path of the attribute. Use this path for any// response diagnostics.AttributePathpath.Path// AttributePathExpression is the expression matching the exact path of the// attribute.AttributePathExpressionpath.Expression// Config is the configuration the user supplied for the resource.Configtfsdk.Config// State is the current state of the resource.Statetfsdk.State// Plan is the planned new state for the resource.Plantfsdk.Plan// AttributeConfig is the configuration the user supplied for the attribute.AttributeConfigattr.Value// AttributeState is the current state of the attribute.AttributeStateattr.Value// AttributePlan is the planned new state for the attribute.AttributePlanattr.Value// ProviderMeta is metadata from the provider_meta block of the module.ProviderMetatfsdk.Config// Private is provider-defined resource private state data which was previously// stored with the resource state. This data is opaque to Terraform and does// not affect plan output. Any existing data is copied to// ModifyAttributePlanResponse.Private to prevent accidental private state data loss.//// The private state data is always the original data when the schema-based plan// modification began or, is updated as the logic traverses deeper into underlying// attributes.//// Use the GetKey method to read data. Use the SetKey method on// ModifyAttributePlanResponse.Private to update or remove a value.Private *privatestate.ProviderData}ModifyAttributePlanRequest represents a request for the provider to modify anattribute value, or mark it as requiring replacement, at plan time. Aninstance of this request struct is supplied as an argument to the Modifyfunction of an attribute's plan modifier(s).
typeModifyAttributePlanResponse¶added inv0.12.0
type ModifyAttributePlanResponse struct {AttributePlanattr.ValueDiagnosticsdiag.DiagnosticsRequiresReplacepath.PathsPrivate *privatestate.ProviderData}typeModifySchemaPlanRequest¶added inv0.9.0
type ModifySchemaPlanRequest struct {// Config is the configuration the user supplied for the resource.Configtfsdk.Config// State is the current state of the resource.Statetfsdk.State// Plan is the planned new state for the resource.Plantfsdk.Plan// ProviderMeta is metadata from the provider_meta block of the module.ProviderMetatfsdk.Config// Private is provider private state data.Private *privatestate.ProviderData}ModifySchemaPlanRequest represents a request for a schema to run allattribute plan modification functions.
typeModifySchemaPlanResponse¶added inv0.9.0
type ModifySchemaPlanResponse struct {// Plan is the planned new state for the resource.Plantfsdk.Plan// RequiresReplace is a list of attribute paths that require the// resource to be replaced. They should point to the specific field// that changed that requires the resource to be destroyed and// recreated.RequiresReplacepath.Paths// Private is provider private state data following potential modifications.Private *privatestate.ProviderData// Diagnostics report errors or warnings related to running all attribute// plan modifiers. Returning an empty slice indicates a successful// plan modification with no warnings or errors generated.Diagnosticsdiag.Diagnostics}ModifySchemaPlanResponse represents a response to a ModifySchemaPlanRequest.
typeMoveResourceStateRequest¶added inv1.6.0
type MoveResourceStateRequest struct {// SourcePrivate is the private state of the source resource as given by// Terraform across the protocol.SourcePrivate *privatestate.Data// SourceProviderAddress is the address of the source provider as given by// Terraform across the protocol.SourceProviderAddressstring// SourceSchemaVersion is the version of the source resource schema as given// by Terraform across the protocol.SourceSchemaVersionint64// SourceRawState is the raw state of the source resource as given by// Terraform across the protocol.//// Using the tfprotov6 type here was a pragmatic effort decision around when// the framework introduced compatibility promises. This type was chosen as// it was readily available and trivial to convert between tfprotov5.//// Using a terraform-plugin-go type is not ideal for the framework as almost// all terraform-plugin-go types have framework abstractions, but if there// is ever a time where it makes sense to re-evaluate this decision, such as// a major version bump, it could be changed then.// Reference:https://github.com/hashicorp/terraform-plugin-framework/issues/340SourceRawState *tfprotov6.RawState// SourceTypeName is the type name of the source resource as given by// Terraform across the protocol.SourceTypeNamestring// TargetResource is the provider-defined resource implementation as// determined by the framework looking up the resource name from the// provider.Provider implementation Resources method defined by the// provider developer.TargetResourceresource.Resource// TargetResourceSchema is the evaluated schema definition of the target// resource as determined by the framework calling the resource.Resource// implementation Schema method defined by the provider developer.TargetResourceSchemafwschema.Schema// TargetTypeName is the type name of the target resource as given by// Terraform across the protocol.TargetTypeNamestring// SourceIdentity is the identity of the source resource.//// Only the underlying JSON field is populated.SourceIdentity *tfprotov6.RawState// SourceIdentitySchemaVersion is the version of the source resource state.SourceIdentitySchemaVersionint64IdentitySchemafwschema.Schema}MoveResourceStateRequest is the framework server request for theMoveResourceState RPC.
typeMoveResourceStateResponse¶added inv1.6.0
type MoveResourceStateResponse struct {Diagnosticsdiag.DiagnosticsTargetPrivate *privatestate.DataTargetState *tfsdk.StateTargetIdentity *tfsdk.ResourceIdentity}MoveResourceStateResponse is the framework server response for theMoveResourceState RPC.
typeOpenEphemeralResourceRequest¶added inv1.13.0
type OpenEphemeralResourceRequest struct {ClientCapabilitiesephemeral.OpenClientCapabilitiesConfig *tfsdk.ConfigEphemeralResourceSchemafwschema.SchemaEphemeralResourceephemeral.EphemeralResource}OpenEphemeralResourceRequest is the framework server request for theOpenEphemeralResource RPC.
typeOpenEphemeralResourceResponse¶added inv1.13.0
type OpenEphemeralResourceResponse struct {Result *tfsdk.EphemeralResultDataPrivate *privatestate.DataDiagnosticsdiag.DiagnosticsRenewAttime.TimeDeferred *ephemeral.Deferred}OpenEphemeralResourceResponse is the framework server response for theOpenEphemeralResource RPC.
typePlanActionRequest¶added inv1.16.0
type PlanActionRequest struct {ClientCapabilitiesaction.ModifyPlanClientCapabilitiesActionSchemafwschema.SchemaActionaction.ActionConfig *tfsdk.Config}PlanActionRequest is the framework server request for the PlanAction RPC.
typePlanActionResponse¶added inv1.16.0
type PlanActionResponse struct {Deferred *action.DeferredDiagnosticsdiag.Diagnostics}PlanActionResponse is the framework server response for the PlanAction RPC.
typePlanResourceChangeRequest¶added inv0.9.0
type PlanResourceChangeRequest struct {ClientCapabilitiesresource.ModifyPlanClientCapabilitiesConfig *tfsdk.ConfigPriorPrivate *privatestate.DataPriorState *tfsdk.StatePriorIdentity *tfsdk.ResourceIdentityProposedNewState *tfsdk.PlanProviderMeta *tfsdk.ConfigResourceSchemafwschema.SchemaIdentitySchemafwschema.SchemaResourceresource.ResourceResourceBehaviorresource.ResourceBehavior}PlanResourceChangeRequest is the framework server request for thePlanResourceChange RPC.
typePlanResourceChangeResponse¶added inv0.9.0
type PlanResourceChangeResponse struct {Deferred *resource.DeferredDiagnosticsdiag.DiagnosticsPlannedPrivate *privatestate.DataPlannedState *tfsdk.StatePlannedIdentity *tfsdk.ResourceIdentityRequiresReplacepath.Paths}PlanResourceChangeResponse is the framework server response for thePlanResourceChange RPC.
typeReadDataSourceRequest¶added inv0.9.0
type ReadDataSourceRequest struct {ClientCapabilitiesdatasource.ReadClientCapabilitiesConfig *tfsdk.ConfigDataSourceSchemafwschema.SchemaDataSourcedatasource.DataSourceProviderMeta *tfsdk.Config}ReadDataSourceRequest is the framework server request for theReadDataSource RPC.
typeReadDataSourceResponse¶added inv0.9.0
type ReadDataSourceResponse struct {Deferred *datasource.DeferredDiagnosticsdiag.DiagnosticsState *tfsdk.State}ReadDataSourceResponse is the framework server response for theReadDataSource RPC.
typeReadResourceRequest¶added inv0.9.0
type ReadResourceRequest struct {ClientCapabilitiesresource.ReadClientCapabilitiesIdentitySchemafwschema.SchemaCurrentIdentity *tfsdk.ResourceIdentityCurrentState *tfsdk.StateResourceresource.ResourcePrivate *privatestate.DataProviderMeta *tfsdk.ConfigResourceBehaviorresource.ResourceBehavior}ReadResourceRequest is the framework server request for theReadResource RPC.
typeReadResourceResponse¶added inv0.9.0
type ReadResourceResponse struct {Deferred *resource.DeferredDiagnosticsdiag.DiagnosticsNewState *tfsdk.StateNewIdentity *tfsdk.ResourceIdentityPrivate *privatestate.Data}ReadResourceResponse is the framework server response for theReadResource RPC.
typeRenewEphemeralResourceRequest¶added inv1.13.0
type RenewEphemeralResourceRequest struct {Private *privatestate.DataEphemeralResourceSchemafwschema.SchemaEphemeralResourceephemeral.EphemeralResource}RenewEphemeralResourceRequest is the framework server request for theRenewEphemeralResource RPC.
typeRenewEphemeralResourceResponse¶added inv1.13.0
type RenewEphemeralResourceResponse struct {Private *privatestate.DataDiagnosticsdiag.DiagnosticsRenewAttime.Time}RenewEphemeralResourceResponse is the framework server response for theRenewEphemeralResource RPC.
typeResourceMetadata¶added inv1.4.0
type ResourceMetadata struct {// TypeName is the name of the managed resource.TypeNamestring}ResourceMetadata is the framework server equivalent of thetfprotov5.ResourceMetadata and tfprotov6.ResourceMetadata types.
typeSchemaSemanticEqualityRequest¶added inv1.3.0
type SchemaSemanticEqualityRequest struct {// PriorData is the prior schema-based data.PriorDatafwschemadata.Data// ProposedNewData is the proposed new schema-based data. The response// NewData contains the results of any modifications.ProposedNewDatafwschemadata.Data}SchemaSemanticEqualityRequest represents a request for a schema to run allsemantic equality logic.
typeSchemaSemanticEqualityResponse¶added inv1.3.0
type SchemaSemanticEqualityResponse struct {// NewData is the new schema-based data after any modifications.NewDatafwschemadata.Data// Diagnostics report errors or warnings related to running all attribute// plan modifiers. Returning an empty slice indicates a successful// plan modification with no warnings or errors generated.Diagnosticsdiag.Diagnostics}SchemaSemanticEqualityResponse represents a response to aSchemaSemanticEqualityRequest.
typeServer¶
type Server struct {Providerprovider.Provider// DataSourceConfigureData is the// [provider.ConfigureResponse.DataSourceData] field value which is passed// to [datasource.ConfigureRequest.ProviderData].DataSourceConfigureDataany// ResourceConfigureData is the// [provider.ConfigureResponse.ResourceData] field value which is passed// to [resource.ConfigureRequest.ProviderData].ResourceConfigureDataany// EphemeralResourceConfigureData is the// [provider.ConfigureResponse.EphemeralResourceData] field value which is passed// to [ephemeral.ConfigureRequest.ProviderData].EphemeralResourceConfigureDataany// ListResourceConfigureData is the// [provider.ConfigureResponse.ListResourceData] field value which is passed// to [list.ConfigureRequest.ProviderData].ListResourceConfigureDataany// ActionConfigureData is the// [provider.ConfigureResponse.ActionData] field value which is passed// to [action.ConfigureRequest.ProviderData].ActionConfigureDataany// contains filtered or unexported fields}Server implements the framework provider server. Protocol specificimplementations wrap this handling along with calling all request andresponse type conversions.
func (*Server)ActionFuncs¶added inv1.16.0
ActionFuncs returns a map of Action functions. The results are cachedon first use.
func (*Server)ActionMetadatas¶added inv1.16.0
func (s *Server) ActionMetadatas(ctxcontext.Context) ([]ActionMetadata,diag.Diagnostics)
ActionMetadatas returns a slice of ActionMetadata for the GetMetadataRPC.
func (*Server)ActionSchema¶added inv1.16.0
func (s *Server) ActionSchema(ctxcontext.Context, actionTypestring) (actionschema.Schema,diag.Diagnostics)
ActionSchema returns the Action Schema for the given type name andcaches the result for later Action operations.
func (*Server)ActionSchemas¶added inv1.16.0
func (s *Server) ActionSchemas(ctxcontext.Context) (map[string]actionschema.Schema,diag.Diagnostics)
ActionSchemas returns a map of Action Schemas for theGetProviderSchema RPC without caching since not all schemas are guaranteed tobe necessary for later provider operations. The schema implementations arealso validated.
func (*Server)ApplyResourceChange¶added inv0.9.0
func (s *Server) ApplyResourceChange(ctxcontext.Context, req *ApplyResourceChangeRequest, resp *ApplyResourceChangeResponse)
ApplyResourceChange implements the framework server ApplyResourceChange RPC.
func (*Server)CallFunction¶added inv1.5.0
func (s *Server) CallFunction(ctxcontext.Context, req *CallFunctionRequest, resp *CallFunctionResponse)
CallFunction implements the framework server CallFunction RPC.
func (*Server)CloseEphemeralResource¶added inv1.13.0
func (s *Server) CloseEphemeralResource(ctxcontext.Context, req *CloseEphemeralResourceRequest, resp *CloseEphemeralResourceResponse)
CloseEphemeralResource implements the framework server CloseEphemeralResource RPC.
func (*Server)ConfigureProvider¶added inv0.9.0
func (s *Server) ConfigureProvider(ctxcontext.Context, req *provider.ConfigureRequest, resp *provider.ConfigureResponse)
ConfigureProvider implements the framework server ConfigureProvider RPC.
func (*Server)CreateResource¶added inv0.9.0
func (s *Server) CreateResource(ctxcontext.Context, req *CreateResourceRequest, resp *CreateResourceResponse)
CreateResource implements the framework server create request logic for theApplyResourceChange RPC.
func (*Server)DataSource¶added inv0.12.0
func (s *Server) DataSource(ctxcontext.Context, typeNamestring) (datasource.DataSource,diag.Diagnostics)
DataSource returns the DataSource for a given type name.
func (*Server)DataSourceFuncs¶added inv0.12.0
func (s *Server) DataSourceFuncs(ctxcontext.Context) (map[string]func()datasource.DataSource,diag.Diagnostics)
DataSourceFuncs returns a map of DataSource functions. The results are cachedon first use.
func (*Server)DataSourceMetadatas¶added inv1.4.0
func (s *Server) DataSourceMetadatas(ctxcontext.Context) ([]DataSourceMetadata,diag.Diagnostics)
DataSourceMetadatas returns a slice of DataSourceMetadata for the GetMetadataRPC.
func (*Server)DataSourceSchema¶added inv0.9.0
func (s *Server) DataSourceSchema(ctxcontext.Context, typeNamestring) (fwschema.Schema,diag.Diagnostics)
DataSourceSchema returns the DataSource Schema for the given type name andcaches the result for later DataSource operations.
func (*Server)DataSourceSchemas¶added inv0.9.0
func (s *Server) DataSourceSchemas(ctxcontext.Context) (map[string]fwschema.Schema,diag.Diagnostics)
DataSourceSchemas returns a map of DataSource Schemas for theGetProviderSchema RPC without caching since not all schemas are guaranteed tobe necessary for later provider operations. The schema implementations arealso validated.
func (*Server)DeleteResource¶added inv0.9.0
func (s *Server) DeleteResource(ctxcontext.Context, req *DeleteResourceRequest, resp *DeleteResourceResponse)
DeleteResource implements the framework server delete request logic for theApplyResourceChange RPC.
func (*Server)EphemeralResource¶added inv1.13.0
func (s *Server) EphemeralResource(ctxcontext.Context, typeNamestring) (ephemeral.EphemeralResource,diag.Diagnostics)
EphemeralResource returns the EphemeralResource for a given type name.
func (*Server)EphemeralResourceFuncs¶added inv1.13.0
func (s *Server) EphemeralResourceFuncs(ctxcontext.Context) (map[string]func()ephemeral.EphemeralResource,diag.Diagnostics)
EphemeralResourceFuncs returns a map of EphemeralResource functions. The results are cachedon first use.
func (*Server)EphemeralResourceMetadatas¶added inv1.13.0
func (s *Server) EphemeralResourceMetadatas(ctxcontext.Context) ([]EphemeralResourceMetadata,diag.Diagnostics)
EphemeralResourceMetadatas returns a slice of EphemeralResourceMetadata for the GetMetadataRPC.
func (*Server)EphemeralResourceSchema¶added inv1.13.0
func (s *Server) EphemeralResourceSchema(ctxcontext.Context, typeNamestring) (fwschema.Schema,diag.Diagnostics)
EphemeralResourceSchema returns the EphemeralResource Schema for the given type name andcaches the result for later EphemeralResource operations.
func (*Server)EphemeralResourceSchemas¶added inv1.13.0
func (s *Server) EphemeralResourceSchemas(ctxcontext.Context) (map[string]fwschema.Schema,diag.Diagnostics)
EphemeralResourceSchemas returns a map of EphemeralResource Schemas for theGetProviderSchema RPC without caching since not all schemas are guaranteed tobe necessary for later provider operations. The schema implementations arealso validated.
func (*Server)FunctionDefinition¶added inv1.5.0
func (s *Server) FunctionDefinition(ctxcontext.Context, namestring) (function.Definition, *function.FuncError)
FunctionDefinition returns the Function Definition for the given name andcaches the result for later Function operations.
func (*Server)FunctionDefinitions¶added inv1.5.0
func (s *Server) FunctionDefinitions(ctxcontext.Context) (map[string]function.Definition,diag.Diagnostics)
FunctionDefinitions returns a map of Function Definitions for theGetProviderSchema RPC without caching since not all definitions areguaranteed to be necessary for later provider operations. The definitionimplementations are also validated.
func (*Server)FunctionFuncs¶added inv1.5.0
func (s *Server) FunctionFuncs(ctxcontext.Context) (map[string]func()function.Function,diag.Diagnostics)
FunctionFuncs returns a map of Function functions. The results are cachedon first use.
func (*Server)FunctionMetadatas¶added inv1.5.0
func (s *Server) FunctionMetadatas(ctxcontext.Context) ([]FunctionMetadata,diag.Diagnostics)
FunctionMetadatas returns a slice of FunctionMetadata for the GetMetadataRPC.
func (*Server)GetFunctions¶added inv1.5.0
func (s *Server) GetFunctions(ctxcontext.Context, req *GetFunctionsRequest, resp *GetFunctionsResponse)
GetFunctions implements the framework server GetFunctions RPC.
func (*Server)GetMetadata¶added inv1.4.0
func (s *Server) GetMetadata(ctxcontext.Context, req *GetMetadataRequest, resp *GetMetadataResponse)
GetMetadata implements the framework server GetMetadata RPC.
func (*Server)GetProviderSchema¶
func (s *Server) GetProviderSchema(ctxcontext.Context, req *GetProviderSchemaRequest, resp *GetProviderSchemaResponse)
GetProviderSchema implements the framework server GetProviderSchema RPC.
func (*Server)GetResourceIdentitySchemas¶added inv1.15.0
func (s *Server) GetResourceIdentitySchemas(ctxcontext.Context, req *GetResourceIdentitySchemasRequest, resp *GetResourceIdentitySchemasResponse)
GetResourceIdentitySchemas implements the framework server GetResourceIdentitySchemas RPC.
func (*Server)ImportResourceState¶added inv0.9.0
func (s *Server) ImportResourceState(ctxcontext.Context, req *ImportResourceStateRequest, resp *ImportResourceStateResponse)
ImportResourceState implements the framework server ImportResourceState RPC.
func (*Server)InvokeAction¶added inv1.16.0
func (s *Server) InvokeAction(ctxcontext.Context, req *InvokeActionRequest, resp *InvokeActionResponse)
InvokeAction implements the framework server InvokeAction RPC.
func (*Server)ListResource¶added inv1.16.0
func (s *Server) ListResource(ctxcontext.Context, fwReq *ListRequest, fwStream *ListResultsStream)
ListResource implements the framework server ListResource RPC.
func (*Server)ListResourceFuncs¶added inv1.16.0
func (s *Server) ListResourceFuncs(ctxcontext.Context) (map[string]func()list.ListResource,diag.Diagnostics)
ListResourceFuncs returns a map of ListResource functions. The results arecached on first use.
func (*Server)ListResourceMetadatas¶added inv1.16.0
func (s *Server) ListResourceMetadatas(ctxcontext.Context) ([]ListResourceMetadata,diag.Diagnostics)
ListResourceMetadatas returns a slice of ListResourceMetadata for the GetMetadataRPC.
func (*Server)ListResourceSchema¶added inv1.16.0
func (s *Server) ListResourceSchema(ctxcontext.Context, typeNamestring) (fwschema.Schema,diag.Diagnostics)
ListResourceSchema returns the ListResource Schema for the given type name andcaches the result for later ListResource operations.
func (*Server)ListResourceSchemas¶added inv1.16.0
func (s *Server) ListResourceSchemas(ctxcontext.Context) (map[string]fwschema.Schema,diag.Diagnostics)
ListResourceSchemas returns a map of ListResource Schemas for theGetProviderSchema RPC without caching since not all schemas are guaranteed tobe necessary for later provider operations. The schema implementations arealso validated.
func (*Server)ListResourceType¶added inv1.16.0
func (s *Server) ListResourceType(ctxcontext.Context, typeNamestring) (list.ListResource,diag.Diagnostics)
func (*Server)MoveResourceState¶added inv1.6.0
func (s *Server) MoveResourceState(ctxcontext.Context, req *MoveResourceStateRequest, resp *MoveResourceStateResponse)
MoveResourceState implements the framework server MoveResourceState RPC.
func (*Server)OpenEphemeralResource¶added inv1.13.0
func (s *Server) OpenEphemeralResource(ctxcontext.Context, req *OpenEphemeralResourceRequest, resp *OpenEphemeralResourceResponse)
OpenEphemeralResource implements the framework server OpenEphemeralResource RPC.
func (*Server)PlanAction¶added inv1.16.0
func (s *Server) PlanAction(ctxcontext.Context, req *PlanActionRequest, resp *PlanActionResponse)
PlanAction implements the framework server PlanAction RPC.
func (*Server)PlanResourceChange¶added inv0.9.0
func (s *Server) PlanResourceChange(ctxcontext.Context, req *PlanResourceChangeRequest, resp *PlanResourceChangeResponse)
PlanResourceChange implements the framework server PlanResourceChange RPC.
func (*Server)ProviderMetaSchema¶added inv0.9.0
ProviderMetaSchema returns the Meta Schema associated with the Provider, ifit implements the ProviderWithMetaSchema interface. The Schema andDiagnostics are cached on first use.
func (*Server)ProviderSchema¶added inv0.9.0
ProviderSchema returns the Schema associated with the Provider. The Schemaand Diagnostics are cached on first use.
func (*Server)ProviderTypeName¶added inv1.4.1
ProviderTypeName returns the TypeName associated with the Provider. The TypeName is cached on first use.
func (*Server)ReadDataSource¶added inv0.9.0
func (s *Server) ReadDataSource(ctxcontext.Context, req *ReadDataSourceRequest, resp *ReadDataSourceResponse)
ReadDataSource implements the framework server ReadDataSource RPC.
func (*Server)ReadResource¶added inv0.9.0
func (s *Server) ReadResource(ctxcontext.Context, req *ReadResourceRequest, resp *ReadResourceResponse)
ReadResource implements the framework server ReadResource RPC.
func (*Server)RenewEphemeralResource¶added inv1.13.0
func (s *Server) RenewEphemeralResource(ctxcontext.Context, req *RenewEphemeralResourceRequest, resp *RenewEphemeralResourceResponse)
RenewEphemeralResource implements the framework server RenewEphemeralResource RPC.
func (*Server)ResourceBehavior¶added inv1.9.0
func (s *Server) ResourceBehavior(ctxcontext.Context, typeNamestring) (resource.ResourceBehavior,diag.Diagnostics)
ResourceBehavior returns the ResourceBehavior for a given type name.
func (*Server)ResourceBehaviors¶added inv1.9.0
func (s *Server) ResourceBehaviors(ctxcontext.Context) (map[string]resource.ResourceBehavior,diag.Diagnostics)
ResourceBehaviors returns a map of ResourceBehavior. The results are cachedon first use.
func (*Server)ResourceFuncs¶added inv0.12.0
func (s *Server) ResourceFuncs(ctxcontext.Context) (map[string]func()resource.Resource,diag.Diagnostics)
ResourceFuncs returns a map of Resource functions. The results are cachedon first use.
func (*Server)ResourceIdentitySchema¶added inv1.15.0
func (s *Server) ResourceIdentitySchema(ctxcontext.Context, typeNamestring) (fwschema.Schema,diag.Diagnostics)
ResourceIdentitySchema returns the Resource Identity Schema for the given type name andcaches the result for later Identity operations. Identity is an optional feature for resources,so this function will return a nil schema with no diagnostics if the resource type doesn't definean identity schema.
func (*Server)ResourceIdentitySchemas¶added inv1.15.0
func (s *Server) ResourceIdentitySchemas(ctxcontext.Context) (map[string]fwschema.Schema,diag.Diagnostics)
ResourceIdentitySchemas returns a map of Resource Identity Schemas for theGetResourceIdentitySchemas RPC without caching since not all schemas are guaranteed tobe necessary for later provider operations. The schema implementations arealso validated.
func (*Server)ResourceMetadatas¶added inv1.4.0
func (s *Server) ResourceMetadatas(ctxcontext.Context) ([]ResourceMetadata,diag.Diagnostics)
ResourceMetadatas returns a slice of ResourceMetadata for the GetMetadataRPC.
func (*Server)ResourceSchema¶added inv0.9.0
func (s *Server) ResourceSchema(ctxcontext.Context, typeNamestring) (fwschema.Schema,diag.Diagnostics)
ResourceSchema returns the Resource Schema for the given type name andcaches the result for later Resource operations.
func (*Server)ResourceSchemas¶added inv0.9.0
ResourceSchemas returns a map of Resource Schemas for theGetProviderSchema RPC without caching since not all schemas are guaranteed tobe necessary for later provider operations. The schema implementations arealso validated.
func (*Server)ServerCapabilities¶added inv1.4.0
func (s *Server) ServerCapabilities() *ServerCapabilities
ServerCapabilities returns the server capabilities.
func (*Server)UpdateResource¶added inv0.9.0
func (s *Server) UpdateResource(ctxcontext.Context, req *UpdateResourceRequest, resp *UpdateResourceResponse)
UpdateResource implements the framework server update request logic for theApplyResourceChange RPC.
func (*Server)UpgradeResourceIdentity¶added inv1.15.0
func (s *Server) UpgradeResourceIdentity(ctxcontext.Context, req *UpgradeResourceIdentityRequest, resp *UpgradeResourceIdentityResponse)
UpgradeResourceIdentity implements the framework server UpgradeResourceIdentity RPC.
func (*Server)UpgradeResourceState¶added inv0.9.0
func (s *Server) UpgradeResourceState(ctxcontext.Context, req *UpgradeResourceStateRequest, resp *UpgradeResourceStateResponse)
UpgradeResourceState implements the framework server UpgradeResourceState RPC.
func (*Server)ValidateActionConfig¶added inv1.16.0
func (s *Server) ValidateActionConfig(ctxcontext.Context, req *ValidateActionConfigRequest, resp *ValidateActionConfigResponse)
ValidateActionConfig implements the framework server ValidateActionConfig RPC.
func (*Server)ValidateDataSourceConfig¶added inv0.9.0
func (s *Server) ValidateDataSourceConfig(ctxcontext.Context, req *ValidateDataSourceConfigRequest, resp *ValidateDataSourceConfigResponse)
ValidateDataSourceConfig implements the framework server ValidateDataSourceConfig RPC.
func (*Server)ValidateEphemeralResourceConfig¶added inv1.13.0
func (s *Server) ValidateEphemeralResourceConfig(ctxcontext.Context, req *ValidateEphemeralResourceConfigRequest, resp *ValidateEphemeralResourceConfigResponse)
ValidateEphemeralResourceConfig implements the framework server ValidateEphemeralResourceConfig RPC.
func (*Server)ValidateListResourceConfig¶added inv1.16.0
func (s *Server) ValidateListResourceConfig(ctxcontext.Context, req *ValidateListResourceConfigRequest, resp *ValidateListResourceConfigResponse)
ValidateListResourceConfig implements the framework server ValidateListResourceConfig RPC.
func (*Server)ValidateProviderConfig¶added inv0.9.0
func (s *Server) ValidateProviderConfig(ctxcontext.Context, req *ValidateProviderConfigRequest, resp *ValidateProviderConfigResponse)
ValidateProviderConfig implements the framework server ValidateProviderConfig RPC.
func (*Server)ValidateResourceConfig¶added inv0.9.0
func (s *Server) ValidateResourceConfig(ctxcontext.Context, req *ValidateResourceConfigRequest, resp *ValidateResourceConfigResponse)
ValidateResourceConfig implements the framework server ValidateResourceConfig RPC.
typeServerCapabilities¶added inv0.10.0
type ServerCapabilities struct {// GetProviderSchemaOptional signals that the provider does not require the// GetProviderSchema RPC before other RPCs.//// This should always be enabled in framework providers and requires// Terraform 1.6 or later.GetProviderSchemaOptionalbool// MoveResourceState signals that the provider is ready for the// MoveResourceState RPC.//// This should always be enabled in framework providers and requires// Terraform 1.8 or later.MoveResourceStatebool// PlanDestroy signals that the provider is ready for the// PlanResourceChange RPC on resource destruction.//// This should always be enabled in framework providers and requires// Terraform 1.3 or later.PlanDestroybool}ServerCapabilities is a combination of tfprotov5.ServerCapabilities andtfprotov6.ServerCapabilties, which may diverge over time. If that happens,the toproto5 conversion logic will handle the appropriate filtering and theproto5server/fwserver logic will need to account for missing features.
typeUpdateResourceRequest¶added inv0.9.0
type UpdateResourceRequest struct {Config *tfsdk.ConfigPlannedPrivate *privatestate.DataPlannedState *tfsdk.PlanPlannedIdentity *tfsdk.ResourceIdentityPriorState *tfsdk.StateProviderMeta *tfsdk.ConfigResourceSchemafwschema.SchemaIdentitySchemafwschema.SchemaResourceresource.ResourceResourceBehaviorresource.ResourceBehavior}UpdateResourceRequest is the framework server request for an update requestwith the ApplyResourceChange RPC.
typeUpdateResourceResponse¶added inv0.9.0
type UpdateResourceResponse struct {Diagnosticsdiag.DiagnosticsNewState *tfsdk.StateNewIdentity *tfsdk.ResourceIdentityPrivate *privatestate.Data}UpdateResourceResponse is the framework server response for an update requestwith the ApplyResourceChange RPC.
typeUpgradeResourceIdentityRequest¶added inv1.15.0
type UpgradeResourceIdentityRequest struct {Resourceresource.ResourceIdentitySchemafwschema.Schema// TypeName is the type of resource that Terraform needs to upgrade the// identity state for.TypeNamestring// Version is the version of the identity state the resource currently has.Versionint64// Using a terraform-plugin-go type is not ideal for the framework as almost// all terraform-plugin-go types have framework abstractions, but if there// is ever a time where it makes sense to re-evaluate this decision, such as// a major version bump, it could be changed then.// Reference:https://github.com/hashicorp/terraform-plugin-framework/issues/340RawState *tfprotov6.RawState}UpgradeResourceIdentityRequest is the framework server request for theUpgradeResourceIdentity RPC.
typeUpgradeResourceIdentityResponse¶added inv1.15.0
type UpgradeResourceIdentityResponse struct {UpgradedIdentity *tfsdk.ResourceIdentityDiagnosticsdiag.Diagnostics}UpgradeResourceIdentityResponse is the framework server response for theUpgradeResourceIdentity RPC.
typeUpgradeResourceStateRequest¶added inv0.9.0
type UpgradeResourceStateRequest struct {// Using the tfprotov6 type here was a pragmatic effort decision around when// the framework introduced compatibility promises. This type was chosen as// it was readily available and trivial to convert between tfprotov5.//// Using a terraform-plugin-go type is not ideal for the framework as almost// all terraform-plugin-go types have framework abstractions, but if there// is ever a time where it makes sense to re-evaluate this decision, such as// a major version bump, it could be changed then.// Reference:https://github.com/hashicorp/terraform-plugin-framework/issues/340RawState *tfprotov6.RawStateResourceSchemafwschema.SchemaResourceresource.ResourceVersionint64}UpgradeResourceStateRequest is the framework server request for theUpgradeResourceState RPC.
typeUpgradeResourceStateResponse¶added inv0.9.0
type UpgradeResourceStateResponse struct {Diagnosticsdiag.DiagnosticsUpgradedState *tfsdk.State}UpgradeResourceStateResponse is the framework server response for theUpgradeResourceState RPC.
typeValidateActionConfigRequest¶added inv1.16.0
ValidateActionConfigRequest is the framework server request for theValidateActionConfig RPC.
typeValidateActionConfigResponse¶added inv1.16.0
type ValidateActionConfigResponse struct {Diagnosticsdiag.Diagnostics}ValidateActionConfigResponse is the framework server response for theValidateActionConfig RPC.
typeValidateAttributeRequest¶added inv1.0.0
type ValidateAttributeRequest struct {// AttributePath contains the path of the attribute. Use this path for any// response diagnostics.AttributePathpath.Path// AttributePathExpression contains the expression matching the exact path// of the attribute.AttributePathExpressionpath.Expression// AttributeConfig contains the value of the attribute in the configuration.AttributeConfigattr.Value// Config contains the entire configuration of the data source, provider, or resource.Configtfsdk.Config// ClientCapabilities defines optionally supported protocol features for// schema validation RPCs, such as forward-compatible Terraform// behavior changes.ClientCapabilitiesvalidator.ValidateSchemaClientCapabilities}ValidateAttributeRequest repesents a request for attribute validation.
typeValidateAttributeResponse¶added inv1.0.0
type ValidateAttributeResponse struct {// Diagnostics report errors or warnings related to validating the data// source configuration. An empty slice indicates success, with no warnings// or errors generated.Diagnosticsdiag.Diagnostics}ValidateAttributeResponse represents a response to aValidateAttributeRequest. An instance of this response struct isautomatically passed through to each AttributeValidator.
typeValidateDataSourceConfigRequest¶added inv0.9.0
type ValidateDataSourceConfigRequest struct {Config *tfsdk.ConfigDataSourcedatasource.DataSource}ValidateDataSourceConfigRequest is the framework server request for theValidateDataSourceConfig RPC.
typeValidateDataSourceConfigResponse¶added inv0.9.0
type ValidateDataSourceConfigResponse struct {Diagnosticsdiag.Diagnostics}ValidateDataSourceConfigResponse is the framework server response for theValidateDataSourceConfig RPC.
typeValidateEphemeralResourceConfigRequest¶added inv1.13.0
type ValidateEphemeralResourceConfigRequest struct {Config *tfsdk.ConfigEphemeralResourceephemeral.EphemeralResource}ValidateEphemeralResourceConfigRequest is the framework server request for theValidateEphemeralResourceConfig RPC.
typeValidateEphemeralResourceConfigResponse¶added inv1.13.0
type ValidateEphemeralResourceConfigResponse struct {Diagnosticsdiag.Diagnostics}ValidateEphemeralResourceConfigResponse is the framework server response for theValidateEphemeralResourceConfig RPC.
typeValidateListResourceConfigRequest¶added inv1.16.0
type ValidateListResourceConfigRequest struct {Config *tfsdk.ConfigListResourcelist.ListResource}ValidateListResourceConfigRequest is the framework server request for theValidateListResourceConfig RPC.
typeValidateListResourceConfigResponse¶added inv1.16.0
type ValidateListResourceConfigResponse struct {Diagnosticsdiag.Diagnostics}ValidateListResourceConfigResponse is the framework server response for theValidateListResourceConfig RPC.
typeValidateProviderConfigRequest¶added inv0.9.0
ValidateProviderConfigRequest is the framework server request for theValidateProviderConfig RPC.
typeValidateProviderConfigResponse¶added inv0.9.0
type ValidateProviderConfigResponse struct {PreparedConfig *tfsdk.ConfigDiagnosticsdiag.Diagnostics}ValidateProviderConfigResponse is the framework server response for theValidateProviderConfig RPC.
typeValidateResourceConfigRequest¶added inv0.9.0
type ValidateResourceConfigRequest struct {ClientCapabilitiesresource.ValidateConfigClientCapabilitiesConfig *tfsdk.ConfigResourceresource.Resource}ValidateResourceConfigRequest is the framework server request for theValidateResourceConfig RPC.
typeValidateResourceConfigResponse¶added inv0.9.0
type ValidateResourceConfigResponse struct {Diagnosticsdiag.Diagnostics}ValidateResourceConfigResponse is the framework server response for theValidateResourceConfig RPC.
typeValidateSchemaRequest¶added inv0.9.0
type ValidateSchemaRequest struct {// Config contains the entire configuration of the data source, provider, or resource.//// This configuration may contain unknown values if a user uses// interpolation or other functionality that would prevent Terraform// from knowing the value at request time.Configtfsdk.Config// ClientCapabilities defines optionally supported protocol features for// schema validation RPCs, such as forward-compatible Terraform// behavior changes.ClientCapabilitiesvalidator.ValidateSchemaClientCapabilities}ValidateSchemaRequest repesents a request for validating a Schema.
typeValidateSchemaResponse¶added inv0.9.0
type ValidateSchemaResponse struct {// Diagnostics report errors or warnings related to validating the schema.// An empty slice indicates success, with no warnings or errors generated.Diagnosticsdiag.Diagnostics}ValidateSchemaResponse represents a response to aValidateSchemaRequest.
Source Files¶
- attr_type.go
- attr_value.go
- attribute_plan_modification.go
- attribute_validation.go
- block_plan_modification.go
- block_validation.go
- diagnostics.go
- doc.go
- schema_plan_modification.go
- schema_semantic_equality.go
- schema_validation.go
- server.go
- server_actions.go
- server_applyresourcechange.go
- server_callfunction.go
- server_capabilities.go
- server_closeephemeralresource.go
- server_configureprovider.go
- server_createresource.go
- server_deleteresource.go
- server_ephemeralresources.go
- server_functions.go
- server_getfunctions.go
- server_getmetadata.go
- server_getproviderschema.go
- server_getresourceidentityschemas.go
- server_importresourcestate.go
- server_invokeaction.go
- server_listresource.go
- server_listresources.go
- server_moveresourcestate.go
- server_openephemeralresource.go
- server_planaction.go
- server_planresourcechange.go
- server_readdatasource.go
- server_readresource.go
- server_renewephemeralresource.go
- server_updateresource.go
- server_upgraderesourceidentity.go
- server_upgraderesourcestate.go
- server_validateactionconfig.go
- server_validatedatasourceconfig.go
- server_validateephemeralresourceconfig.go
- server_validatelistresourceconfig.go
- server_validateproviderconfig.go
- server_validateresourceconfig.go
- write_only_nullification.go