Commit graph

3698 commits

Author SHA1 Message Date
Pat Gavlin
ed46891693
Compute nested diffs in translateDetailedDiff. (#2911)
Instead of simply converting a detailed diff entry that indicates an
update to an entire composite value as a simple old/new value diff,
compute the nested diff. This alllows us to render a per-element diff
for the nested object rather than simply displaying the new and the old
composite values.

This is necessary in order to improve diff rendering once
pulumi/pulumi-terraform#403 has been rolled out.
2019-07-08 16:33:21 -07:00
Justin Van Patten
1fd4fa0c76
Update gen-markdown command for new site (#2869)
The documentation on the new site will be under /docs, and the alias for
the ugly style URL is no longer needed.
2019-07-04 09:36:37 -07:00
Matt Ellis
f11f4f7498
Merge pull request #2890 from Charliekenney23/only-print-emojis-in-interactive
Don't print emojis in non-interactive mode
2019-07-02 16:48:32 -07:00
Pat Gavlin
ebceea93a5
Update our verison of docker/docker. (#2897)
The version we are locked to is quite old, and contains an import of
`github.com/Sirupsen/logrus` that can cause problems in downstream repos
that directly or indirectly depend on `github.com/sirupsen/logrus` (note
the difference in casing). This notably includes
pulumi/pulumi-terraform.
2019-07-02 11:51:04 -07:00
Mikhail Shilkov
bc542e2dc4 Allow specifying a local path to templates for pulumi new (#2884)
* Allow specifying a local path to templates for pulumi new

* Add CHANGELOG

* gofmt

* Add tests

* Linting error
2019-07-01 14:40:55 -07:00
Mikhail Shilkov
e30e6208a0 Normalize Windows paths for directory archive (#2887)
* Normalize Windows paths for directory archive

* Changelog

* Remove the redundant check
2019-07-02 00:04:24 +03:00
Pat Gavlin
6e5c4a38d8
Defer all diffs to resource providers. (#2849)
Thse changes make a subtle but critical adjustment to the process the
Pulumi engine uses to determine whether or not a difference exists
between a resource's actual and desired states, and adjusts the way this
difference is calculated and displayed accordingly.

Today, the Pulumi engine get the first chance to decide whether or not
there is a difference between a resource's actual and desired states. It
does this by comparing the current set of inputs for a resource (i.e.
the inputs from the running Pulumi program) with the last set of inputs
used to update the resource. If there is no difference between the old
and new inputs, the engine decides that no change is necessary without
consulting the resource's provider. Only if there are changes does the
engine consult the resource's provider for more information about the
difference. This can be problematic for a number of reasons:

- Not all providers do input-input comparison; some do input-state
  comparison
- Not all providers are able to update the last deployed set of inputs
  when performing a refresh
- Some providers--either intentionally or due to bugs--may see changes
  in resources whose inputs have not changed

All of these situations are confusing at the very least, and the first
is problematic with respect to correctness. Furthermore, the display
code only renders diffs it observes rather than rendering the diffs
observed by the provider, which can obscure the actual changes detected
at runtime.

These changes address both of these issues:
- Rather than comparing the current inputs against the last inputs
  before calling a resource provider's Diff function, the engine calls
  the Diff function in all cases.
- Providers may now return a list of properties that differ between the
  requested and actual state and the way in which they differ. This
  information will then be used by the CLI to render the diff
  appropriately. A provider may also indicate that a particular diff is
  between old and new inputs rather than old state and new inputs.

Fixes #2453.
2019-07-01 12:34:19 -07:00
Charles Kenney
b6d469d53e update changelog 2019-06-30 01:43:16 -04:00
Charles Kenney
9b4a85d57c dont print emojis in non-interactive mode 2019-06-30 01:35:19 -04:00
CyrusNajmabadi
504478c641
Move to latest version of package (#2889) 2019-06-29 15:51:20 -07:00
Chris Smith
997516a7b8
Persist engine events in batches (#2860)
* Add EngineEventsBatch type

* Persist engine events in batches

* Reenable ee_perf test

* Limit max concurrent EE requests

* Address PR feedback
2019-06-28 09:40:21 -07:00
Joe Duffy
9b3ddcbf91
Update a few taglines in the README 2019-06-27 11:58:51 -04:00
Matt Ellis
29320af68b Release v0.17.21 2019-06-26 21:49:31 -07:00
Matt Ellis
881db4d72a Correctly flow secretness across POJO serliazation for stack outputs
Our logic to export a resource as a stack output transforms the
resource into a plain old object by eliding internal fields and then
just serializing the resource as a POJO.

The custom serialization logic we used here unwrapped an Output
without care to see if it held a secret. Now, when it does, we
continue to return an Output as the thing to be serialized and that
output is marked as a secret.

Fixes #2862
2019-06-26 15:16:07 -07:00
CyrusNajmabadi
c47ae413c3
Lock to a specific version of the read-package-tree library. (#2882) 2019-06-26 13:46:00 -07:00
James Nugent
352a4e79a0
Merge pull request #2878 from pulumi/jen20/fix-2782
Use literal string "value" in returned dictionary
2019-06-25 22:06:17 +01:00
James Nugent
42593ad24c Update CHANGELOG.md 2019-06-25 20:46:25 +01:00
James Nugent
a2b8b1d1d3 Use literal string "value" in returned dictionary
Currently, if a secret was present, the value of variable "value" is used as the
key for the dictionary object containing the output. This leads to KeyError
exceptions in various places, as reported in #2782. This PR changes that to use
the literal string "value".

Fixes #2782.
2019-06-25 20:42:39 +01:00
CyrusNajmabadi
7a1db9c24a
Update CL (#2868) 2019-06-24 11:54:40 -07:00
Chris Smith
f59a934044
Add EngineEventsBatch type (#2858) 2019-06-23 16:56:09 -07:00
CyrusNajmabadi
9823035de4
Dedupe aliases in the sdk as well (#2864) 2019-06-23 09:49:04 -07:00
CyrusNajmabadi
8553683713
Update changelog. (#2866) 2019-06-23 09:48:14 -07:00
CyrusNajmabadi
7b8421f0b2
Fix crash when there were multiple duplicate aliases to the same resource. (#2865) 2019-06-23 02:16:18 -07:00
CyrusNajmabadi
c674198e5a
Make our changelog consistent with the CHG format (#2863) 2019-06-21 11:00:19 -07:00
CyrusNajmabadi
a2ad0c034c
Update changelog (#2854) 2019-06-21 00:16:21 -07:00
CyrusNajmabadi
b26f444a0f
Disable test that is blocking PRs. (#2855) 2019-06-20 16:47:24 -07:00
CyrusNajmabadi
867abac947
Make it possible with aliases to say 'I had no parent before' (#2853) 2019-06-20 15:53:33 -07:00
Erin Krengel
93c2736e2d
move requiredPolicies to UpdateProgramResponse (#2850) 2019-06-19 16:42:02 -07:00
david raistrick
224178874e add .venv/ to python .gitignore to ignore when using PIPENV_VENV_IN_PROJECT=1 2019-06-19 12:43:04 -07:00
david raistrick
a603f4f904 fix unquoted $PATH consumption so it doesnt break when paths have spaces. 2019-06-19 12:42:26 -07:00
CyrusNajmabadi
ef3cad6bf1
Reads should not cause resources to be displayed in our progress display (#2844) 2019-06-18 15:38:32 -07:00
Matt Ellis
eb3a7d0a7a Fix up some spelling errors
@keen99 pointed out that newer versions of golangci-lint were failing
due to some spelling errors. This change fixes them up.  We have also
now have a work item to track moving to a newer golangci-lint tool in
the future.

Fixes #2841
2019-06-18 15:30:25 -07:00
david raistrick
2e08a9c5d2 add golangci-lint to brew install in contributing 2019-06-18 14:44:41 -07:00
david raistrick
4833fe1045 add go to brew install for contributing 2019-06-18 11:08:53 -07:00
CyrusNajmabadi
55d2f82170
Make private field internal (#2840) 2019-06-18 10:54:14 -07:00
Matt Ellis
93025e5f36 Use PULUMI_TEST_MODE to control test mode in Python
This mirrors the UX that we have in node where you can set
`PULUMI_TEST_MODE` to control if test mode is enabled from outside
your program.

Fixes #2818
2019-06-18 10:48:29 -07:00
Matt Ellis
e3151c1528
Merge pull request #2837 from pulumi/ellismg/update-node-version
Update supported versions list
2019-06-17 13:27:58 -07:00
CyrusNajmabadi
11a19a4990
Make it possible to get a StackReference output promptly (#2824) 2019-06-17 12:25:56 -07:00
Matt Ellis
ad7397b310 Update supported versions list
We no longer support Node 6.X (it went end of life at the end of
April, we stopped testing on it, and now we use features that are not
in Node 6 like `Object.values`.

Note that we support 8+, and add an `engines` section to our
package.json so folks who try to install on older versions of node see
warnings.
2019-06-17 12:11:38 -07:00
Matt Ellis
0b4d94a239
Merge pull request #2813 from dreamteam-gg/backend-config
Backend setting in project config
2019-06-14 08:31:28 -07:00
Alex Clemmer
0fc4bc7885 Remove policy ID from policy API 2019-06-13 17:39:30 -07:00
Alex Clemmer
43ef3acb64 Remove policy ID from the analyzer protocol 2019-06-13 17:39:30 -07:00
Matt Ellis
e0f7dc17cd Guard against proj.Backend being nil 2019-06-13 16:26:31 -07:00
Alex Clemmer
8b7d329c69 Use Analyzer PB in analyzer code 2019-06-13 16:04:13 -07:00
Alex Clemmer
346861b9d6 Update Analyzer PB for policy 2019-06-13 16:04:13 -07:00
Artem Yarmoluk
f1b5fb6e0f
Backend setting in project config
Signed-off-by: Artem Yarmoluk <koolgen@gmail.com>
2019-06-13 20:02:03 +03:00
CyrusNajmabadi
b9c57858ed
Update changelog. (#2819) 2019-06-12 15:47:17 -07:00
CyrusNajmabadi
54cbda80c1
Store information about a CustomResource's provider in __providers. (#2816) 2019-06-11 16:57:37 -07:00
Matt Ellis
bc9448b1cf Fix crash in pulumi stack output when stack is empty 2019-06-11 12:58:29 -07:00
Matt Ellis
01b9354336
Merge pull request #2797 from pulumi/ellismg/merge-2698
Fix a bug when logging into bucket urls
2019-06-10 14:06:35 -07:00