 Source Files
      ¶
      Source Files
      ¶
    
  
       Directories
      ¶
      Directories
      ¶
    
    | Path | Synopsis | 
|---|---|
| Package addrs contains types that represent "addresses", which are references to specific objects within a Terraform configuration or state. | Package addrs contains types that represent "addresses", which are references to specific objects within a Terraform configuration or state. | 
| Package backend provides interfaces that the CLI uses to interact with Terraform. | Package backend provides interfaces that the CLI uses to interact with Terraform. | 
| 
          
            init
            
            
          
           Package init contains the list of backends that can be initialized and basic helper functions for initializing those backends. | Package init contains the list of backends that can be initialized and basic helper functions for initializing those backends. | 
| 
          
            remote-state/gcs
            
            
          
           Package gcs implements remote storage of state on Google Cloud Storage (GCS). | Package gcs implements remote storage of state on Google Cloud Storage (GCS). | 
| builtin
       | |
| 
          
            bins/provider-test
            
            command
          
          
         | |
| 
          
            bins/provisioner-chef
            
            command
          
          
         | |
| 
          
            bins/provisioner-file
            
            command
          
          
         | |
| 
          
            bins/provisioner-habitat
            
            command
          
          
         | |
| 
          
            bins/provisioner-local-exec
            
            command
          
          
         | |
| 
          
            bins/provisioner-puppet
            
            command
          
          
         | |
| 
          
            bins/provisioner-remote-exec
            
            command
          
          
         | |
| 
          
            bins/provisioner-salt-masterless
            
            command
          
          
         | |
| This file is automatically generated by scripts/generate-plugins.go -- Do not edit! | This file is automatically generated by scripts/generate-plugins.go -- Do not edit! | 
| 
          
            cliconfig
            
            
          
           Package cliconfig has the types representing and the logic to load CLI-level configuration settings. | Package cliconfig has the types representing and the logic to load CLI-level configuration settings. | 
| 
          
            clistate
            
            
          
           Package state exposes common helpers for working with state from the CLI. | Package state exposes common helpers for working with state from the CLI. | 
| 
          
            e2etest
            
            
          
           Package e2etest contains a small number of tests that run against a real Terraform binary, compiled on the fly at the start of the test run. | Package e2etest contains a small number of tests that run against a real Terraform binary, compiled on the fly at the start of the test run. | 
| 
          
            format
            
            
          
           Package format contains helpers for formatting various Terraform structures for human-readabout output. | Package format contains helpers for formatting various Terraform structures for human-readabout output. | 
| 
          
            jsonconfig
            
            
          
           Package jsonconfig implements methods for outputting a configuration snapshot in machine-readable json format | Package jsonconfig implements methods for outputting a configuration snapshot in machine-readable json format | 
| 
          
            jsonplan
            
            
          
           Package jsonplan implements methods for outputting a plan in a machine-readable json format | Package jsonplan implements methods for outputting a plan in a machine-readable json format | 
| 
          
            jsonprovider
            
            
          
           Package jsonprovider contains types and functions to marshal terraform provider schemas into a json formatted output. | Package jsonprovider contains types and functions to marshal terraform provider schemas into a json formatted output. | 
| 
          
            jsonstate
            
            
          
           Package jsonstate implements methods for outputting a state in a machine-readable json format | Package jsonstate implements methods for outputting a state in a machine-readable json format | 
| The config package is responsible for loading and validating the configuration. | The config package is responsible for loading and validating the configuration. | 
| Package configs contains types that represent Terraform configurations and the different elements thereof. | Package configs contains types that represent Terraform configurations and the different elements thereof. | 
| 
          
            configload
            
            
          
           Package configload knows how to install modules into the .terraform/modules directory and to load modules from those installed locations. | Package configload knows how to install modules into the .terraform/modules directory and to load modules from those installed locations. | 
| 
          
            configschema
            
            
          
           Package configschema contains types for describing the expected structure of a configuration block whose shape is not known until runtime. | Package configschema contains types for describing the expected structure of a configuration block whose shape is not known until runtime. | 
| Package experiments contains the models and logic for opt-in experiments that can be activated for a particular Terraform module. | Package experiments contains the models and logic for opt-in experiments that can be activated for a particular Terraform module. | 
| helper
       | |
| 
          
            acctest
            
            
          
           Package acctest contains for Terraform Acceptance Tests | Package acctest contains for Terraform Acceptance Tests | 
| 
          
            customdiff
            
            
          
           Package customdiff provides a set of reusable and composable functions to enable more "declarative" use of the CustomizeDiff mechanism available for resources in package helper/schema. | Package customdiff provides a set of reusable and composable functions to enable more "declarative" use of the CustomizeDiff mechanism available for resources in package helper/schema. | 
| 
          
            experiment
            
            
          
           experiment package contains helper functions for tracking experimental features throughout Terraform. | experiment package contains helper functions for tracking experimental features throughout Terraform. | 
| 
          
            pathorcontents
            
            
          
           Helpers for dealing with file paths and their contents | Helpers for dealing with file paths and their contents | 
| 
          
            plugin
            
            
          
           Package plugin contains types and functions to help Terraform plugins implement the plugin rpc interface. | Package plugin contains types and functions to help Terraform plugins implement the plugin rpc interface. | 
| 
          
            schema
            
            
          
           schema is a high-level framework for easily writing new providers for Terraform. | schema is a high-level framework for easily writing new providers for Terraform. | 
| 
          
            signalwrapper
            
            
          
           Package signalwrapper is used to run functions that are sensitive to signals that may be received from outside the process. | Package signalwrapper is used to run functions that are sensitive to signals that may be received from outside the process. | 
| 
          
            variables
            
            
          
           Package variables provides functions and types for working with Terraform variables provided as input. | Package variables provides functions and types for working with Terraform variables provided as input. | 
| 
          
            wrappedreadline
            
            
          
           wrappedreadline is a package that has helpers for interacting with readline from a panicwrap executable. | wrappedreadline is a package that has helpers for interacting with readline from a panicwrap executable. | 
| 
          
            wrappedstreams
            
            
          
           Package wrappedstreams provides access to the standard OS streams (stdin, stdout, stderr) even if wrapped under panicwrap. | Package wrappedstreams provides access to the standard OS streams (stdin, stdout, stderr) even if wrapped under panicwrap. | 
| internal
       | |
| 
          
            earlyconfig
            
            
          
           Package earlyconfig is a specialized alternative to the top-level "configs" package that does only shallow processing of configuration and is therefore able to be much more liberal than the full config loader in what it accepts. | Package earlyconfig is a specialized alternative to the top-level "configs" package that does only shallow processing of configuration and is therefore able to be much more liberal than the full config loader in what it accepts. | 
| 
          
            getproviders
            
            
          
           Package getproviders is the lowest-level provider automatic installation functionality. | Package getproviders is the lowest-level provider automatic installation functionality. | 
| 
          
            initwd
            
            
          
           Package initwd contains various helper functions used by the "terraform init" command to initialize a working directory. | Package initwd contains various helper functions used by the "terraform init" command to initialize a working directory. | 
| 
          
            modsdir
            
            
          
           Package modsdir is an internal package containing the model types used to represent the manifest of modules in a local modules cache directory. | Package modsdir is an internal package containing the model types used to represent the manifest of modules in a local modules cache directory. | 
| 
          
            providercache
            
            
          
           Package providercache contains the logic for auto-installing providers from packages obtained elsewhere, and for managing the local directories that serve as global or single-configuration caches of those auto-installed providers. | Package providercache contains the logic for auto-installing providers from packages obtained elsewhere, and for managing the local directories that serve as global or single-configuration caches of those auto-installed providers. | 
| 
          
            backend/remote-state/azure
            module
            
          
          
         | |
| 
          
            backend/remote-state/consul
            module
            
          
          
         | |
| 
          
            backend/remote-state/cos
            module
            
          
          
         | |
| 
          
            backend/remote-state/gcs
            module
            
          
          
         | |
| 
          
            backend/remote-state/oci
            module
            
          
          
         | |
| 
          
            backend/remote-state/oss
            module
            
          
          
         | |
| 
          
            backend/remote-state/pg
            module
            
          
          
         | |
| 
          
            backend/remote-state/s3
            module
            
          
          
         | |
| 
          
            legacy
            module
            
          
          
         | |
| 
          
            terraform-ng
            module
            
          
          
         | |
| Package lang deals with the runtime aspects of Terraform's configuration language, with concerns such as expression evaluation. | Package lang deals with the runtime aspects of Terraform's configuration language, with concerns such as expression evaluation. | 
| 
          
            blocktoattr
            
            
          
           Package blocktoattr includes some helper functions that can perform preprocessing on a HCL body where a configschema.Block schema is available in order to allow list and set attributes defined in the schema to be optionally written by the user as block syntax. | Package blocktoattr includes some helper functions that can perform preprocessing on a HCL body where a configschema.Block schema is available in order to allow list and set attributes defined in the schema to be optionally written by the user as block syntax. | 
| Package moduledeps contains types that can be used to describe the providers required for all of the modules in a module tree. | Package moduledeps contains types that can be used to describe the providers required for all of the modules in a module tree. | 
| Package plans contains the types that are used to represent Terraform plans. | Package plans contains the types that are used to represent Terraform plans. | 
| 
          
            internal/planproto
            
            
          
           Package planproto is home to the Go stubs generated from the tfplan protobuf schema. | Package planproto is home to the Go stubs generated from the tfplan protobuf schema. | 
| 
          
            objchange
            
            
          
           Package objchange deals with the business logic of taking a prior state value and a config value and producing a proposed new merged value, along with other related rules in this domain. | Package objchange deals with the business logic of taking a prior state value and a config value and producing a proposed new merged value, along with other related rules in this domain. | 
| 
          
            planfile
            
            
          
           Package planfile deals with the file format used to serialize plans to disk and then deserialize them back into memory later. | Package planfile deals with the file format used to serialize plans to disk and then deserialize them back into memory later. | 
| 
          
            mock_proto
            
            
          
           Package mock_tfplugin5 is a generated GoMock package. | Package mock_tfplugin5 is a generated GoMock package. | 
| Package providers contains the interface and primary types required to implement a Terraform resource provider. | Package providers contains the interface and primary types required to implement a Terraform resource provider. | 
| Package provisioners contains the interface and primary types to implement a Terraform resource provisioner. | Package provisioners contains the interface and primary types to implement a Terraform resource provisioner. | 
| 
          
            regsrc
            
            
          
           Package regsrc provides helpers for working with source strings that identify resources within a Terraform registry. | Package regsrc provides helpers for working with source strings that identify resources within a Terraform registry. | 
| Package repl provides the structs and functions necessary to run REPL for Terraform. | Package repl provides the structs and functions necessary to run REPL for Terraform. | 
| Generate Plugins is a small program that updates the lists of plugins in command/internal_plugin_list.go so they will be compiled into the main terraform binary. | Generate Plugins is a small program that updates the lists of plugins in command/internal_plugin_list.go so they will be compiled into the main terraform binary. | 
| Package states contains the types that are used to represent Terraform states. | Package states contains the types that are used to represent Terraform states. | 
| 
          
            statefile
            
            
          
           Package statefile deals with the file format used to serialize states for persistent storage and then deserialize them into memory again later. | Package statefile deals with the file format used to serialize states for persistent storage and then deserialize them into memory again later. | 
| 
          
            statemgr
            
            
          
           Package statemgr defines the interfaces and some supporting functionality for "state managers", which are components responsible for writing state to some persistent storage and then later retrieving it. | Package statemgr defines the interfaces and some supporting functionality for "state managers", which are components responsible for writing state to some persistent storage and then later retrieving it. | 
| Package tfdiags is a utility package for representing errors and warnings in a manner that allows us to produce good messages for the user. | Package tfdiags is a utility package for representing errors and warnings in a manner that allows us to produce good messages for the user. | 
| tools
       | |
| 
          
            loggraphdiff
            
            command
          
          
         | |
| 
          
            terraform-bundle
            
            command
          
           terraform-bundle is a tool to create "bundle archives" that contain both a particular version of Terraform and a set of providers for use with it. | terraform-bundle is a tool to create "bundle archives" that contain both a particular version of Terraform and a set of providers for use with it. | 
| 
          
            terraform-bundle/e2etest
            
            
          
           terraform bundle e2e tests | terraform bundle e2e tests | 
| The version package provides a location to set the release versions for all packages to consume, without creating import cycles. | The version package provides a location to set the release versions for all packages to consume, without creating import cycles. | 
 Click to show internal directories. 
   Click to hide internal directories.