{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":72477752,"defaultBranch":"master","name":"pulumi","ownerLogin":"pulumi","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-10-31T21:02:47.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/21992475?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717683242.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"db97eb58d6295ac0cf20e258a0bc379ff349112c","ref":"refs/heads/gh-readonly-queue/master/pr-16339-f6d8cdffd0f5acac793c7a4ff21bb965c8bf92f0","pushedAt":"2024-06-06T14:14:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Makefile: make build_proto and check_proto targets use underscores (#16339)\n\nThis is incredibly nitpicky, but every time I run these make targets I\nget a little annoyed because they are using dashes instead of\nunderscores, while all other targets in this Makefile uses underscores.\n\nAfter mistyping it one too many times I figured we should unify all the\ntargets to use underscores. I kept the targets with dashes around for\nthos who build up the muscle memory using those already, and some extra\nMakefile targets are cheap.","shortMessageHtmlLink":"Makefile: make build_proto and check_proto targets use underscores (#…"}},{"before":"af705138a0224d93c925b6a8ad0a47cc476e47e7","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-16339-415eb7096083eb61109377ebbf3e08f9b982317c","pushedAt":"2024-06-06T14:14:02.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"f78cb15b874f92116e4032a026a994bf0e059667","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-16315-8476c3f7f5c98534139769ec02c31206e3a09e4d","pushedAt":"2024-06-06T14:14:02.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":null,"after":"f6d8cdffd0f5acac793c7a4ff21bb965c8bf92f0","ref":"refs/heads/gh-readonly-queue/master/pr-16297-8476c3f7f5c98534139769ec02c31206e3a09e4d","pushedAt":"2024-06-06T14:14:01.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"[go/program-gen] Fix union type type resolution in Go program generation (#16297)\n\n# Description\n\nFixes https://github.com/pulumi/pulumi-azure-native/issues/1554 \n\n### Context\nThe problem here is that when we compute `InputType: model.Type` in\n`pcl.Resource`, we map the types of input properties of resources from\n`schema.Type` into `model.Type`. When one of these properties is a\n`schema.UnionType` (union of objects to be exact), we map that _as is_\nto `model.UnionType` which trips up Go program-gen as it doesn't know\nhow to reduce the type to the actual _selected_ object type based on the\nresource inputs.\n\n### Resolution\nThe way to fix this is not in Go program-gen, instead we _reduce_ the\ncomputed union types during the binding phase into the actual object\ntypes based on the resource inputs so that all program generators only\nwork against explicit objects rather than having to deal with unions of\nobjects\n\n### Example:\n\n```pcl\nresource \"example\" \"azure-native:eventgrid:EventSubscription\" {\n destination = {\n endpointType = \"EventHub\"\n resourceId = \"example\"\n }\n expirationTimeUtc = \"example\"\n scope = \"example\"\n}\n```\n\nBefore:\n```go\npulumi.Run(func(ctx *pulumi.Context) error {\n\t_, err := eventgrid.NewEventSubscription(ctx, \"example\", &eventgrid.EventSubscriptionArgs{\n\t\tDestination: eventgrid.EventHubEventSubscriptionDestination{\n\t\t\tEndpointType: \"EventHub\",\n\t\t\tResourceId: \"example\",\n\t\t},\n\t\tExpirationTimeUtc: pulumi.String(\"example\"),\n\t\tScope: pulumi.String(\"example\"),\n\t})\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn nil\n})\n```\n\nAfter:\n```go\npulumi.Run(func(ctx *pulumi.Context) error {\n\t_, err := eventgrid.NewEventSubscription(ctx, \"example\", &eventgrid.EventSubscriptionArgs{\n\t\tDestination: &eventgrid.EventHubEventSubscriptionDestinationArgs{\n\t\t\tEndpointType: pulumi.String(\"EventHub\"),\n\t\t\tResourceId: pulumi.String(\"example\"),\n\t\t},\n\t\tExpirationTimeUtc: pulumi.String(\"example\"),\n\t\tScope: pulumi.String(\"example\"),\n\t})\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn nil\n})\n```\n\n## Checklist\n\n- [ ] I have run `make tidy` to update any new dependencies\n- [x] I have run `make lint` to verify my code passes the lint check\n - [x] I have formatted my code using `gofumpt`\n\n\n- [ ] I have added tests that prove my fix is effective or that my\nfeature works\n\n- [x] I have run `make changelog` and committed the\n`changelog/pending/` documenting my change\n\n- [ ] Yes, there are changes in this PR that warrants bumping the Pulumi\nCloud API version\n","shortMessageHtmlLink":"[go/program-gen] Fix union type type resolution in Go program generat…"}},{"before":"415eb7096083eb61109377ebbf3e08f9b982317c","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-16297-f78cb15b874f92116e4032a026a994bf0e059667","pushedAt":"2024-06-06T14:14:01.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":null,"after":"af705138a0224d93c925b6a8ad0a47cc476e47e7","ref":"refs/heads/gh-readonly-queue/master/pr-16339-415eb7096083eb61109377ebbf3e08f9b982317c","pushedAt":"2024-06-06T13:37:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Makefile: make build_proto and check_proto targets use underscores (#16339)\n\nThis is incredibly nitpicky, but every time I run these make targets I\nget a little annoyed because they are using dashes instead of\nunderscores, while all other targets in this Makefile uses underscores.\n\nAfter mistyping it one too many times I figured we should unify all the\ntargets to use underscores. I kept the targets with dashes around for\nthos who build up the muscle memory using those already, and some extra\nMakefile targets are cheap.","shortMessageHtmlLink":"Makefile: make build_proto and check_proto targets use underscores (#…"}},{"before":null,"after":"415eb7096083eb61109377ebbf3e08f9b982317c","ref":"refs/heads/gh-readonly-queue/master/pr-16297-f78cb15b874f92116e4032a026a994bf0e059667","pushedAt":"2024-06-06T12:22:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"[go/program-gen] Fix union type type resolution in Go program generation (#16297)\n\n# Description\n\nFixes https://github.com/pulumi/pulumi-azure-native/issues/1554 \n\n### Context\nThe problem here is that when we compute `InputType: model.Type` in\n`pcl.Resource`, we map the types of input properties of resources from\n`schema.Type` into `model.Type`. When one of these properties is a\n`schema.UnionType` (union of objects to be exact), we map that _as is_\nto `model.UnionType` which trips up Go program-gen as it doesn't know\nhow to reduce the type to the actual _selected_ object type based on the\nresource inputs.\n\n### Resolution\nThe way to fix this is not in Go program-gen, instead we _reduce_ the\ncomputed union types during the binding phase into the actual object\ntypes based on the resource inputs so that all program generators only\nwork against explicit objects rather than having to deal with unions of\nobjects\n\n### Example:\n\n```pcl\nresource \"example\" \"azure-native:eventgrid:EventSubscription\" {\n destination = {\n endpointType = \"EventHub\"\n resourceId = \"example\"\n }\n expirationTimeUtc = \"example\"\n scope = \"example\"\n}\n```\n\nBefore:\n```go\npulumi.Run(func(ctx *pulumi.Context) error {\n\t_, err := eventgrid.NewEventSubscription(ctx, \"example\", &eventgrid.EventSubscriptionArgs{\n\t\tDestination: eventgrid.EventHubEventSubscriptionDestination{\n\t\t\tEndpointType: \"EventHub\",\n\t\t\tResourceId: \"example\",\n\t\t},\n\t\tExpirationTimeUtc: pulumi.String(\"example\"),\n\t\tScope: pulumi.String(\"example\"),\n\t})\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn nil\n})\n```\n\nAfter:\n```go\npulumi.Run(func(ctx *pulumi.Context) error {\n\t_, err := eventgrid.NewEventSubscription(ctx, \"example\", &eventgrid.EventSubscriptionArgs{\n\t\tDestination: &eventgrid.EventHubEventSubscriptionDestinationArgs{\n\t\t\tEndpointType: pulumi.String(\"EventHub\"),\n\t\t\tResourceId: pulumi.String(\"example\"),\n\t\t},\n\t\tExpirationTimeUtc: pulumi.String(\"example\"),\n\t\tScope: pulumi.String(\"example\"),\n\t})\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn nil\n})\n```\n\n## Checklist\n\n- [ ] I have run `make tidy` to update any new dependencies\n- [x] I have run `make lint` to verify my code passes the lint check\n - [x] I have formatted my code using `gofumpt`\n\n\n- [ ] I have added tests that prove my fix is effective or that my\nfeature works\n\n- [x] I have run `make changelog` and committed the\n`changelog/pending/` documenting my change\n\n- [ ] Yes, there are changes in this PR that warrants bumping the Pulumi\nCloud API version\n","shortMessageHtmlLink":"[go/program-gen] Fix union type type resolution in Go program generat…"}},{"before":null,"after":"f78cb15b874f92116e4032a026a994bf0e059667","ref":"refs/heads/gh-readonly-queue/master/pr-16315-8476c3f7f5c98534139769ec02c31206e3a09e4d","pushedAt":"2024-06-06T12:22:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Support Poetry as Python toolchain (#16315)\n\n# Description\n\nImplement `Toolchain` interface for Poetry.\n\nThis does not yet allow the user to select the toolchain during `pulumi\nnew`, but can be used with a template that has explicit poetry support\nhttps://github.com/pulumi/templates/pull/795/files\n\n```\npulumi new https://github.com/pulumi/templates/tree/julienp/poetry-template/aws-python-poetry \n```\nStacked on top of https://github.com/pulumi/pulumi/pull/16311\n\nFixes https://github.com/pulumi/pulumi/issues/16314\nRef https://github.com/pulumi/pulumi/issues/15937\n\n## Checklist\n\n- [x] I have run `make tidy` to update any new dependencies\n- [x] I have run `make lint` to verify my code passes the lint check\n - [x] I have formatted my code using `gofumpt`","shortMessageHtmlLink":"Support Poetry as Python toolchain (#16315)"}},{"before":null,"after":"f1376258810266f36bc0b3239d1a941174020c52","ref":"refs/heads/tg/makefile-consistency","pushedAt":"2024-06-06T12:19:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tgummerer","name":"Thomas Gummerer","path":"/tgummerer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191004?s=80&v=4"},"commit":{"message":"Makefile: make build_proto and check_proto targets use underscores\n\nThis is incredibly nitpicky, but every time I run these make targets I\nget a little annoyed because they are using dashes instead of\nunderscores, while all other targets in this Makefile uses\nunderscores.\n\nAfter mistyping it one too many times I figured we should unify all\nthe targets to use underscores. I kept the targets with dashes around\nfor thos who build up the muscle memory using those already, and some\nextra Makefile targets are cheap.","shortMessageHtmlLink":"Makefile: make build_proto and check_proto targets use underscores"}},{"before":"82a7c10648963685a87d3a5fd21d5044bf49a906","after":"fee6c91ab1a6f91ee1bc394aae2c92d2a9b9cf3c","ref":"refs/heads/fraser/substackEngine","pushedAt":"2024-06-06T11:44:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Frassle","name":"Fraser Waters","path":"/Frassle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1398274?s=80&v=4"},"commit":{"message":"Subprogram component support","shortMessageHtmlLink":"Subprogram component support"}},{"before":"d8c229dcf536e4bffc3e53a792912388e7feb2d8","after":"282eedc710334819683189cd1efdd704027da65e","ref":"refs/heads/zaid/fix-union-type-resolution-in-go-program-gen","pushedAt":"2024-06-06T11:41:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Zaid-Ajaj","name":"Zaid Ajaj","path":"/Zaid-Ajaj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13316248?s=80&v=4"},"commit":{"message":"Fix union type resolution in Go program generation","shortMessageHtmlLink":"Fix union type resolution in Go program generation"}},{"before":"c5c17fe8092fd2a9177525c0473136ea2682bca0","after":"d8c229dcf536e4bffc3e53a792912388e7feb2d8","ref":"refs/heads/zaid/fix-union-type-resolution-in-go-program-gen","pushedAt":"2024-06-06T11:41:04.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Zaid-Ajaj","name":"Zaid Ajaj","path":"/Zaid-Ajaj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13316248?s=80&v=4"},"commit":{"message":"shallow copy properties to avoid mutating the same type multiple times","shortMessageHtmlLink":"shallow copy properties to avoid mutating the same type multiple times"}},{"before":"486fd9334383854df5342034609cbe39e174c3ab","after":"82a7c10648963685a87d3a5fd21d5044bf49a906","ref":"refs/heads/fraser/substackEngine","pushedAt":"2024-06-06T11:27:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Frassle","name":"Fraser Waters","path":"/Frassle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1398274?s=80&v=4"},"commit":{"message":"Subprogram component support","shortMessageHtmlLink":"Subprogram component support"}},{"before":"0b8f8fa89763547a0e03617825d72ac460deabd9","after":"e3d4094c27f302bf49d6cc158d6ca8b552d62e2f","ref":"refs/heads/julienp/fix-non-interactive","pushedAt":"2024-06-06T11:22:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"julienp","name":"Julien P","path":"/julienp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/387068?s=80&v=4"},"commit":{"message":"Fix non-interactive flag for 'new' and 'config env' commands\n\nThe command line flags are not parsed yet when the command definition is\ncreated. We need to wait until we're in the command's Run method before\nwe can read the flags.","shortMessageHtmlLink":"Fix non-interactive flag for 'new' and 'config env' commands"}},{"before":"4ae9044edc847a3628b75f80e535aa2b1def2c11","after":"0186e1f8478dd701f984a6bd7047b720947e9814","ref":"refs/heads/julienp/poetry-impl","pushedAt":"2024-06-06T11:07:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"julienp","name":"Julien P","path":"/julienp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/387068?s=80&v=4"},"commit":{"message":"Fix poetry python command on windows","shortMessageHtmlLink":"Fix poetry python command on windows"}},{"before":"a3c4a69f67b21e237ba229eb9dbbea08bcd3c768","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-16315-8476c3f7f5c98534139769ec02c31206e3a09e4d","pushedAt":"2024-06-06T11:05:56.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":null,"after":"a3c4a69f67b21e237ba229eb9dbbea08bcd3c768","ref":"refs/heads/gh-readonly-queue/master/pr-16315-8476c3f7f5c98534139769ec02c31206e3a09e4d","pushedAt":"2024-06-06T10:38:28.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Support Poetry as Python toolchain (#16315)\n\n# Description\n\nImplement `Toolchain` interface for Poetry.\n\nThis does not yet allow the user to select the toolchain during `pulumi\nnew`, but can be used with a template that has explicit poetry support\nhttps://github.com/pulumi/templates/pull/795/files\n\n```\npulumi new https://github.com/pulumi/templates/tree/julienp/poetry-template/aws-python-poetry \n```\nStacked on top of https://github.com/pulumi/pulumi/pull/16311\n\nFixes https://github.com/pulumi/pulumi/issues/16314\nRef https://github.com/pulumi/pulumi/issues/15937\n\n## Checklist\n\n- [x] I have run `make tidy` to update any new dependencies\n- [x] I have run `make lint` to verify my code passes the lint check\n - [x] I have formatted my code using `gofumpt`","shortMessageHtmlLink":"Support Poetry as Python toolchain (#16315)"}},{"before":"679a01eadc580df19357632d2bb1c9395e408611","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-16315-aa7e76f0b3c2a9c6025e952fedc7310cc4c5344b","pushedAt":"2024-06-06T10:38:28.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"aa7e76f0b3c2a9c6025e952fedc7310cc4c5344b","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-16297-8476c3f7f5c98534139769ec02c31206e3a09e4d","pushedAt":"2024-06-06T10:38:27.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"1c89691e599840dfbc70f8216a0edd4a602045cc","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-16315-8476c3f7f5c98534139769ec02c31206e3a09e4d","pushedAt":"2024-06-06T10:38:27.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":null,"after":"679a01eadc580df19357632d2bb1c9395e408611","ref":"refs/heads/gh-readonly-queue/master/pr-16315-aa7e76f0b3c2a9c6025e952fedc7310cc4c5344b","pushedAt":"2024-06-06T10:19:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Support Poetry as Python toolchain (#16315)\n\n# Description\n\nImplement `Toolchain` interface for Poetry.\n\nThis does not yet allow the user to select the toolchain during `pulumi\nnew`, but can be used with a template that has explicit poetry support\nhttps://github.com/pulumi/templates/pull/795/files\n\n```\npulumi new https://github.com/pulumi/templates/tree/julienp/poetry-template/aws-python-poetry \n```\nStacked on top of https://github.com/pulumi/pulumi/pull/16311\n\nFixes https://github.com/pulumi/pulumi/issues/16314\nRef https://github.com/pulumi/pulumi/issues/15937\n\n## Checklist\n\n- [x] I have run `make tidy` to update any new dependencies\n- [x] I have run `make lint` to verify my code passes the lint check\n - [x] I have formatted my code using `gofumpt`","shortMessageHtmlLink":"Support Poetry as Python toolchain (#16315)"}},{"before":"de05185975843cb0576647cce7471c3d08e0145a","after":"0b8f8fa89763547a0e03617825d72ac460deabd9","ref":"refs/heads/julienp/fix-non-interactive","pushedAt":"2024-06-06T10:14:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"julienp","name":"Julien P","path":"/julienp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/387068?s=80&v=4"},"commit":{"message":"Fix non-interactive flag for 'new' and 'config env' commands\n\nThe command line flags are not parsed yet when the command definition is\ncreated. We need to wait until we're in the command's `Run` method\nbefore we can read the flags.","shortMessageHtmlLink":"Fix non-interactive flag for 'new' and 'config env' commands"}},{"before":null,"after":"de05185975843cb0576647cce7471c3d08e0145a","ref":"refs/heads/julienp/fix-non-interactive","pushedAt":"2024-06-06T10:08:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"julienp","name":"Julien P","path":"/julienp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/387068?s=80&v=4"},"commit":{"message":"Fix non-interactive flag for 'new' and 'config env' commands\n\nThe command line flags are not parsed yet when the command definition is\ncreated. We need to wait until we're in the command's `Run` method\nbefore we can read the flags.","shortMessageHtmlLink":"Fix non-interactive flag for 'new' and 'config env' commands"}},{"before":null,"after":"aa7e76f0b3c2a9c6025e952fedc7310cc4c5344b","ref":"refs/heads/gh-readonly-queue/master/pr-16297-8476c3f7f5c98534139769ec02c31206e3a09e4d","pushedAt":"2024-06-06T09:46:31.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"[go/program-gen] Fix union type type resolution in Go program generation (#16297)\n\n# Description\n\nFixes https://github.com/pulumi/pulumi-azure-native/issues/1554 \n\n### Context\nThe problem here is that when we compute `InputType: model.Type` in\n`pcl.Resource`, we map the types of input properties of resources from\n`schema.Type` into `model.Type`. When one of these properties is a\n`schema.UnionType` (union of objects to be exact), we map that _as is_\nto `model.UnionType` which trips up Go program-gen as it doesn't know\nhow to reduce the type to the actual _selected_ object type based on the\nresource inputs.\n\n### Resolution\nThe way to fix this is not in Go program-gen, instead we _reduce_ the\ncomputed union types during the binding phase into the actual object\ntypes based on the resource inputs so that all program generators only\nwork against explicit objects rather than having to deal with unions of\nobjects\n\n### Example:\n\n```pcl\nresource \"example\" \"azure-native:eventgrid:EventSubscription\" {\n destination = {\n endpointType = \"EventHub\"\n resourceId = \"example\"\n }\n expirationTimeUtc = \"example\"\n scope = \"example\"\n}\n```\n\nBefore:\n```go\npulumi.Run(func(ctx *pulumi.Context) error {\n\t_, err := eventgrid.NewEventSubscription(ctx, \"example\", &eventgrid.EventSubscriptionArgs{\n\t\tDestination: eventgrid.EventHubEventSubscriptionDestination{\n\t\t\tEndpointType: \"EventHub\",\n\t\t\tResourceId: \"example\",\n\t\t},\n\t\tExpirationTimeUtc: pulumi.String(\"example\"),\n\t\tScope: pulumi.String(\"example\"),\n\t})\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn nil\n})\n```\n\nAfter:\n```go\npulumi.Run(func(ctx *pulumi.Context) error {\n\t_, err := eventgrid.NewEventSubscription(ctx, \"example\", &eventgrid.EventSubscriptionArgs{\n\t\tDestination: &eventgrid.EventHubEventSubscriptionDestinationArgs{\n\t\t\tEndpointType: pulumi.String(\"EventHub\"),\n\t\t\tResourceId: pulumi.String(\"example\"),\n\t\t},\n\t\tExpirationTimeUtc: pulumi.String(\"example\"),\n\t\tScope: pulumi.String(\"example\"),\n\t})\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn nil\n})\n```\n\n## Checklist\n\n- [ ] I have run `make tidy` to update any new dependencies\n- [x] I have run `make lint` to verify my code passes the lint check\n - [x] I have formatted my code using `gofumpt`\n\n\n- [ ] I have added tests that prove my fix is effective or that my\nfeature works\n\n- [x] I have run `make changelog` and committed the\n`changelog/pending/` documenting my change\n\n- [ ] Yes, there are changes in this PR that warrants bumping the Pulumi\nCloud API version\n","shortMessageHtmlLink":"[go/program-gen] Fix union type type resolution in Go program generat…"}},{"before":"aade3eb7b062b4432b0987e3e98a11d91d23bfe1","after":null,"ref":"refs/heads/julienp/ensure-venv","pushedAt":"2024-06-06T09:12:49.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"julienp","name":"Julien P","path":"/julienp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/387068?s=80&v=4"}},{"before":"428f24688c790972b2ad3e43adbbb1fbc8933243","after":"4ae9044edc847a3628b75f80e535aa2b1def2c11","ref":"refs/heads/julienp/poetry-impl","pushedAt":"2024-06-06T09:12:48.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"julienp","name":"Julien P","path":"/julienp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/387068?s=80&v=4"},"commit":{"message":"Merge pull request #16317 from pulumi/julienp/ensure-venv\n\nAutoinstall dependencies using Poetry in GetRequiredPlugins","shortMessageHtmlLink":"Merge pull request #16317 from pulumi/julienp/ensure-venv"}},{"before":null,"after":"1c89691e599840dfbc70f8216a0edd4a602045cc","ref":"refs/heads/gh-readonly-queue/master/pr-16315-8476c3f7f5c98534139769ec02c31206e3a09e4d","pushedAt":"2024-06-06T09:12:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Support Poetry as Python toolchain (#16315)\n\n# Description\n\nImplement `Toolchain` interface for Poetry.\n\nThis does not yet allow the user to select the toolchain during `pulumi\nnew`, but can be used with a template that has explicit poetry support\nhttps://github.com/pulumi/templates/pull/795/files\n\n```\npulumi new https://github.com/pulumi/templates/tree/julienp/poetry-template/aws-python-poetry \n```\nStacked on top of https://github.com/pulumi/pulumi/pull/16311\n\nFixes https://github.com/pulumi/pulumi/issues/16314\nRef https://github.com/pulumi/pulumi/issues/15937\n\n## Checklist\n\n- [x] I have run `make tidy` to update any new dependencies\n- [x] I have run `make lint` to verify my code passes the lint check\n - [x] I have formatted my code using `gofumpt`","shortMessageHtmlLink":"Support Poetry as Python toolchain (#16315)"}},{"before":"35059e4220d20a42c780b40dbd19e95c79a837da","after":null,"ref":"refs/heads/julienp/about-program-info","pushedAt":"2024-06-06T09:11:14.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"julienp","name":"Julien P","path":"/julienp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/387068?s=80&v=4"}},{"before":"8476c3f7f5c98534139769ec02c31206e3a09e4d","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-16311-7c0489fafcdc5c393f06ced3e0e8b2da413bcbec","pushedAt":"2024-06-06T09:11:13.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"7c0489fafcdc5c393f06ced3e0e8b2da413bcbec","after":"8476c3f7f5c98534139769ec02c31206e3a09e4d","ref":"refs/heads/master","pushedAt":"2024-06-06T09:11:12.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Pass ProgramInfo through to LanguageRuntime.About (#16311)\n\n# Description\n\nTo correctly determine which python executable we are using, we need the\nProgramInfo so we can determine which virtual environment is in use.\n\nThis PR updates the `About` rpc call to take `ProgramInfo` as argument.\n\nFixes https://github.com/pulumi/pulumi/issues/16299\nRef https://github.com/pulumi/pulumi/issues/15937\n\n## Checklist\n\n- [x] I have run `make tidy` to update any new dependencies\n- [x] I have run `make lint` to verify my code passes the lint check\n - [x] I have formatted my code using `gofumpt`","shortMessageHtmlLink":"Pass ProgramInfo through to LanguageRuntime.About (#16311)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEXkaIpQA","startCursor":null,"endCursor":null}},"title":"Activity · pulumi/pulumi"}