# Functions

AutoName creates custom schema for a Terraform name property which is automatically populated from the resource's URN name, and transformed based on the provided options.
AutoNameTransform creates custom schema for a Terraform name property which is automatically populated from the resource's URN name, with an 8 character random suffix ("-"+7 random chars), maximum length maxlen, and optional transformation function.
AutoNameWithCustomOptions creates a custom schema for a Terraform name property and allows setting options to allow transforms, custom separators and maxLength combinations.
CleanTerraformSchema recursively removes "Removed" properties from a map[string]*schema.Schema.
CoerceTerraformString coerces a string value to a Go value whose type is the type requested by the Terraform schema type.
FromName automatically propagates a resource's URN onto the resulting default info.
IsMaxItemsOne returns true if the schema/info pair represents a TypeList or TypeSet which should project as a scalar, else returns false.
Main launches the tfbridge plugin for a given package pkg and provider prov.
MakeTerraformAttributes converts a Pulumi property bag into its Terraform equivalent.
MakeTerraformAttributesFromInputs creates a flat Terraform map from a structured set of Terraform inputs.
MakeTerraformAttributesFromRPC unmarshals an RPC property map and calls through to MakeTerraformAttributes.
MakeTerraformConfig creates a Terraform config map, used in state and diff calculations, from a Pulumi property map.
MakeTerraformConfigFromInputs creates a new Terraform configuration object from a set of Terraform inputs.
MakeTerraformConfigFromRPC creates a Terraform config map from a Pulumi RPC property map.
MakeTerraformInput takes a single property plus custom schema info and does whatever is necessary to prepare it for use by Terraform.
MakeTerraformInputs takes a property map plus custom schema info and does whatever is necessary to prepare it for use by Terraform.
MakeTerraformOutput takes a single Terraform property and returns the Pulumi equivalent.
MakeTerraformOutputs takes an expanded Terraform property map and returns a Pulumi equivalent.
MakeTerraformResult expands a Terraform state into an expanded Pulumi resource property map.
MarshalDataSourceInfo converts a Pulumi DataSourceInfo value into a MarshallableDataSourceInfo value.
MarshalDefaultInfo converts a Pulumi DefaultInfo value into a MarshallableDefaultInfo value.
MarshalElem converts a Terraform schema's element field into a MarshallableElem.
MarshalProvider converts a Terraform provider schema into a MarshallableProvider.
MarshalProviderInfo converts a Pulumi ProviderInfo value into a MarshallableProviderInfo value.
MarshalResource converts a Terraform resource schema into a MarshallableResource.
MarshalResourceInfo converts a Pulumi ResourceInfo value into a MarshallableResourceInfo value.
MarshalSchema converts a Terraform schema into a MarshallableSchema.
MarshalSchemaInfo converts a Pulumi SchemaInfo value into a MarshallableSchemaInfo value.
NewProvider creates a new Pulumi RPC server wired up to the given host and wrapping the given Terraform provider.
NewLogRedirector returns a new LogRedirector with the (unexported) writers field set to the given map.
PulumiToTerraformName performs a standard transformation on the given name string, from Pulumi's PascalCasing or camelCasing, to Terraform's underscore_casing.
Serve fires up a Pulumi resource provider listening to inbound gRPC traffic, and translates calls from Pulumi into actions against the provided Terraform Provider.
TerraformToPulumiName performs a standard transformation on the given name string, from Terraform's underscore_casing to Pulumi's PascalCasing (if upper is true) or camelCasing (if upper is false).
TransformJSONDocument permits either a string, which is presumed to represent an already-stringified JSON document, or a map/array, which will be transformed into its JSON representation.

# Constants

No description provided by the author
BytesArchive turns the asset into a []byte and passes that directly in-memory.
BytesAsset turns the asset into a []byte and passes it directly in-memory.
FileArchive turns the archive into a file on disk and passes the filename in its place.
FileAsset turns the asset into a file on disk and passes the filename in its place.
No description provided by the author
No description provided by the author
TerraformUnknownVariableValue is the sentinal defined in github.com/hashicorp/terraform/configs/hcl2shim, representing a variable whose value is not known at some particular time.

# Structs

AliasInfo is a partial description of prior named used for a resource.
AssetTranslation instructs the bridge how to translate assets into something Terraform can use.
AutoNameOptions provides parameters to AutoName to control how names will be generated.
ConfigInfo represents a synthetic configuration variable that is Pulumi-only, and not passed to Terraform.
CSharpInfo contains optional overlay information for C# code-generation.
DataSource wraps both the Terraform data source (resource) type info plus the overlay resource info.
DataSourceInfo can be used to override a data source's standard name mangling and argument/return information.
DefaultInfo lets fields get default values at runtime, before they are even passed to Terraform.
DocInfo contains optional overrids for finding and mapping TD docs.
GolangInfo contains optional overlay information for Golang code-generation.
JavaScriptInfo contains optional overlay information for Python code-generation.
LogRedirector creates a new redirection writer that takes as input plugin stderr output, and routes it to the correct Pulumi stream based on the standard Terraform logging output prefixes.
MarshallableDataSourceInfo is the JSON-marshallable form of a Pulumi DataSourceInfo value.
MarshallableDefaultInfo is the JSON-marshallable form of a Pulumi DefaultInfo value.
MarshallableElem is the JSON-marshallable form of a Terraform schema's element field.
MarshallableProvider is the JSON-marshallable form of a Terraform provider schema.
MarshallableProviderInfo is the JSON-marshallable form of a Pulumi ProviderInfo value.
MarshallableResourceInfo is the JSON-marshallable form of a Pulumi ResourceInfo value.
MarshallableSchema is the JSON-marshallable form of a Terraform schema.
MarshallableSchemaInfo is the JSON-marshallable form of a Pulumi SchemaInfo value.
OverlayInfo contains optional overlay information.
Provider implements the Pulumi resource provider operations for any Terraform plugin.
ProviderInfo contains information about a Terraform provider plugin that we will use to generate the Pulumi metadata.
PulumiResource is just a little bundle that carries URN and properties around.
PythonInfo contains optional overlay information for Python code-generation.
Resource wraps both the Terraform resource type info plus the overlay resource info.
ResourceInfo is a top-level type exported by a provider.
SchemaInfo contains optional name transformations to apply.

# Interfaces

ResourceOrDataSourceInfo is a shared interface to ResourceInfo and DataSourceInfo mappings.

# Type aliases

AssetTable is used to record which properties in a call to MakeTerraformInputs were assets so that they can be marshaled back to assets by MakeTerraformOutputs.
AssetTranslationKind may be used to choose from various source and dest translation targets.
MarshallableResource is the JSON-marshallable form of a Terraform resource schema.
PreConfigureCallback is a function to invoke prior to calling the TF provider Configure.
TFProviderLicense is a way to be able to pass a license type for the upstream Terraform provider.
Transformer is given the option to transform a value in situ before it is processed by the bridge.