gorgeous-horse-97952
08/23/2024, 1:50 PMgetStack()
and getProject()
return the literal strings stack
and project
since it looks like they are normally sourced from env vars which are not available to the provider's processgorgeous-horse-97952
08/23/2024, 11:51 PMconstruct
method, but not without being hacky and accessing a private/internal method. Still would like to figure out a better way to do this.
async construct(
name: string,
type: string,
inputs: pulumi.Inputs,
options: pulumi.ComponentResourceOptions
): Promise<provider.ConstructResult> {
const [, , stack, , program] = (
await (<any>options.parent?.urn)["promise"]()
).split(":");
// more code
}
gorgeous-horse-97952
08/25/2024, 1:50 PMruntime.settings.LocalStore
sets stack/project using env var values as I mentioned above. If not set they default to literal strings project
and stack
. When running in context of a provider, the `Server`'s construct
method configures the runtime based on the values in the ConstructRequest
.
tl;dr - instead of calling getProject()
and getStack()
to set the name
value in my class from its constructor, I made name
a getter and now it works as expected