Source Files
      ¶
    
  
      
      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
            
            
          
           
      Package remotestate implements a Backend for remote state implementations from the state/remote package that also implement a backend schema for configuration. 
         | 
      Package remotestate implements a Backend for remote state implementations from the state/remote package that also implement a backend schema for configuration. | 
| 
         
          
            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-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! | 
| 
         
          
            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. | 
| 
       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. | 
| 
         
          
            configupgrade
            
            
          
           
      Package configupgrade upgrades configurations targeting our legacy configuration loader (in package "config") to be compatible with and idiomatic for the newer configuration loader (in package "configs"). 
         | 
      Package configupgrade upgrades configurations targeting our legacy configuration loader (in package "config") to be compatible with and idiomatic for the newer configuration loader (in package "configs"). | 
| 
       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
        | 
      |
| 
         
          
            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. | 
| 
       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_proto is a generated GoMock package. 
         | 
      Package mock_proto 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 "stage 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 "stage managers", which are components responsible for writing state to some persistent storage and then later retrieving it. | 
| 
       Package svchost deals with the representations of the so-called "friendly hostnames" that we use to represent systems that provide Terraform-native remote services, such as module registry, remote operations, etc. 
         | 
      Package svchost deals with the representations of the so-called "friendly hostnames" that we use to represent systems that provide Terraform-native remote services, such as module registry, remote operations, etc. | 
| 
         
          
            auth
            
            
          
           
      Package auth contains types and functions to manage authentication credentials for service hosts. 
         | 
      Package auth contains types and functions to manage authentication credentials for service hosts. | 
| 
         
          
            auth/test-helper
            
            command
          
          
         
       | 
      |
| 
         
          
            disco
            
            
          
           
      Package disco handles Terraform's remote service discovery protocol. 
         | 
      Package disco handles Terraform's remote service discovery protocol. | 
| 
       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. 
