Documentation ¶
Overview ¶
Package fwserver contains the framework provider server implementation. This package should only ever contain framework-native types, while specific protocol version compatible implementations, such as proto6server, are implemented on top of this abstraction.
Index ¶
- func AttributeModifyPlan(ctx context.Context, a tfsdk.Attribute, req tfsdk.ModifyAttributePlanRequest, ...)
- func AttributeValidate(ctx context.Context, a tfsdk.Attribute, req tfsdk.ValidateAttributeRequest, ...)
- func AttributeValidateNestedAttributes(ctx context.Context, a tfsdk.Attribute, req tfsdk.ValidateAttributeRequest, ...)
- func BlockModifyPlan(ctx context.Context, b tfsdk.Block, req tfsdk.ModifyAttributePlanRequest, ...)
- func BlockValidate(ctx context.Context, b tfsdk.Block, req tfsdk.ValidateAttributeRequest, ...)
- func ConfigGetAttributeValue(ctx context.Context, c tfsdk.Config, path path.Path) (attr.Value, diag.Diagnostics)
- func ConfigTerraformValueAtPath(c tfsdk.Config, path *tftypes.AttributePath) (tftypes.Value, error)
- func MarkComputedNilsAsUnknown(ctx context.Context, config tftypes.Value, resourceSchema tfsdk.Schema) func(*tftypes.AttributePath, tftypes.Value) (tftypes.Value, error)
- func NormaliseRequiresReplace(ctx context.Context, rs path.Paths) path.Paths
- func PlanGetAttributeValue(ctx context.Context, p tfsdk.Plan, path path.Path) (attr.Value, diag.Diagnostics)
- func PlanTerraformValueAtPath(p tfsdk.Plan, path *tftypes.AttributePath) (tftypes.Value, error)
- func SchemaModifyPlan(ctx context.Context, s tfsdk.Schema, req ModifySchemaPlanRequest, ...)
- func SchemaValidate(ctx context.Context, s tfsdk.Schema, req ValidateSchemaRequest, ...)
- func StateGetAttributeValue(ctx context.Context, s tfsdk.State, path path.Path) (attr.Value, diag.Diagnostics)
- func StateTerraformValueAtPath(s tfsdk.State, path *tftypes.AttributePath) (tftypes.Value, error)
- type ApplyResourceChangeRequest
- type ApplyResourceChangeResponse
- type CreateResourceRequest
- type CreateResourceResponse
- type DeleteResourceRequest
- type DeleteResourceResponse
- type GetProviderSchemaRequest
- type GetProviderSchemaResponse
- type ImportResourceStateRequest
- type ImportResourceStateResponse
- type ImportedResource
- type ModifySchemaPlanRequest
- type ModifySchemaPlanResponse
- type PlanResourceChangeRequest
- type PlanResourceChangeResponse
- type ReadDataSourceRequest
- type ReadDataSourceResponse
- type ReadResourceRequest
- type ReadResourceResponse
- type Server
- func (s *Server) ApplyResourceChange(ctx context.Context, req *ApplyResourceChangeRequest, ...)
- func (s *Server) ConfigureProvider(ctx context.Context, req *tfsdk.ConfigureProviderRequest, ...)
- func (s *Server) CreateResource(ctx context.Context, req *CreateResourceRequest, resp *CreateResourceResponse)
- func (s *Server) DataSourceSchema(ctx context.Context, typeName string) (*tfsdk.Schema, diag.Diagnostics)
- func (s *Server) DataSourceSchemas(ctx context.Context) (map[string]*tfsdk.Schema, diag.Diagnostics)
- func (s *Server) DataSourceType(ctx context.Context, typeName string) (tfsdk.DataSourceType, diag.Diagnostics)
- func (s *Server) DataSourceTypes(ctx context.Context) (map[string]tfsdk.DataSourceType, diag.Diagnostics)
- func (s *Server) DeleteResource(ctx context.Context, req *DeleteResourceRequest, resp *DeleteResourceResponse)
- func (s *Server) GetProviderSchema(ctx context.Context, req *GetProviderSchemaRequest, ...)
- func (s *Server) ImportResourceState(ctx context.Context, req *ImportResourceStateRequest, ...)
- func (s *Server) PlanResourceChange(ctx context.Context, req *PlanResourceChangeRequest, ...)
- func (s *Server) ProviderMetaSchema(ctx context.Context) (*tfsdk.Schema, diag.Diagnostics)
- func (s *Server) ProviderSchema(ctx context.Context) (*tfsdk.Schema, diag.Diagnostics)
- 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) ResourceSchema(ctx context.Context, typeName string) (*tfsdk.Schema, diag.Diagnostics)
- func (s *Server) ResourceSchemas(ctx context.Context) (map[string]*tfsdk.Schema, diag.Diagnostics)
- func (s *Server) ResourceType(ctx context.Context, typeName string) (tfsdk.ResourceType, diag.Diagnostics)
- func (s *Server) ResourceTypes(ctx context.Context) (map[string]tfsdk.ResourceType, diag.Diagnostics)
- func (s *Server) UpdateResource(ctx context.Context, req *UpdateResourceRequest, resp *UpdateResourceResponse)
- func (s *Server) UpgradeResourceState(ctx context.Context, req *UpgradeResourceStateRequest, ...)
- func (s *Server) ValidateDataSourceConfig(ctx context.Context, req *ValidateDataSourceConfigRequest, ...)
- 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 UpgradeResourceStateRequest
- type UpgradeResourceStateResponse
- type ValidateDataSourceConfigRequest
- type ValidateDataSourceConfigResponse
- type ValidateProviderConfigRequest
- type ValidateProviderConfigResponse
- type ValidateResourceConfigRequest
- type ValidateResourceConfigResponse
- type ValidateSchemaRequest
- type ValidateSchemaResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AttributeModifyPlan ¶ added in v0.9.0
func AttributeModifyPlan(ctx context.Context, a tfsdk.Attribute, req tfsdk.ModifyAttributePlanRequest, resp *ModifySchemaPlanResponse)
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 proto6server package from the tfsdk package and not wanting to export the method. Reference: https://github.com/hashicorp/terraform-plugin-framework/issues/365
func AttributeValidate ¶ added in v0.9.0
func AttributeValidate(ctx context.Context, a tfsdk.Attribute, req tfsdk.ValidateAttributeRequest, resp *tfsdk.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 proto6server package from the tfsdk package and not wanting to export the method. Reference: https://github.com/hashicorp/terraform-plugin-framework/issues/365
func AttributeValidateNestedAttributes ¶ added in v0.9.0
func AttributeValidateNestedAttributes(ctx context.Context, a tfsdk.Attribute, req tfsdk.ValidateAttributeRequest, resp *tfsdk.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 proto6server package from the tfsdk package and not wanting to export the method. Reference: https://github.com/hashicorp/terraform-plugin-framework/issues/365
func BlockModifyPlan ¶ added in v0.9.0
func BlockModifyPlan(ctx context.Context, b tfsdk.Block, req tfsdk.ModifyAttributePlanRequest, resp *ModifySchemaPlanResponse)
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 proto6server package from the tfsdk package and not wanting to export the method. Reference: https://github.com/hashicorp/terraform-plugin-framework/issues/365
func BlockValidate ¶ added in v0.9.0
func BlockValidate(ctx context.Context, b tfsdk.Block, req tfsdk.ValidateAttributeRequest, resp *tfsdk.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 proto6server package from the tfsdk package and not wanting to export the method. Reference: https://github.com/hashicorp/terraform-plugin-framework/issues/365
func ConfigGetAttributeValue ¶ added in v0.9.0
func ConfigGetAttributeValue(ctx context.Context, c tfsdk.Config, path path.Path) (attr.Value, diag.Diagnostics)
ConfigGetAttributeValue is a duplicate of tfsdk.Config.getAttributeValue, except it calls a local duplicate to Config.terraformValueAtPath as well. It is duplicated to prevent any oddities with trying to use tfsdk.Config.GetAttribute, which has some potentially undesirable logic. Refer to the tfsdk package for the large amount of testing done there.
TODO: Clean up this abstraction back into an internal Config type method. The extra Config parameter is a carry-over of creating the proto6server package from the tfsdk package and not wanting to export the method. Reference: https://github.com/hashicorp/terraform-plugin-framework/issues/366
func ConfigTerraformValueAtPath ¶ added in v0.9.0
ConfigTerraformValueAtPath is a duplicate of tfsdk.Config.terraformValueAtPath.
TODO: Clean up this abstraction back into an internal Config type method. The extra Config parameter is a carry-over of creating the proto6server package from the tfsdk package and not wanting to export the method. Reference: https://github.com/hashicorp/terraform-plugin-framework/issues/366
func MarkComputedNilsAsUnknown ¶ added in v0.9.0
func NormaliseRequiresReplace ¶ added in v0.9.0
NormaliseRequiresReplace sorts and deduplicates the slice of AttributePaths used in the RequiresReplace response field. Sorting is lexical based on the string representation of each AttributePath.
func PlanGetAttributeValue ¶ added in v0.9.0
func PlanGetAttributeValue(ctx context.Context, p tfsdk.Plan, path path.Path) (attr.Value, diag.Diagnostics)
PlanGetAttributeValue is a duplicate of tfsdk.Plan.getAttributeValue, except it calls a local duplicate to Plan.terraformValueAtPath as well. It is duplicated to prevent any oddities with trying to use tfsdk.Plan.GetAttribute, which has some potentially undesirable logic. Refer to the tfsdk package for the large amount of testing done there.
TODO: Clean up this abstraction back into an internal Plan type method. The extra Plan parameter is a carry-over of creating the proto6server package from the tfsdk package and not wanting to export the method. Reference: https://github.com/hashicorp/terraform-plugin-framework/issues/366
func PlanTerraformValueAtPath ¶ added in v0.9.0
PlanTerraformValueAtPath is a duplicate of tfsdk.Plan.terraformValueAtPath.
TODO: Clean up this abstraction back into an internal Plan type method. The extra Plan parameter is a carry-over of creating the proto6server package from the tfsdk package and not wanting to export the method. Reference: https://github.com/hashicorp/terraform-plugin-framework/issues/366
func SchemaModifyPlan ¶ added in v0.9.0
func SchemaModifyPlan(ctx context.Context, s tfsdk.Schema, req ModifySchemaPlanRequest, resp *ModifySchemaPlanResponse)
SchemaModifyPlan runs all AttributePlanModifiers in all schema attributes and blocks.
TODO: Clean up this abstraction back into an internal Schema type method. The extra Schema parameter is a carry-over of creating the proto6server package from the tfsdk package and not wanting to export the method. Reference: https://github.com/hashicorp/terraform-plugin-framework/issues/365
func SchemaValidate ¶ added in v0.9.0
func SchemaValidate(ctx context.Context, s tfsdk.Schema, req ValidateSchemaRequest, 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 proto6server package from the tfsdk package and not wanting to export the method. Reference: https://github.com/hashicorp/terraform-plugin-framework/issues/365
func StateGetAttributeValue ¶ added in v0.9.0
func StateGetAttributeValue(ctx context.Context, s tfsdk.State, path path.Path) (attr.Value, diag.Diagnostics)
StateGetAttributeValue is a duplicate of tfsdk.State.getAttributeValue, except it calls a local duplicate to State.terraformValueAtPath as well. It is duplicated to prevent any oddities with trying to use tfsdk.State.GetAttribute, which has some potentially undesirable logic. Refer to the tfsdk package for the large amount of testing done there.
TODO: Clean up this abstraction back into an internal State type method. The extra State parameter is a carry-over of creating the proto6server package from the tfsdk package and not wanting to export the method. Reference: https://github.com/hashicorp/terraform-plugin-framework/issues/366
func StateTerraformValueAtPath ¶ added in v0.9.0
StateTerraformValueAtPath is a duplicate of tfsdk.State.terraformValueAtPath.
TODO: Clean up this abstraction back into an internal State type method. The extra State parameter is a carry-over of creating the proto6server package from the tfsdk package and not wanting to export the method. Reference: https://github.com/hashicorp/terraform-plugin-framework/issues/366
Types ¶
type ApplyResourceChangeRequest ¶ added in v0.9.0
type ApplyResourceChangeRequest struct { Config *tfsdk.Config PlannedPrivate []byte PlannedState *tfsdk.Plan PriorState *tfsdk.State ProviderMeta *tfsdk.Config ResourceSchema tfsdk.Schema ResourceType tfsdk.ResourceType }
ApplyResourceChangeRequest is the framework server request for the ApplyResourceChange RPC.
type ApplyResourceChangeResponse ¶ added in v0.9.0
type ApplyResourceChangeResponse struct { Diagnostics diag.Diagnostics NewState *tfsdk.State Private []byte }
ApplyResourceChangeResponse is the framework server response for the ApplyResourceChange RPC.
type CreateResourceRequest ¶ added in v0.9.0
type CreateResourceRequest struct { Config *tfsdk.Config PlannedPrivate []byte PlannedState *tfsdk.Plan ProviderMeta *tfsdk.Config ResourceSchema tfsdk.Schema ResourceType tfsdk.ResourceType }
CreateResourceRequest is the framework server request for a create request with the ApplyResourceChange RPC.
type CreateResourceResponse ¶ added in v0.9.0
type CreateResourceResponse struct { Diagnostics diag.Diagnostics NewState *tfsdk.State Private []byte }
CreateResourceResponse is the framework server response for a create request with the ApplyResourceChange RPC.
type DeleteResourceRequest ¶ added in v0.9.0
type DeleteResourceRequest struct { PlannedPrivate []byte PriorState *tfsdk.State ProviderMeta *tfsdk.Config ResourceSchema tfsdk.Schema ResourceType tfsdk.ResourceType }
DeleteResourceRequest is the framework server request for a delete request with the ApplyResourceChange RPC.
type DeleteResourceResponse ¶ added in v0.9.0
type DeleteResourceResponse struct { Diagnostics diag.Diagnostics NewState *tfsdk.State Private []byte }
DeleteResourceResponse is the framework server response for a delete request with the ApplyResourceChange RPC.
type GetProviderSchemaRequest ¶
type GetProviderSchemaRequest struct{}
GetProviderSchemaRequest is the framework server request for the GetProviderSchema RPC.
type GetProviderSchemaResponse ¶
type GetProviderSchemaResponse struct { ServerCapabilities *ServerCapabilities Provider *tfsdk.Schema ProviderMeta *tfsdk.Schema ResourceSchemas map[string]*tfsdk.Schema DataSourceSchemas map[string]*tfsdk.Schema Diagnostics diag.Diagnostics }
GetProviderSchemaResponse is the framework server response for the GetProviderSchema RPC.
type ImportResourceStateRequest ¶ added in v0.9.0
type ImportResourceStateRequest struct { ID string ResourceType tfsdk.ResourceType // 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. EmptyState tfsdk.State // TypeName is the resource type name, which is necessary for populating // the ImportedResource TypeName of the ImportResourceStateResponse. TypeName string }
ImportResourceStateRequest is the framework server request for the ImportResourceState RPC.
type ImportResourceStateResponse ¶ added in v0.9.0
type ImportResourceStateResponse struct { Diagnostics diag.Diagnostics ImportedResources []ImportedResource }
ImportResourceStateResponse is the framework server response for the ImportResourceState RPC.
type ImportedResource ¶ added in v0.9.0
ImportedResource represents a resource that was imported.
type ModifySchemaPlanRequest ¶ added in v0.9.0
type ModifySchemaPlanRequest struct { // Config is the configuration the user supplied for the resource. Config tfsdk.Config // State is the current state of the resource. State tfsdk.State // Plan is the planned new state for the resource. Plan tfsdk.Plan // ProviderMeta is metadata from the provider_meta block of the module. ProviderMeta tfsdk.Config }
ModifySchemaPlanRequest represents a request for a schema to run all attribute plan modification functions.
type ModifySchemaPlanResponse ¶ added in v0.9.0
type ModifySchemaPlanResponse struct { // Plan is the planned new state for the resource. Plan tfsdk.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. RequiresReplace path.Paths // 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. Diagnostics diag.Diagnostics }
ModifySchemaPlanResponse represents a response to a ModifySchemaPlanRequest.
type PlanResourceChangeRequest ¶ added in v0.9.0
type PlanResourceChangeRequest struct { Config *tfsdk.Config PriorPrivate []byte PriorState *tfsdk.State ProposedNewState *tfsdk.Plan ProviderMeta *tfsdk.Config ResourceSchema tfsdk.Schema ResourceType tfsdk.ResourceType }
PlanResourceChangeRequest is the framework server request for the PlanResourceChange RPC.
type PlanResourceChangeResponse ¶ added in v0.9.0
type PlanResourceChangeResponse struct { Diagnostics diag.Diagnostics PlannedPrivate []byte PlannedState *tfsdk.State RequiresReplace path.Paths }
PlanResourceChangeResponse is the framework server response for the PlanResourceChange RPC.
type ReadDataSourceRequest ¶ added in v0.9.0
type ReadDataSourceRequest struct { Config *tfsdk.Config DataSourceSchema tfsdk.Schema DataSourceType tfsdk.DataSourceType ProviderMeta *tfsdk.Config }
ReadDataSourceRequest is the framework server request for the ReadDataSource RPC.
type ReadDataSourceResponse ¶ added in v0.9.0
type ReadDataSourceResponse struct { Diagnostics diag.Diagnostics State *tfsdk.State }
ReadDataSourceResponse is the framework server response for the ReadDataSource RPC.
type ReadResourceRequest ¶ added in v0.9.0
type ReadResourceRequest struct { CurrentState *tfsdk.State ResourceType tfsdk.ResourceType Private []byte ProviderMeta *tfsdk.Config }
ReadResourceRequest is the framework server request for the ReadResource RPC.
type ReadResourceResponse ¶ added in v0.9.0
type ReadResourceResponse struct { Diagnostics diag.Diagnostics NewState *tfsdk.State Private []byte }
ReadResourceResponse is the framework server response for the ReadResource RPC.
type Server ¶
Server implements the framework provider server. Protocol specific implementations wrap this handling along with calling all request and response type conversions.
func (*Server) ApplyResourceChange ¶ added in v0.9.0
func (s *Server) ApplyResourceChange(ctx context.Context, req *ApplyResourceChangeRequest, resp *ApplyResourceChangeResponse)
ApplyResourceChange implements the framework server ApplyResourceChange RPC.
func (*Server) ConfigureProvider ¶ added in v0.9.0
func (s *Server) ConfigureProvider(ctx context.Context, req *tfsdk.ConfigureProviderRequest, resp *tfsdk.ConfigureProviderResponse)
ConfigureProvider implements the framework server ConfigureProvider RPC.
func (*Server) CreateResource ¶ added in v0.9.0
func (s *Server) CreateResource(ctx context.Context, req *CreateResourceRequest, resp *CreateResourceResponse)
CreateResource implements the framework server create request logic for the ApplyResourceChange RPC.
func (*Server) DataSourceSchema ¶ added in v0.9.0
func (s *Server) DataSourceSchema(ctx context.Context, typeName string) (*tfsdk.Schema, diag.Diagnostics)
DataSourceSchema returns the Schema associated with the DataSourceType for the given type name.
func (*Server) DataSourceSchemas ¶ added in v0.9.0
func (s *Server) DataSourceSchemas(ctx context.Context) (map[string]*tfsdk.Schema, diag.Diagnostics)
DataSourceSchemas returns the map of DataSourceType Schemas. The results are cached on first use.
func (*Server) DataSourceType ¶ added in v0.9.0
func (s *Server) DataSourceType(ctx context.Context, typeName string) (tfsdk.DataSourceType, diag.Diagnostics)
DataSourceType returns the DataSourceType for a given type name.
func (*Server) DataSourceTypes ¶ added in v0.9.0
func (s *Server) DataSourceTypes(ctx context.Context) (map[string]tfsdk.DataSourceType, diag.Diagnostics)
DataSourceTypes returns the map of DataSourceTypes. The results are cached on first use.
func (*Server) DeleteResource ¶ added in v0.9.0
func (s *Server) DeleteResource(ctx context.Context, req *DeleteResourceRequest, resp *DeleteResourceResponse)
DeleteResource implements the framework server delete request logic for the ApplyResourceChange RPC.
func (*Server) GetProviderSchema ¶
func (s *Server) GetProviderSchema(ctx context.Context, req *GetProviderSchemaRequest, resp *GetProviderSchemaResponse)
GetProviderSchema implements the framework server GetProviderSchema RPC.
func (*Server) ImportResourceState ¶ added in v0.9.0
func (s *Server) ImportResourceState(ctx context.Context, req *ImportResourceStateRequest, resp *ImportResourceStateResponse)
ImportResourceState implements the framework server ImportResourceState RPC.
func (*Server) PlanResourceChange ¶ added in v0.9.0
func (s *Server) PlanResourceChange(ctx context.Context, req *PlanResourceChangeRequest, resp *PlanResourceChangeResponse)
PlanResourceChange implements the framework server PlanResourceChange RPC.
func (*Server) ProviderMetaSchema ¶ added in v0.9.0
ProviderMetaSchema returns the Meta Schema associated with the Provider, if it implements the ProviderWithProviderMeta interface. The Schema and Diagnostics are cached on first use.
func (*Server) ProviderSchema ¶ added in v0.9.0
ProviderSchema returns the Schema associated with the Provider. The Schema and Diagnostics are cached on first use.
func (*Server) ReadDataSource ¶ added in v0.9.0
func (s *Server) ReadDataSource(ctx context.Context, req *ReadDataSourceRequest, resp *ReadDataSourceResponse)
ReadDataSource implements the framework server ReadDataSource RPC.
func (*Server) ReadResource ¶ added in v0.9.0
func (s *Server) ReadResource(ctx context.Context, req *ReadResourceRequest, resp *ReadResourceResponse)
ReadResource implements the framework server ReadResource RPC.
func (*Server) ResourceSchema ¶ added in v0.9.0
func (s *Server) ResourceSchema(ctx context.Context, typeName string) (*tfsdk.Schema, diag.Diagnostics)
ResourceSchema returns the Schema associated with the ResourceType for the given type name.
func (*Server) ResourceSchemas ¶ added in v0.9.0
ResourceSchemas returns the map of ResourceType Schemas. The results are cached on first use.
func (*Server) ResourceType ¶ added in v0.9.0
func (s *Server) ResourceType(ctx context.Context, typeName string) (tfsdk.ResourceType, diag.Diagnostics)
ResourceType returns the ResourceType for a given type name.
func (*Server) ResourceTypes ¶ added in v0.9.0
func (s *Server) ResourceTypes(ctx context.Context) (map[string]tfsdk.ResourceType, diag.Diagnostics)
ResourceTypes returns the map of ResourceTypes. The results are cached on first use.
func (*Server) UpdateResource ¶ added in v0.9.0
func (s *Server) UpdateResource(ctx context.Context, req *UpdateResourceRequest, resp *UpdateResourceResponse)
UpdateResource implements the framework server update request logic for the ApplyResourceChange RPC.
func (*Server) UpgradeResourceState ¶ added in v0.9.0
func (s *Server) UpgradeResourceState(ctx context.Context, req *UpgradeResourceStateRequest, resp *UpgradeResourceStateResponse)
UpgradeResourceState implements the framework server UpgradeResourceState RPC.
func (*Server) ValidateDataSourceConfig ¶ added in v0.9.0
func (s *Server) ValidateDataSourceConfig(ctx context.Context, req *ValidateDataSourceConfigRequest, resp *ValidateDataSourceConfigResponse)
ValidateDataSourceConfig implements the framework server ValidateDataSourceConfig RPC.
func (*Server) ValidateProviderConfig ¶ added in v0.9.0
func (s *Server) ValidateProviderConfig(ctx context.Context, req *ValidateProviderConfigRequest, resp *ValidateProviderConfigResponse)
ValidateProviderConfig implements the framework server ValidateProviderConfig RPC.
func (*Server) ValidateResourceConfig ¶ added in v0.9.0
func (s *Server) ValidateResourceConfig(ctx context.Context, req *ValidateResourceConfigRequest, resp *ValidateResourceConfigResponse)
ValidateResourceConfig implements the framework server ValidateResourceConfig RPC.
type ServerCapabilities ¶ added in v0.10.0
type ServerCapabilities struct { // 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. PlanDestroy bool }
ServerCapabilities is a combination of tfprotov5.ServerCapabilities and tfprotov6.ServerCapabilties, which may diverge over time. If that happens, the toproto5 conversion logic will handle the appropriate filtering and the proto5server/fwserver logic will need to account for missing features.
type UpdateResourceRequest ¶ added in v0.9.0
type UpdateResourceRequest struct { Config *tfsdk.Config PlannedPrivate []byte PlannedState *tfsdk.Plan PriorState *tfsdk.State ProviderMeta *tfsdk.Config ResourceSchema tfsdk.Schema ResourceType tfsdk.ResourceType }
UpdateResourceRequest is the framework server request for an update request with the ApplyResourceChange RPC.
type UpdateResourceResponse ¶ added in v0.9.0
type UpdateResourceResponse struct { Diagnostics diag.Diagnostics NewState *tfsdk.State Private []byte }
UpdateResourceResponse is the framework server response for an update request with the ApplyResourceChange RPC.
type UpgradeResourceStateRequest ¶ added in v0.9.0
type UpgradeResourceStateRequest struct { // TODO: Create framework defined type that is not protocol specific. // Reference: https://github.com/hashicorp/terraform-plugin-framework/issues/340 RawState *tfprotov6.RawState ResourceSchema tfsdk.Schema ResourceType tfsdk.ResourceType Version int64 }
UpgradeResourceStateRequest is the framework server request for the UpgradeResourceState RPC.
type UpgradeResourceStateResponse ¶ added in v0.9.0
type UpgradeResourceStateResponse struct { Diagnostics diag.Diagnostics UpgradedState *tfsdk.State }
UpgradeResourceStateResponse is the framework server response for the UpgradeResourceState RPC.
type ValidateDataSourceConfigRequest ¶ added in v0.9.0
type ValidateDataSourceConfigRequest struct { Config *tfsdk.Config DataSourceType tfsdk.DataSourceType }
ValidateDataSourceConfigRequest is the framework server request for the ValidateDataSourceConfig RPC.
type ValidateDataSourceConfigResponse ¶ added in v0.9.0
type ValidateDataSourceConfigResponse struct {
Diagnostics diag.Diagnostics
}
ValidateDataSourceConfigResponse is the framework server response for the ValidateDataSourceConfig RPC.
type ValidateProviderConfigRequest ¶ added in v0.9.0
ValidateProviderConfigRequest is the framework server request for the ValidateProviderConfig RPC.
type ValidateProviderConfigResponse ¶ added in v0.9.0
type ValidateProviderConfigResponse struct { PreparedConfig *tfsdk.Config Diagnostics diag.Diagnostics }
ValidateProviderConfigResponse is the framework server response for the ValidateProviderConfig RPC.
type ValidateResourceConfigRequest ¶ added in v0.9.0
type ValidateResourceConfigRequest struct { Config *tfsdk.Config ResourceType tfsdk.ResourceType }
ValidateResourceConfigRequest is the framework server request for the ValidateResourceConfig RPC.
type ValidateResourceConfigResponse ¶ added in v0.9.0
type ValidateResourceConfigResponse struct {
Diagnostics diag.Diagnostics
}
ValidateResourceConfigResponse is the framework server response for the ValidateResourceConfig RPC.
type ValidateSchemaRequest ¶ added in v0.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. Config tfsdk.Config }
ValidateSchemaRequest repesents a request for validating a Schema.
type ValidateSchemaResponse ¶ added in v0.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. Diagnostics diag.Diagnostics }
ValidateSchemaResponse represents a response to a ValidateSchemaRequest.
Source Files ¶
- attribute_plan_modification.go
- attribute_validation.go
- block_plan_modification.go
- block_validation.go
- config.go
- doc.go
- plan.go
- schema_plan_modification.go
- schema_validation.go
- server.go
- server_applyresourcechange.go
- server_capabilities.go
- server_configureprovider.go
- server_createresource.go
- server_deleteresource.go
- server_getproviderschema.go
- server_importresourcestate.go
- server_planresourcechange.go
- server_readdatasource.go
- server_readresource.go
- server_updateresource.go
- server_upgraderesourcestate.go
- server_validatedatasourceconfig.go
- server_validateproviderconfig.go
- server_validateresourceconfig.go
- state.go