Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Future .NET sdk work #3406

Closed
9 tasks done
CyrusNajmabadi opened this issue Oct 25, 2019 · 3 comments
Closed
9 tasks done

Future .NET sdk work #3406

CyrusNajmabadi opened this issue Oct 25, 2019 · 3 comments
Assignees
Labels
area/sdks Pulumi language SDKs
Milestone

Comments

@CyrusNajmabadi
Copy link
Contributor

CyrusNajmabadi commented Oct 25, 2019

Here are items pulled out of the original .NET pr (#3399) that would be good to look into later on:

P1:

P2:

  1. Add .NET Examples to tests
  2. Add Windows test coverage for some subset of .NET examples
  3. Apply improved namespace naming to all other providers (except AWS, Azure, AzureAD).
  4. StackReferences
  5. Add **preview** .NET Core support for pulumi. #3399 (comment). Can we get off of using static state. Perhaps have the instance state computed and passed into the RunAsync method as an appropriate context. Note: inputs/outputs are difficult here as they look at state like IsPreview and don't always have a clear way to determine that value.
  6. Use MEF and switch to a plugin model instead of an exe model. This would allow dep-injection to be used by clients and would lead to a more natural way of exposing the user's 'Stack' with attributes intead of with them having a Main method which bounces in and back from Pulumi.
  7. Add **preview** .NET Core support for pulumi. #3399 (comment). Make it easy to log an exception.
  8. Clean things up between Stack and ComponentResource. Add **preview** .NET Core support for pulumi. #3399 (comment)
  9. Investigate 'lifting' on .net outputs like we do with JS outputs: Add **preview** .NET Core support for pulumi. #3399 (comment)
  10. First class unknowns: Add **preview** .NET Core support for pulumi. #3399 (comment)
  11. add the work for TerraformRemoteState in pulumi-terraform
  12. Mixins: SAS tokens for storage, ArchiveFunctionApp. Later: investigate callback serialization.
  13. namespaces for all the parts of a package resource. i.e. we have Pulumi.Aws, Pulumi.Aws.S3, pulumi.Aws.S3.Inputs, etc. Do we need/want all of these? Is it an acceptable usre experience (both for intellisense and docs)? etc. etc.
  14. Docker provider.
  15. SHould our invokes allow async-inputs, or only sync-values? ts specifies only snyc values. js-impl allows async values. etc. etc.
  16. Should we allow arbitrary objects to be exported from a stack? We could convert them to POCOs and export those (like we do with js/ts/python).
  17. Provide API to merge two instances of InputMap<T>
  18. Can we add an indexer to output lists? (cosmosAccount.ConnectionStrings[0])
  19. Attach a debugger to the .NET program
  20. Set the csproj file name to the project name when created from a template
  21. what is our SxS story. What are best practices in .NET. Will we need shudder binding redirects? Discover resource plugins dynamically from the user's project. #3450 (comment)
  22. Commit version.txt to git with some sensible version in it to make it easy to compile and run .NET SDKs without running any other tasks from make. (contributor experience)
  23. Add a more descriptive error message if somebody tries to run a Pulumi program with dotnet run. Now it complains about missing PULUMI_MONITOR env var.
@stack72
Copy link
Contributor

stack72 commented Oct 27, 2019

@CyrusNajmabadi we also need to add the work for TerraformRemoteState in pulumi-terraform

@CyrusNajmabadi
Copy link
Contributor Author

@stack72 Indeed. Added. Thanks! :)

@lukehoban
Copy link
Member

Closing out - remaining followup work now tracked in #3470.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/sdks Pulumi language SDKs
Projects
None yet
Development

No branches or pull requests

3 participants