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. 22 Jun, 2021 1 commit
  2. 21 Jun, 2021 3 commits
    • Alisdair McDiarmid's avatar
      Merge pull request #28994 from hashicorp/alisdair/cty-1.8.4 · d54bcb62
      Alisdair McDiarmid authored
      Upgrade cty to v1.8.4
      d54bcb62
    • Alisdair McDiarmid's avatar
      ed0fc8a3
    • Kristin Laemmert's avatar
      configs: add decodeMovedBlock behind a locked gate. (#28973) · 3acb5e28
      Kristin Laemmert authored
      This PR adds decoding for the upcoming "moved" blocks in configuration. This code is gated behind an experiment called EverythingIsAPlan, but the experiment is not registered as an active experiment, so it will never run (there is a test in place which will fail if the experiment is ever registered).
      
      This also adds a new function to the Targetable interface, AddrType, to simplifying comparing two addrs.Targetable.
      
      There is some validation missing still: this does not (yet) descend into resources to see if the actual resource types are the same (I've put this off in part because we will eventually need the provider schema to verify aliased resources, so I suspect this validation will have to happen later on).
      3acb5e28
  3. 18 Jun, 2021 5 commits
  4. 17 Jun, 2021 3 commits
    • Alisdair McDiarmid's avatar
      json-output: Omit unchanged resource_drift entries · 3326ab7d
      Alisdair McDiarmid authored
      Previously, if any resources were found to have drifted, the JSON plan
      output would include a drift entry for every resource in state. This
      commit aligns the JSON plan output with the CLI UI, and only includes
      those resources where the old value does not equal the new value---i.e.
      drift has been detected.
      
      Also fixes a bug where the "address" field was missing from the drift
      output, and adds some test coverage.
      3326ab7d
    • Kristin Laemmert's avatar
      Update CHANGELOG.md · af68a1e5
      Kristin Laemmert authored
      af68a1e5
    • Kristin Laemmert's avatar
      commands: `terraform add` (#28874) · 583859e5
      Kristin Laemmert authored
      * command: new command, terraform add, generates resource templates
      
      terraform add ADDRESS generates a resource configuration template with all required (and optionally optional) attributes set to null. This can optionally also pre-populate nonsesitive attributes with values from an existing resource of the same type in state (sensitive vals will be populated with null and a comment indicating sensitivity)
      
      * website: terraform add documentation
      583859e5
  5. 16 Jun, 2021 2 commits
  6. 15 Jun, 2021 1 commit
  7. 14 Jun, 2021 5 commits
  8. 11 Jun, 2021 1 commit
    • James Bardin's avatar
      handle unexpected changes to unknown block · b7f8ef4d
      James Bardin authored
      An unknown block represents a dynamic configuration block with an
      unknown for_each value. We were not catching the case where a provider
      modified this value unexpectedly, which would crash with block of type
      NestingList blocks where the config value has no length for comparison.
      b7f8ef4d
  9. 10 Jun, 2021 3 commits
  10. 09 Jun, 2021 3 commits
    • James Bardin's avatar
      account for noop deposed instances in json plan · 09c33fa4
      James Bardin authored
      When rendering a json plan, we need to account for deposed instances
      that have become a noop rather than a destroy.
      09c33fa4
    • J.D. Stone's avatar
      Update 0-15.html.markdown · ce638c92
      J.D. Stone authored
      Fixed a typo.
      ce638c92
    • Nick Fagerlund's avatar
      Remote backend: Stop setting message when creating runs · ab70879b
      Nick Fagerlund authored
      Historically, we've used TFC's default run messages as a sort of dumping
      ground for metadata about the run. We've recently decided to mostly stop
      doing that, in favor of:
      
      - Only specifying the run's source in the default message.
      - Letting TFC itself handle the default messages.
      
      Today, the remote backend explicitly sets a run message, overriding
      any default that TFC might set. This commit removes that explicit message
      so we can allow TFC to sort it out.
      
      This shouldn't have any bad effect on TFE out in the wild, because it's
      known how to set a default message for remote backend runs since late 2018.
      ab70879b
  11. 08 Jun, 2021 7 commits
  12. 03 Jun, 2021 6 commits
    • Kristin Laemmert's avatar
      tools: remove terraform-bundle. (#28876) · 5a48530f
      Kristin Laemmert authored
      * tools: remove terraform-bundle.
      
      terraform-bundle is no longer supported in the main branch of terraform. Users can build terraform-bundle from terraform tagged v0.15 and older.
      
      * add a README pointing users to the v0.15 branch
      5a48530f
    • Martin Atkins's avatar
      Update CHANGELOG.md · 79c61095
      Martin Atkins authored
      79c61095
    • Martin Atkins's avatar
      addrs: ModuleRegistryPackage for representing module registry packages · 51b0aee3
      Martin Atkins authored
      Previously we had a separation between ModuleSourceRemote and
      ModulePackage as a way to represent within the type system that there's an
      important difference between a module source address and a package address,
      because module packages often contain multiple modules and so a
      ModuleSourceRemote combines a ModulePackage with a subdirectory to
      represent one specific module.
      
      This commit applies that same strategy to ModuleSourceRegistry, creating
      a new type ModuleRegistryPackage to represent the different sort of
      package that we use for registry modules. Again, the main goal here is
      to try to reflect the conceptual modelling more directly in the type
      system so that we can more easily verify that uses of these different
      address types are correct.
      
      To make use of that, I've also lightly reworked initwd's module installer
      to use addrs.ModuleRegistryPackage directly, instead of a string
      representation thereof. This was in response to some earlier commits where
      I found myself accidentally mixing up package addresses and source
      addresses in the installRegistryModule method; with this new organization
      those bugs would've been caught at compile time, rather than only at
      unit and integration testing time.
      
      While in the area anyway, I also took this opportunity to fix some
      historical confusing names of fields in initwd.ModuleInstaller, to be
      clearer that they are only for registry packages and not for all module
      source address types.
      51b0aee3
    • Martin Atkins's avatar
      initwd: Fix registry acceptance tests for upstream registry changes · 7b2a0284
      Martin Atkins authored
      We have some tests in this package that install real modules from the real
      registry at registry.terraform.io. Those tests were written at an earlier
      time when the registry's behavior was to return the URL of a .tar.gz
      archive generated automatically by GitHub, which included an extra level
      of subdirectory that would then be reflected in the paths to the local
      copies of these modules.
      
      GitHub started rate limiting those tar archives in a way that Terraform's
      module installer couldn't authenticate to, and so the registry switched
      to returning direct git repository URLs instead, which don't have that
      extra subdirectory and so the local paths on disk now end up being a
      little different, because the actual module directories are at a different
      subdirectory of the package.
      7b2a0284
    • Martin Atkins's avatar
      configs: EntersNewPackage methods for descendant modules · 17b766c3
      Martin Atkins authored
      Now that we (in the previous commit) refactored how we deal with module
      sources to do the parsing at config loading time rather than at module
      installation time, we can expose a method to centralize the determination
      for whether a particular module call (and its resulting Config object)
      enters a new external package.
      
      We don't use this for anything yet, but in later commits we will use this
      for some cross-module features that are available only for modules
      belonging to the same package, because we assume that modules grouped
      together in a package can change together and thus it's okay to permit a
      little more coupling of internal details in that case, which would not
      be appropriate between modules that are versioned separately.
      17b766c3
    • Martin Atkins's avatar
      Refactoring of module source addresses and module installation · 1a8da653
      Martin Atkins authored
      It's been a long while since we gave close attention to the codepaths for
      module source address parsing and external module package installation.
      Due to their age, these codepaths often diverged from our modern practices
      such as representing address types in the addrs package, and encapsulating
      package installation details only in a particular location.
      
      In particular, this refactor makes source address parsing a separate step
      from module installation, which therefore makes the result of that parsing
      available to other Terraform subsystems which work with the configuration
      representation objects.
      
      This also presented the opportunity to better encapsulate our use of
      go-getter into a new package "getmodules" (echoing "getproviders"), which
      is intended to be the only part of Terraform that directly interacts with
      go-getter.
      
      This is largely just a refactor of the existing functionality into a new
      code organization, but there is one notable change...
      1a8da653