# Packages
No description provided by the author
# Functions
NewFileProducer returns a new FileProducer.
NewNoOpProviderRunner constructs a new NoOpProviderRunner.
NewNoOpProviderScheduler initializes a new NoOpProviderScheduler.
NewSharedProvider instantiates a SharedProvider runner with an OS executor using the supplied options.
NewSharedProviderScheduler initializes a new SharedProviderScheduler with the specified logger and options.
NewWorkspace returns a new Workspace object that operates in the given directory.
NewWorkspaceFinalizer returns a new WorkspaceFinalizer.
NewWorkspaceProviderScheduler initializes a new WorkspaceProviderScheduler.
NewWorkspaceStore returns a new WorkspaceStore.
WithAferoFs lets you set the fs of WorkspaceStore.
WithDisableInit disables `terraform init` invocations in case workspace initialization is not needed (e.g., when using the shared gRPC server runtime).
WithExecutor sets the executor of Workspace.
WithFeatures sets the features of the workspace store.
WithFileProducerFeatures configures the active features for the FileProducer.
WithFileSystem configures the filesystem to use.
WithFilterFn configures the debug log sensitive information filtering func.
WithFs lets you set the fs of WorkspaceStore.
WithLastOperation sets the Last Operation of Workspace.
WithLogger sets the logger of Workspace.
WithNativeProviderArgs are the arguments to be passed to the native provider.
WithNativeProviderExecutor sets the process executor to be used.
WithNativeProviderLogger configures the logger for the runner.
WithNativeProviderName configures the Terraform provider name for the runner.
WithNativeProviderPath configures the Terraform provider executable path for the runner.
WithProcessReportInterval enables the upjet.terraform.running_processes metric, which periodically reports the total number of Terraform CLI and Terraform provider processes in the system.
WithProtocolVersion sets the gRPC protocol version in use between the Terraform CLI and the native provider.
WithProviderInUse configures an InUse for keeping track of the shared provider InUse by this Terraform workspace.
WithSharedProviderOptions configures the SharedProviderOptions to be passed down to the managed SharedProviders.
# Constants
InvalidProviderHandle is an invalid ProviderHandle.
ModeASync represents the asynchronous execution mode.
ModeSync represents the synchronous execution mode.
# Structs
ApplyResult contains the state after the apply operation.
FileProducer exist to serve as cache for the data that is costly to produce every time like parameters and observation maps.
No description provided by the author
NoOpProviderRunner is a no-op ProviderRunner.
NoOpProviderScheduler satisfied the ProviderScheduler interface and is a noop implementation, i.e., it does not schedule any native plugin processes.
Operation is the representation of a single Terraform CLI operation.
PlanResult returns a summary of comparison between desired and current state of the resource.
ProviderRequirement holds values for the Terraform HCL setup requirements.
RefreshResult contains information about the current state of the resource.
Setup holds values for the Terraform version and setup requirements and configuration body.
SharedProvider runs the configured native provider plugin using the supplied command-line args.
SharedProviderScheduler is a ProviderScheduler that shares a native plugin (Terraform provider) process between MR reconciliation loops whose MRs yield the same ProviderHandle, i.e., whose Terraform resource blocks are configuration-wise identical.
No description provided by the author
Workspace runs Terraform operations in its directory and holds the information about their statuses.
WorkspaceFinalizer removes the workspace from the workspace store and only then calls RemoveFinalizer of the underlying Finalizer.
WorkspaceProviderScheduler is a ProviderScheduler that shares a native plugin (Terraform provider) process between the Terraform CLI invocations in the context of a single reconciliation loop (belonging to a single workspace).
WorkspaceStore allows you to manage multiple Terraform workspaces.
# Interfaces
InUse keeps track of the usage of a shared resource, like a native plugin process.
ProviderRunner is the interface for running Terraform native provider processes in the shared gRPC server mode.
ProviderScheduler represents a shared native plugin process scheduler.
StoreCleaner is the interface that the workspace finalizer needs to work with.
# Type aliases
CallbackFn is the type of accepted function that can be called after an async operation is completed.
ExecMode is the Terraform CLI execution mode label.
FileProducerOption allows you to configure FileProducer.
ImportResult contains information about the current state of the resource.
ProviderConfiguration holds the setup configuration body.
ProviderHandle represents native plugin (Terraform provider) process handles used by the various schedulers to map Terraform workspaces to these processes.
SetupFn is a function that returns Terraform setup which contains provider requirement, configuration and Terraform version.
SharedProviderOption lets you configure the shared gRPC runner.
SharedProviderSchedulerOption represents an option to configure the SharedProviderScheduler.
WorkspaceOption allows you to configure Workspace objects.
WorkspaceStoreOption lets you configure the workspace store.