# Packages

Package tf5server implements a server implementation to run tfprotov5.ProviderServers as gRPC servers.

# Functions

NewDynamicValue creates a DynamicValue from a tftypes.Value.

# Constants

DeferredReasonAbsentPrereq is used to indicate that a hard dependency has not been satisfied.
DeferredReasonProviderConfigUnknown is used to indicate that the provider configuration is partially unknown and the real values need to be known before the change can be planned.
DeferredReasonResourceConfigUnknown is used to indicate that the resource configuration is partially unknown and the real values need to be known before the change can be planned.
DeferredReasonUnknown is used to indicate an invalid `DeferredReason`.
DiagnosticSeverityError is used to indicate that a `Diagnostic` represents an error and should halt Terraform execution.
DiagnosticSeverityInvalid is used to indicate an invalid `DiagnosticSeverity`.
DiagnosticSeverityWarning is used to indicate that a `Diagnostic` represents a warning and should not halt Terraform's execution, but it should be surfaced to the user.
SchemaNestedBlockNestingModeGroup indicates that the nested block should be treated as a single block with no labels, and there should not be more than one of these blocks in the containing block.
SchemaNestedBlockNestingModeInvalid indicates that the nesting mode for a nested block in the schema is invalid.
SchemaNestedBlockNestingModeList indicates that multiple instances of the nested block should be permitted, with no labels, and that the instances of the block should appear in config and state values as a tftypes.List, with an ElementType of tftypes.Object.
SchemaNestedBlockNestingModeMap indicates that multiple instances of the nested block should be permitted, each with a single label, and that they should be represented in state and config values as a tftypes.Map, with an ElementType of tftypes.Object.
SchemaNestedBlockNestingModeSet indicates that multiple instances of the nested block should be permitted, with no labels, and that the instances of the block should appear in config and state values as a tftypes.Set, with an ElementType of tftypes.Object.
SchemaNestedBlockNestingModeSingle indicates that the nested block should be treated as a single block with no labels, and there should not be more than one of these blocks in the containing block.
StringKindMarkdown indicates a string is markdown-formatted, and should be rendered using a Markdown renderer to correctly display its formatting.
StringKindPlain indicates a string is plaintext, and should be interpreted as having no formatting information.

# Variables

ErrUnknownDynamicValueType is returned when a DynamicValue has no MsgPack or JSON bytes set.
ErrUnknownRawStateType is returned when a RawState has no Flatmap or JSON bytes set.

# Structs

ApplyResourceChangeRequest is the request Terraform sends when it needs to apply a planned set of changes to a resource.
ApplyResourceChangeResponse is the response from the provider about what the state of a resource is after planned changes have been applied.
CallFunctionRequest is the request Terraform sends when it wants to execute the logic of function referenced in the configuration.
CallFunctionResponse is the response from the provider with the result of executing the logic of the function.
ConfigureProviderClientCapabilities allows Terraform to publish information regarding optionally supported protocol features for the ConfigureProvider RPC, such as forward-compatible Terraform behavior changes.
ConfigureProviderRequest represents a Terraform RPC request to supply the provider with information about what the user entered in the provider's configuration block.
ConfigureProviderResponse represents a Terraform RPC response to the configuration block that Terraform supplied for the provider.
DataSourceMetadata describes metadata for a data resource in the GetMetadata RPC.
Deferred is used to indicate to Terraform that a change needs to be deferred for a reason.
Diagnostic is used to convey information back the user running Terraform.
DynamicValue represents a nested encoding value that came from the protocol.
Function describes the definition of a function.
FunctionError is used to convey information back to the user running Terraform.
FunctionMetadata describes metadata for a function in the GetMetadata RPC.
FunctionParameter describes the definition of a function parameter.
FunctionReturn describes the definition of a function result.
GetFunctionsRequest is the request Terraform sends when it wants to lookup which functions a provider supports when not calling GetProviderSchema.
GetFunctionsResponse is the response from the provider about the implemented functions.
GetMetadataRequest represents a GetMetadata RPC request.
GetMetadataResponse represents a GetMetadata RPC response.
GetProviderSchemaRequest represents a Terraform RPC request for the provider's schemas.
GetProviderSchemaResponse represents a Terraform RPC response containing the provider's schemas.
ImportedResource represents a single resource that a provider has successfully imported into state.
ImportResourceStateClientCapabilities allows Terraform to publish information regarding optionally supported protocol features for the ImportResourceState RPC, such as forward-compatible Terraform behavior changes.
ImportResourceStateRequest is the request Terraform sends when it wants a provider to import one or more resources specified by an ID.
ImportResourceStateResponse is the response from the provider about the imported resources.
MoveResourceStateRequest is the request Terraform sends when it requests a provider to move the state of a source resource into the target resource.
MoveResourceStateResponse is the response from the provider containing the moved state for the given resource.
PlanResourceChangeClientCapabilities allows Terraform to publish information regarding optionally supported protocol features for the PlanResourceChange RPC, such as forward-compatible Terraform behavior changes.
PlanResourceChangeRequest is the request Terraform sends when it is generating a plan for a resource and wants the provider's input on what the planned state should be.
PlanResourceChangeResponse is the response from the provider about what the planned state for a given resource should be.
PrepareProviderConfigRequest represents a Terraform RPC request for the provider to modify the provider configuration in preparation for Terraform validating it.
PrepareProviderConfigResponse represents a Terraform RPC response containing a modified provider configuration that Terraform can now validate and use.
RawState is the raw, undecoded state for providers to upgrade.
ReadDataSourceClientCapabilities allows Terraform to publish information regarding optionally supported protocol features for the ReadDataSource RPC, such as forward-compatible Terraform behavior changes.
ReadDataSourceRequest is the request Terraform sends when it wants to get the latest state for a data source.
ReadDataSourceResponse is the response from the provider about the current state of the requested data source.
ReadResourceClientCapabilities allows Terraform to publish information regarding optionally supported protocol features for the ReadResource RPC, such as forward-compatible Terraform behavior changes.
ReadResourceRequest is the request Terraform sends when it wants to get the latest state for a resource.
ReadResourceResponse is the response from the provider about the current state of the requested resource.
ResourceMetadata describes metadata for a managed resource in the GetMetadata RPC.
Schema is how Terraform defines the shape of data.
SchemaAttribute represents a single attribute within a schema block.
SchemaBlock represents a block in a schema.
SchemaNestedBlock is a nested block within another block.
ServerCapabilities allows providers to communicate optionally supported protocol features, such as forward-compatible Terraform behavior changes.
StopProviderRequest represents a Terraform RPC request to interrupt a provider's work and terminate a provider's processes as soon as possible.
StopProviderResponse represents a Terraform RPC response surfacing an issues the provider encountered in terminating.
UnmarshalOpts contains options that can be used to modify the behaviour when unmarshalling.
UpgradeResourceStateRequest is the request Terraform sends when it needs a provider to upgrade the state of a given resource.
UpgradeResourceStateResponse is the response from the provider containing the upgraded state for the given resource.
ValidateDataSourceConfigRequest is the request Terraform sends when it wants to validate a data source's configuration.
ValidateDataSourceConfigResponse is the response from the provider about the validity of a data source's configuration.
ValidateResourceTypeConfigRequest is the request Terraform sends when it wants to validate a resource's configuration.
ValidateResourceTypeConfigResponse is the response from the provider about the validity of a resource's configuration.

# Interfaces

DataSourceServer is an interface containing the methods a data source implementation needs to fill.
FunctionServer is an interface containing the methods a function implementation needs to fill.
ProviderServer is an interface that reflects that Terraform protocol.
ResourceServer is an interface containing the methods a resource implementation needs to fill.
ResourceServerWithMoveResourceState is a temporary interface for servers to implement MoveResourceState RPC handling.

# Type aliases

DeferredReason represents different reasons for deferring a change.
DiagnosticSeverity represents different classes of Diagnostic which affect how Terraform handles the Diagnostics.
SchemaNestedBlockNestingMode indicates the nesting mode for SchemaNestedBlocks.
StringKind indicates a formatting or encoding scheme for a string.