This project is mirrored from https://:*****@github.com/hashicorp/terraform.git. Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
  1. 26 Jun, 2018 2 commits
    • Martin Atkins's avatar
      command: 0.12upgrade command · c2987cd2
      Martin Atkins authored
      This is the frontend to the work-in-progress codepath for upgrading the
      source code for a module written for Terraform v0.11 or earlier to use
      the new syntax and idiom of v0.12.
      
      The underlying upgrade code is not yet complete as of this commit, and
      so the command is not yet very useful. We will continue to iterate on
      the upgrade code in subsequent commits.
      c2987cd2
    • Martin Atkins's avatar
      command: remove "terraform push" · 46eb6884
      Martin Atkins authored
      The remote API this talks to will be going away very soon, before our next
      major release, and so we'll remove the command altogether in that release.
      
      This also removes the "encodeHCL" function, which was used only for
      adding a .tfvars-formatted file to the uploaded archive.
      46eb6884
  2. 01 Dec, 2017 1 commit
  3. 01 Nov, 2017 1 commit
  4. 26 Oct, 2017 1 commit
    • Martin Atkins's avatar
      main: allow overriding host-based discovery in CLI config · e9816c60
      Martin Atkins authored
      For situations where the default network-based discovery is inappropriate
      or inconvenient, this allows users to provide a hard-coded discovery
      document for a particular hostname in the CLI config.
      
      This is a new config block, rather than combined with the existing
      "credentials" block, because credentials should ideally live in separate
      files from other config so that they can be managed more carefully.
      However, this new "host" block _is_ designed to have room for additional
      host-specific configuration _other than_ credentials in future, which
      might include TLS certificate overrides or other such things used during
      the discovery step.
      e9816c60
  5. 21 Oct, 2017 2 commits
    • Martin Atkins's avatar
      main: load CLI config files from ~/.terraform.d/*.tfrc · 1feb26f1
      Martin Atkins authored
      Now that we are looking into the CLI config file for service host
      credentials, it's important to support multiple separate files so that
      users can keep credentials separate from other settings and credentials
      for different hosts separate from one another.
      
      There is no restriction on which settings can appear in which locations.
      This is up to the user to decide, depending on their security needs and
      e.g. on whether certain files are generated vs. manually-edited.
      1feb26f1
    • Martin Atkins's avatar
      35a058fb
  6. 19 Oct, 2017 1 commit
    • Martin Atkins's avatar
      main+command: provide service disco and creds to commands · 865e61b4
      Martin Atkins authored
      The command package is the main place we need access to these, so that
      we can use them during init (to install packages, for example) and so that
      we can use them to configure remote backends.
      
      For the moment we're just providing an empty credentials object, which
      will start to include both statically-configured and
      helper-program-provided credentials sources in subsequent commits.
      865e61b4
  7. 29 Sep, 2017 2 commits
    • Martin Atkins's avatar
      main: allow enabling plugin caching via config file or environment · cb17a9a6
      Martin Atkins authored
      Either the environment variable TF_PLUGIN_CACHE_DIR or a setting in the
      CLI config file (~/.terraformrc on Unix) allow opting in to the plugin
      caching behavior.
      
      This is opt-in because for new users we don't want to pollute their system
      with extra directories they don't know about. By opting in to caching, the
      user is assuming the responsibility to occasionally prune the cache over
      time as older plugins become stale and unused.
      cb17a9a6
    • Martin Atkins's avatar
      main: make configuration available when initializing commands · 3f401f0c
      Martin Atkins authored
      This, in principle, allows us to make use of configuration information
      when we populate the Meta structure, though we won't actually make use
      of that until a subsequent commit.
      3f401f0c
  8. 14 Sep, 2017 1 commit
    • Martin Atkins's avatar
      cli: allow disabling "next steps" message in terraform plan · 0fe43c89
      Martin Atkins authored
      In #15884 we adjusted the plan output to give an explicit command to run
      to apply a plan, whereas before this command was just alluded to in the
      prose.
      
      Since releasing that, we've got good feedback that it's confusing to
      include such instructions when Terraform is running in a workflow
      automation tool, because such tools usually abstract away exactly what
      commands are run and require users to take different actions to
      proceed through the workflow.
      
      To accommodate such environments while retaining helpful messages for
      normal CLI usage, here we introduce a new environment variable
      TF_IN_AUTOMATION which, when set to a non-empty value, is a hint to
      Terraform that it isn't being run in an interactive command shell and
      it should thus tone down the "next steps" messaging.
      
      The documentation for this setting is included as part of the "...in
      automation" guide since it's not generally useful in other cases. We also
      intentionally disclaim comprehensive s...
      0fe43c89
  9. 27 Jul, 2017 1 commit
  10. 05 Jul, 2017 1 commit
  11. 09 Jun, 2017 3 commits
    • Martin Atkins's avatar
      command: shallow UI-focused rename of "environment" to "workspace" · 31d55689
      Martin Atkins authored
      Feedback after 0.9 was that the term "environment" was confusing due to
      it colliding with several other concepts, such as OS environment
      variables, a non-aligned Terraform Enterprise concept, and differing ideas
      of "environment" within various organizations.
      
      This new term "workspace" is intended to ease some of that confusion. This
      term is not used anywhere else in Terraform today, and we expect it to not
      be used in a manner that would be confusing within user organizations.
      
      This begins a deprecation cycle for the "terraform env" family of commands,
      instead moving to an equivalent set of "terraform workspace" commands.
      
      There are some remaining references to the old "environment" concept in
      the code, which will be cleaned up in a separate change. This change is
      instead focused on text visible in the UI and wording within code comments
      for the benefit of human maintainers of the code.
      31d55689
    • Martin Atkins's avatar
      command: "terraform providers" command · 3af0ecdf
      Martin Atkins authored
      This new command prints out the tree of modules annotated with their
      associated required providers.
      
      The purpose of this command is to help users answer questions such as
      "why is this provider required?", "why is Terraform using an older version
      of this provider?", and "what combination of modules is creating an
      impossible provider version situation?"
      
      For configurations using many modules this sort of question is likely to
      come up a lot once we support versioned providers.
      
      As a bonus use-case, this command also shows explicitly when a provider
      configuration is being inherited from a parent module, to help users to
      understand where the configuration is coming from for each module when
      some child modules provide their own provider configurations.
      3af0ecdf
    • Martin Atkins's avatar
      Push plugin discovery down into command package · 8364383c
      Martin Atkins authored
      Previously we did plugin discovery in the main package, but as we move
      towards versioned plugins we need more information available in order to
      resolve plugins, so we move this responsibility into the command package
      itself.
      
      For the moment this is just preserving the existing behavior as long as
      there are only internal and unversioned plugins present. This is the
      final state for provisioners in 0.10, since we don't want to support
      versioned provisioners yet. For providers this is just a checkpoint along
      the way, since further work is required to apply version constraints from
      configuration and support additional plugin search directories.
      
      The automatic plugin discovery behavior is not desirable for tests because
      we want to mock the plugins there, so we add a new backdoor for the tests
      to use to skip the plugin discovery and just provide their own mock
      implementations. Most of this diff is thus noisy rework of the tests to
      use this new mechanism.
      8364383c
  12. 01 Apr, 2017 1 commit
  13. 01 Mar, 2017 1 commit
    • James Bardin's avatar
      Split Meta back out of StateMeta · 39a5ddd3
      James Bardin authored
      Removing the call to StateMeta.Env, so that it doesn't need an embedded
      Meta field. Embed Meta and StateMeta separately in all State commands.
      39a5ddd3
  14. 28 Feb, 2017 3 commits
  15. 07 Feb, 2017 1 commit
    • James Bardin's avatar
      Remove lock command and rename lock/force-unlock · 65abe980
      James Bardin authored
      Remove the lock command for now to avoid confusion about the behavior of
      locks. Rename lock to force-unlock to make it more aparent what it does.
      
      Add a success message, and chose red because it can be a dangerous
      operation.
      
      Add confirmation akin to `destroy`, and a `-force` option for
      automation and testing.
      65abe980
  16. 26 Jan, 2017 1 commit
  17. 08 Dec, 2016 2 commits
  18. 24 Nov, 2016 1 commit
    • Martin Atkins's avatar
      Remind future maintainers to update the docs when changing CLI usage · fef57279
      Martin Atkins authored
      We have a copy of the output from running just "terraform" in a page on
      the website. It doesn't necessarily need to be kept 100% up to date, since
      users can always run the command to get the result from the horses mouth,
      but it's nice to keep it somewhat up-to-date to reduce use confusion.
      fef57279
  19. 21 Nov, 2016 1 commit
    • James Bardin's avatar
      Add debug command with json2dot · b8adf102
      James Bardin authored
      Add `terraform debug json2dot` to convert debug log graphs to dot
      format. This is not meant to be in place of more advanced debug
      visualization, but may continue to be a useful way to work with the
      debug output.
      b8adf102
  20. 14 Nov, 2016 1 commit
  21. 16 Aug, 2016 1 commit
  22. 22 Jun, 2016 1 commit
  23. 24 May, 2016 2 commits
  24. 11 May, 2016 1 commit
  25. 10 May, 2016 3 commits
    • Chris Bednarski's avatar
      Implemented internal plugin calls; which allows us to compile plugins into the... · 6360e6c8
      Chris Bednarski authored
      Implemented internal plugin calls; which allows us to compile plugins into the main terraform binary
      6360e6c8
    • Mitchell Hashimoto's avatar
      add command/state show · f6692e66
      Mitchell Hashimoto authored
      f6692e66
    • Mitchell Hashimoto's avatar
      Add `terraform state list` command · d1b46e99
      Mitchell Hashimoto authored
      This introduces the terraform state list command to list the resources
      within a state. This is the first of many state management commands to
      come into 0.7.
      
      This is the first command of many to come that is considered a
      "plumbing" command within Terraform (see "plumbing vs porcelain":
      http://git.661346.n2.nabble.com/what-are-plumbing-and-porcelain-td2190639.html).
      As such, this PR also introduces a bunch of groundwork to support
      plumbing commands.
      
      The main changes:
      
      - Main command output is changed to split "common" and "uncommon"
        commands.
      
      - mitchellh/cli is updated to support nested subcommands, since
        terraform state list is a nested subcommand.
      
      - terraform.StateFilter is introduced as a way in core to filter/search
        the state files. This is very basic currently but I expect to make it
        more advanced as time goes on.
      
      - terraform state list command is introduced to list resources in a
        state. This can take a series of arguments to filter this down.
      
      Known issues, or things that aren't done in this PR on purpose:
      
      - Unit tests for terraform state list are on the way. Unit tests for the
        core changes are all there.
      d1b46e99
  26. 11 Mar, 2016 1 commit
  27. 07 Mar, 2016 1 commit
    • Dan Carley's avatar
      command/fmt: Add new fmt command · cc41c7cf
      Dan Carley authored
      This uses the `fmtcmd` package which has recently been merged into HCL. Per
      the usage text, this rewrites Terraform config files to their canonical
      formatting and style.
      
      Some notes about the implementation for this initial commit:
      
      - all of the fmtcmd options are exposed as CLI flags
      - it operates on all files that have a `.tf` suffix
      - it currently only operates on the working directory and doesn't accept a
        directory argument, but I'll extend this in subsequent commits
      - output is proxied through `cli.UiWriter` so that we write in the same way
        as other commands and we can capture the output during tests
      - the test uses a very simple fixture just to ensure that it is working
        correctly end-to-end; the fmtcmd package has more exhaustive tests
      - we have to write the fixture to a file in a temporary directory because it
        will be modified and for this reason it was easier to define the fixture
        contents as a raw string
      cc41c7cf
  28. 08 Feb, 2016 1 commit
  29. 24 Mar, 2015 1 commit