pulumi/sdk/go/pulumi
Pat Gavlin 248f78bafe [sdk/*] Add support for resource source positions
Add support to the core SDKs for reporting resource source positions.

In each SDK, this is implemented by crawling the stack when a resource
is registered in order to determine the position of the user code that
registered the resource.

This is somewhat brittle in that it expects a call stack of the form:
- Resource class constructor
- abstract Resource subclass constructor
- concrete Resource subclass constructor
- user code

This stack reflects the expected class hierarchy of "cloud resource /
component resource < customresource/componentresource < resource".

For example, consider the AWS S3 Bucket resource. When user code
instantiates a Bucket, the stack will look like
this in NodeJS:

    new Resource (/path/to/resource.ts:123:45)
    new CustomResource (/path/to/resource.ts:678:90)
    new Bucket (/path/to/bucket.ts:987:65)
    <user code> (/path/to/index.ts:4:3)

In order to determine the source position, we locate the fourth frame
(the `<user code>` frame).
2023-07-13 16:46:04 -07:00
..
config Add --secret to config set hints when needed 2023-06-22 17:25:30 +01:00
generate Use slice.Prealloc instead of make([]T, 0, ...) 2023-06-29 11:27:50 +01:00
internals sdk/internal: pulumi.NewOutput => ctx.NewOutput 2023-01-13 13:31:28 -08:00
provider all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
alias.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
alias_test.go ci: radical idea - what if slow tests & no stdout makes GH consider runner dead? 2022-03-06 14:52:13 -08:00
asset.go [sdk/{go,dotnet] Unmarshal invalid assets. (#7579) 2021-07-21 13:40:36 -07:00
context.go [sdk/*] Add support for resource source positions 2023-07-13 16:46:04 -07:00
context_test.go [sdk/*] Add support for resource source positions 2023-07-13 16:46:04 -07:00
internals.go Update sdk/go/pulumi/internals.go 2022-10-05 11:07:35 -07:00
log.go chore: Update doc comments, coding style, fix lint 2022-10-13 13:50:49 -07:00
mocks.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
printf.go Redesign the Go SDK resource/input/output system. (#3506) 2020-01-18 10:08:37 -05:00
printf_test.go ci: radical idea - what if slow tests & no stdout makes GH consider runner dead? 2022-03-06 14:52:13 -08:00
provider.go Use slice.Prealloc instead of make([]T, 0, ...) 2023-06-29 11:27:50 +01:00
provider_linked.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
provider_test.go sdk/go: Propagate more resource options from provider.Construct 2023-04-21 10:58:59 -07:00
resource.go Use slice.Prealloc instead of make([]T, 0, ...) 2023-06-29 11:27:50 +01:00
resource_set.go unused: Remove unused functions and types 2023-01-12 09:55:34 -08:00
resource_test.go Use slice.Prealloc instead of make([]T, 0, ...) 2023-06-29 11:27:50 +01:00
rpc.go [sdk/go] Fix hang due to component children cycles 2023-03-26 23:46:54 -07:00
rpc_test.go Use slice.Prealloc instead of make([]T, 0, ...) 2023-06-29 11:27:50 +01:00
run.go sdk/go: Prefer contract.Assertf over Assert 2023-02-15 10:22:43 -08:00
run_test.go all: Fix revive issues 2023-03-21 08:55:11 -07:00
stack_reference.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
stack_reference_test.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
transformation.go Support transformations in Go (#3978) 2020-03-02 13:59:11 -08:00
type_conversions.go [codegen/go] Improve optional params in invoke 2022-02-01 11:44:40 -08:00
types.go Use slice.Prealloc instead of make([]T, 0, ...) 2023-06-29 11:27:50 +01:00
types_builtins.go Support subdirectories in proto 2023-03-05 16:05:58 +00:00
types_builtins_test.go sdk/go: Remove 'nolint' directives from package docs 2023-01-06 09:06:47 -08:00
types_contravariance_test.go Use slice.Prealloc instead of make([]T, 0, ...) 2023-06-29 11:27:50 +01:00
types_test.go Use slice.Prealloc instead of make([]T, 0, ...) 2023-06-29 11:27:50 +01:00
urnset.go Use slice.Prealloc instead of make([]T, 0, ...) 2023-06-29 11:27:50 +01:00
workgroup.go Fixing WaitGroup related panics in the Go SDK (#7661) 2021-07-29 12:39:28 -04:00
workgroup_test.go ci: radical idea - what if slow tests & no stdout makes GH consider runner dead? 2022-03-06 14:52:13 -08:00