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. 01 Apr, 2021 4 commits
  2. 31 Mar, 2021 6 commits
  3. 30 Mar, 2021 8 commits
  4. 29 Mar, 2021 4 commits
  5. 26 Mar, 2021 6 commits
    • Alisdair McDiarmid's avatar
      command/jsonplan: Add output change sensitivity · 5e30d58d
      Alisdair McDiarmid authored
      When an output value changes, we have a small amount of information we
      can convey about its sensitivity. If either the output was previously
      marked sensitive, or is currently marked sensitive in the config, this
      is tracked in the output change data.
      
      This commit encodes this boolean in the change struct's
      `before_sensitive` and `after_sensitive` fields, in the a way which
      matches resource value sensitivity. Since we have so little information
      to work with, these two values will always be booleans, and always equal
      each.
      
      This is logically consistent with how else we want to obscure sensitive
      data: a changing output which was or is marked sensitive should not have
      the value shown in human-readable output.
      5e30d58d
    • Alisdair McDiarmid's avatar
      63613ca1
    • Alisdair McDiarmid's avatar
      command/jsonplan: Add sensitive value mapping data · e27aaceb
      Alisdair McDiarmid authored
      Similar to `after_unknown`, `before_sensitive` and `after_sensitive` are
      values with similar structure to `before` and `after` which encode the
      presence of sensitive values in a planned change. These should be used
      to obscure sensitive values from human-readable output.
      
      These values follow the same structure as the `before` and `after`
      values, replacing sensitive values with `true`, and non-sensitive values
      with `false`. Following the `after_unknown` precedent, we omit
      non-sensitive `false` values for object attributes/map values, to make
      serialization more compact.
      
      One difference from `after_unknown` is that a sensitive complex value
      (collection or structural type) is replaced with `true`. If the complex
      value itself is sensitive, all of its contents should be obscured.
      e27aaceb
    • Matthew Frahry's avatar
    • Judith Malnick's avatar
    • Alisdair McDiarmid's avatar
      Merge pull request #28202 from hashicorp/alisdair/fmt-multiline-value-expr-unwrap · fd7c4105
      Alisdair McDiarmid authored
      cli: Fix fmt output for multi-line value exprs
      fd7c4105
  6. 25 Mar, 2021 6 commits
    • James Bardin's avatar
      failing test for removed cbd reference · 985124bf
      James Bardin authored
      A stored dependency is documented as being honored even after it is
      removed from the configuration, until the referenced resource is
      destroyed.
      985124bf
    • James Bardin's avatar
      fix ResourceInstanceObject.DeepCopy · bac4e0a3
      James Bardin authored
      missing CreateBeforeDestroy
      bac4e0a3
    • Martin Atkins's avatar
      command: Reorganize docs of the local backend's legacy CLI options · 6f35c284
      Martin Atkins authored
      We have these funny extra options that date back to before Terraform even
      had remote state, which we've preserved along the way by most recently
      incorporating them as special-case overrides for the local backend.
      
      The documentation we had for these has grown less accurate over time as
      the details have shifted, and was in many cases missing the requisite
      caveats that they are only for the local backend and that backend
      configuration is the modern, preferred way to deal with the use-cases they
      were intended for.
      
      We always have a bit of a tension with this sort of legacy option because
      we want to keep them documented just enough to be useful to someone who
      finds an existing script/etc using them and wants to know what they do,
      but not to take up so much space that they might distract users from
      finding the modern alternative they should consider instead.
      
      As a compromise in that vein here I've created a new section about these
      options under the local backend documentation, which then gives us the
      space to go into some detail about the various behaviors and interactions
      and also to discuss their history and our recommended alternatives. I then
      simplified all of the other mentions of these in command documentation
      to just link to or refer to the local backend documentation. My hope then
      is that folks who need to know what these do can still find the docs, but
      that information can be kept out of the direct path of new users so they
      can focus on learning about remote backends instead.
      
      This is certainly not the most ideal thing ever, but it seemed like the
      best compromise between the competing priorities I described above.
      6f35c284
    • Matthew Frahry's avatar
      Website Test Fix · 13b41d59
      Matthew Frahry authored
      13b41d59
    • Alisdair McDiarmid's avatar
      cli: Fix fmt output for multi-line value exprs · d71f0c61
      Alisdair McDiarmid authored
      The formatter for value expressions which use legacy interpolation
      syntax was previously behaving incorrectly with some multi-line
      expressions. Any HCL expression which requires parenthesis to be allowed
      to span multiple lines could be skip those parens if already inside
      string interpolation (`"${}"`).
      
      When removing string interpolation, we now check for a resulting
      multi-line expression, and conservatively ensure that it starts and ends
      with parenthesis. These may be redundant, as not all expressions require
      parens to permit spanning multiple lines, but at least it will be valid
      output.
      d71f0c61
    • Alisdair McDiarmid's avatar
      plans/planfile: Add required-replace and sensitive · a12c413b
      Alisdair McDiarmid authored
      The stored planfile now serializes the required-replace path set and the
      collection of before/after sensitivity marks. This ensures that storing
      a plan and displaying it with `terraform show` renders the same output
      for plans with required-replace resources, and those with sensitive
      values in the diff.
      a12c413b
  7. 24 Mar, 2021 2 commits
    • Dennis Gursky's avatar
      Set Intersection #performance (#28183) · 550de861
      Dennis Gursky authored
      * Set Intersection #performance
      
      Intersection is faster for sets of different sizes if one iterates over the shorter set and checks the presence of an element in a larger one. For an edge case consider `s` having 1M entries and `other` no entries at all. In this case original code will iterate over 1M entries in `s` not finding anything and then returning an empty result set. In the patched code the iteration won't happen at all and result is returned immediately.
      
      This change is inspired by profiling a relatively large terraform configuration, where the time to validate was sped up 4x with this change.
      550de861
    • James Bardin's avatar
      Merge pull request #28180 from hashicorp/jbardin/mark-provider-sensitive · 07ecfb13
      James Bardin authored
      check for unknowns when marking resource values
      07ecfb13
  8. 23 Mar, 2021 4 commits