Commit graph

5840 commits

Author SHA1 Message Date
Komal
8616390418
[codegen/python] - Fix python .get() codegen (#6433) 2021-03-01 09:54:25 -08:00
Josh Studt
c921c708e9
[sdk/dotnet] - automation api fix OnOutput (#6435) 2021-02-28 20:06:12 -08:00
Vivek Lakshmanan
48aff05ff3
Merge pull request #6428 from pulumi/vl/EnumContainerTypes
Adding enum container types support for go codegen
2021-02-26 09:42:31 -08:00
Vivek Lakshmanan
8d022e39e8 Fix tests 2021-02-25 22:26:54 -08:00
Vivek Lakshmanan
92571f8f12 Adding enum container types support for go codegen 2021-02-25 22:26:37 -08:00
Komal
ebb6575185
Add triple quotes around deprecation warnings. (#6429) 2021-02-25 21:22:04 -08:00
jakzo
e78dea4979
serialize default parameters (#6397) 2021-02-25 21:21:10 -08:00
Komal
4a59900920
Enable python automation API tests on Windows (#6424) 2021-02-24 17:28:23 -08:00
Komal
24e07ab507
[automation/python] - Use TemporaryFile and seek() (#6421) 2021-02-24 17:21:24 -08:00
Cameron Stokes
0df3996fd5
Fixes broken pull request links in CHANGELOG. (#6420) 2021-02-24 20:36:29 +00:00
Mike Chen
256e8284d0
[automation] - Add diff to up and preview in automation API (#6413)
Co-authored-by: Mike Chen <mikechen@ip-192-168-1-8.ec2.internal>
2021-02-23 17:38:28 -08:00
Komal
8b665f7131
[automation] - Remove summary from PreviewResult (#6405) 2021-02-23 17:07:16 -08:00
Paul Stack
aab9cb5e42
Changing the process for CHANGELOG entries (#6408)
As part of our continued effort to make our releases more useful,
we will be adding our CHANGELOG entries to the GitHub Release.

To make this process smooth, we are going to change things a little:

1. All new changelog entries when submitting a PR for an upcoming
release will now need to get added to CHANGELOG_PENDING.md
This is the source of information for what will be delivered in the
release.

2. When a release is being made, the entries from CHANGELOG_PENDING
will be copied to a new version and dated section in CHANGLOG to
mark the release

3. The GH tags will continue as normal and Goreleaser will copy
the changelog entries to the release section in GH
2021-02-23 19:59:59 +00:00
Mikhail Shilkov
7a3cb91fd7
Merge pull request #6407 from pulumi/mikhailshilkov/lint
Fix a lint error
2021-02-23 11:20:42 +01:00
Mikhail Shilkov
9a837db992 Fix a lint error 2021-02-23 11:17:02 +01:00
Mikhail Shilkov
5b2ebc738b
Merge pull request #6250 from pulumi/mikhailshilkov/stack-overflow-programgen
Avoid stack overflow in Azure NextGen program examples
2021-02-23 09:45:50 +01:00
Luke Hoban
8fc6f910b4
Fix mustWrite for Input/Output PropertyMaps (#6396) 2021-02-23 09:04:57 +11:00
Justin Van Patten
277dee6cc1
[codegen/dotnet] Fixes to version.txt (#6398)
We currently include `version.txt` in the package via `<Content Include="version.txt">`. This places the file in the NuGet package in two locations: the `content` directory and `contentFiles`.

We want the file to be in `content` because this is where the Pulumi .NET Language host looks for the file when determining a program's required plugins.

However, having the file in `contentFiles` is problematic. For packages that reference other Pulumi resource packages (e.g. for multi-lang components), referenced `contentFiles` are included in the package by default. This means another package's `version.txt` will be included and used over the current project's `version.txt`. For example, if a multi-lang component package `Pulumi.Xyz` references `Pulumi.Aws`, the `version.txt` from `Pulumi.Aws` will be used in `Pulumi.Xyz` package rather than the intended `version.txt` for `Pulumi.Xyz`.

To address this, stop including `version.txt` in `contentFiles`. We do this by changing the `<Content Include="version.txt" />` to `<None Include="version.txt" Pack="True" PackagePath="content" />` in the project file. This  ensures the file will still be included in the package in the `content` dir (where the Pulumi .NET language host expects to find it), but doesn't include the file in `contentFiles` which would cause it to be used in other packages that reference the package.

Further, when generating `<PackageReference>`s for packages that start with "Pulumi.", include an additional `ExcludeAssets="contentFiles"` attribute to prevent the package's `contentFiles` from being included.
2021-02-22 08:33:16 -08:00
stack72
543cbe194c Prepare for v2.21.2 release 2021-02-22 10:41:13 +00:00
Komal
5f4e687a1d
[automation] - Consume config set-all and rm-all commands (#6388) 2021-02-19 22:59:18 -08:00
Komal
4882c9fec5
[CLI] - Add commands for config set-all and rm-all (#6373) 2021-02-19 21:55:58 -08:00
Paul Stack
1731053b18
[cli] Disable permalinks to the update details page when using elf-managed backends (S3, Azure, GCS) (#6251)
Fixes: #4029
Fixes: #3537

Should the user want to get permalinks when using a self-managed backend, they can pass a flag:
```
$ pulumi up --suppress-permalink false
```

Permalinks for these self-managed backends will be suppressed on `update`, `preview`, `destroy`,
`import` and `refresh` operations.
2021-02-19 23:55:35 +00:00
Luke Hoban
f7397bb798
[sdk/nodejs] Skip re-registrations of same package+version (#6387)
It is possible for the same version of the same provider SDK to be loaded multiple times in Node.js.  In this case, we might legitimately get mutliple registrations of the same resource.  It should not matter which we use, so we can just skip re-registering.  De-serialized resources will always be instances of classes from the first registered package.

Example layout this addresses.  Registrations of resources in `package3` at the same verrsion.

`node_modules`
  `@pulumi/pulumi`
  `package1`
    `node_modules`
      `package3`
  `package2`
    `node_modules`
      `package3`

Fixes #6258.
2021-02-20 10:06:32 +11:00
Paul Stack
47a43dc862
Allow http cloudurls on pulumi login (#6393) 2021-02-19 22:56:49 +00:00
Mikhail Shilkov
2b233321d6
Merge pull request #6391 from pulumi/mikhailshilkov/publish-dotnet-automation-preview
Publish Pulumi.Automation as a preview NuGet
2021-02-19 20:29:17 +01:00
Mikhail Shilkov
9dbb5a979a Publish Pulumi.Automation as a preview NuGet 2021-02-19 12:09:04 +01:00
Justin Van Patten
fac20ddf6b
[codegen/python] Emit pulumiplugin.json in the correct dir (#6385)
This new optional file can be used to include additional metadata about the provider plugin (such as version and custom server URL), which the Python language host will use when determining a program's required plugins.

This change fixes the codegen to emit the file in the correct location (inside the package dir). Note: Providers need to opt-in to emitting this file via a schema option (because it requires some Makefile changes to insert the version in the file) and we haven't done that with any of our providers yet.
2021-02-18 13:36:36 -08:00
stack72
af10965382 Fixing up CHANGELOG after v2.21.1 patch 2021-02-18 20:24:52 +00:00
Mikhail Shilkov
c94b3adbe0
Merge pull request #6382 from orionstudt/auto/stack-manip-test
[Automation API] - resolve stack manipulation test assertions
2021-02-18 20:29:05 +01:00
Joshua Studt
6ae9a1ecf5 revert changelog update 2021-02-18 13:32:51 -05:00
Komal
ca5ab18f6d
[sdk/python] - Allow Output.all with no inputs (#6381) 2021-02-18 10:11:13 -08:00
Joshua Studt
6dbb2cb3fe update changelog 2021-02-18 12:56:08 -05:00
Joshua Studt
2f47060f83 resolve stack manipulation test issue by not making assertions about entire stack collection, plugin manipulation test as example 2021-02-18 12:52:48 -05:00
Mikhail Shilkov
be34dd68da
Merge pull request #6376 from pulumi/mikhailshilkov/fsharp-stack-options
Support StackOptions in F# functions
2021-02-18 15:48:39 +01:00
Mikhail Shilkov
ed3d7449af Changelog 2021-02-18 14:08:15 +01:00
UnoSD
c42d39a24f Support StackOptions in F# functions 2021-02-18 14:08:15 +01:00
Mikhail Shilkov
1ccfd7413e
Fix serialization tests of .NET Automation (#6375) 2021-02-18 14:03:27 +01:00
Josh Studt
963b5ab710
[Automation API] - C# Implementation (#5761)
* Init Workspace interface for C# Automation API

* fleshing out workspace interface and beginning of local workspace implementation

* initial run pulumi cmd implementation

* resolve issue with pulumi cmd cleanup wrapper task after testing

* flesh out local workspace implementation, flesh out stack implementation, cleanup run pulumi cmd implementation and make it an instance so it is mockable/testable, separate serialization in prep for custom converters

* project settings json serialization implemented

* Initial commit of language server

* Add deployment from language server

* Cleanup

* finish json serialization

* project runtime yaml serialization completed. just need stack config value yaml serialization

* Remove typed argument

* Limit concurrency

* Rename file for consistency

* final commit of a semi-working project settings & stack settings serialization so that it is in the commit history

* modify workspace API so that settings accessors aren't fully exposed since we are defering a complete serialization implementation until a later date

* yaml converters wrap any outgoing exceptions so resolve that

* getting the beginning of inline program GRPC communication set up

* stack lifecycle operations implemented, and switched to newtonsoft for JSON serialization

* change back to system.text.json with a custom object converter

* local workspace tests written, working on getting them passing

* fix the encoding on the GO files used for testing

* all tests passing except inline program, pulumi engine not available with inline

* inline program engine is now running as expecting, but inline program is not recognizing local stack config

* All tests passing, but no concurrency capability because of the singleton DeploymentInstance.

* cleanup unnecessary usings

* minor cleanup / changes after a quick review. Make sure ConfigureAwait is used where needed. Remove newtonsoft dependency from testing. Update workspace API to use existing PluginKind enum. Modify LanguageRuntimeService so that its semaphore operates process-wide.

* support for parallel execution of inline program, test included

* Update LocalWorkspaceTests.cs

remove some redundancy from the inline program parallel execution text

* flesh out some comments and make asynclocal instance readonly

* Strip out instance locking since it is no longer necessary with AsyncLocal wrapping the Deployment.Instance. Modify CreateRunner method such that we are ensuring there isn't a chance of delayed synchronous execution polluting the value of Deployment.Instance across calls to Deployment.RunAsync

* resolve conflicts with changes made to Deployment.TestAsync entrypoints

* update changelog

* write a test that fails if the CreateRunnerAndRunAsync method on Deployment is not marked async and fix test project data file ref

* make resource package state share the lifetime of the deployment so that their isn't cross deployment issues with resource packages, add support and tests for external resource packages (resource packages that aren't referenced by the executing assembly)

* enable parallel test collection execution in test suite, add some additional tests for deployment instance protection and ensuring that our first class stack exceptions are thrown when expected

* minor inline project name arg change, and re-add xunit json to build output (whoops)

* strip out concurrency changes since they are now in #6139, split automation into separate assembly, split automation tests into separate assembly

* add copyright to the top of each new file

* resolve some PR remarks

* inline program exception is now properly propagated to the caller on UpAsync and PreviewAsync

* modify PulumiFn to allow TStack and other delegate overloads without needing multiple first class delegates.

* whoops missing a copyright

* resolve getting TStack into IRunner so that outputs are registered correctly and so that there isn't 2 instances of Pulumi.Stack instantiated.

* resolve issue with propagation of TStack exceptions and add a test

* add support for a TStack PulumiFn resolved via IServiceProvider

* update automation API description

* fix comment and remove unnecessary TODOs

* disable packaging of automation api assembly

* re-name automation api documentation file appropriately

* add --limit support to dotnet automation api for stack history per #6257

* re-name XStack as WorkspaceStack

* replace --limit usage with --page-size and --page in dotnet automation api per #6292

Co-authored-by: evanboyle <evan@pulumi.com>
Co-authored-by: Josh Studt <josh.studt@figmarketing.com>
Co-authored-by: Dan Friedman <dan@thefriedmans.org>
Co-authored-by: David Ferretti <David.Ferretti@figmarketing.com>
Co-authored-by: Mikhail Shilkov <github@mikhail.io>
2021-02-18 11:36:21 +01:00
Justin Van Patten
8d5e9bcd6e
Fix copy/paste bug in provider_server.go (#6370) 2021-02-17 16:56:47 -08:00
stack72
82967d3272 removing arm64 build from binaries whilst waiting on upgrade to go1.16 2021-02-17 20:42:48 +00:00
stack72
37a8fde1a6 Merge branch 'format-changelog-v2.21.0' 2021-02-17 20:17:45 +00:00
Paul Stack
65af508a5a
Removing arm64 as this repository is not using go1.16 and will fail (#6367) 2021-02-17 19:47:26 +00:00
stack72
8de877bc4b Formatting the changelog in preparation for v2.21.0 2021-02-17 19:07:28 +00:00
Komal
a6b6437b49
[Automation] Fix python nested config parsing (#6349) 2021-02-17 10:16:35 -08:00
Komal
b6f548a599
[sdk/python] - Define __all__ for better autocomplete. (#6351) 2021-02-17 09:09:10 -08:00
Komal
f4f5aaf500
[codegen/docs] - More doc title fixes (#6357) 2021-02-17 09:08:19 -08:00
Komal
ae91a277df
[codegen/docs] - Standardize function and resource titles. (#6325) 2021-02-16 20:03:06 -08:00
Ringo De Smet
bcd14d8060
Automation API Go SDK: Expsoe the version in the UpdateSummary struct. (#6339) 2021-02-16 12:16:41 -08:00
Justin Van Patten
0fe4978a7a
[sdk/nodejs] Update @grpc/grpc-js dependency (#6341) 2021-02-16 08:46:32 -08:00
Paul Stack
66052f5d29
Ensure changes to pkg/codegen/docs run PR build (#6340) 2021-02-16 16:09:43 +00:00