Resource registration#
pulumi/pulumi:proto/pulumi/resource.proto
Services#
π ResourceMonitor#
ResourceMonitor is the interface a source uses to talk back to the planning monitor orchestrating the execution.
π GetDeploymentInfo#
β€΅οΈ .google.protobuf.Empty β€΄οΈ DeploymentInfo
GetDeploymentInfo returns the execution context associated with this monitor instance.
This is an additive API intended to reduce duplicated state passed through environment variables and per-request protobuf fields. New clients should prefer this over piecemeal feature probing via SupportsFeature.
Backward compatibility:
Older monitors may not implement this RPC and will return UNIMPLEMENTED.
Clients should fall back to existing request fields/env vars/SupportsFeature.
π SupportsFeature#
β€΅οΈ SupportsFeatureRequest β€΄οΈ SupportsFeatureResponse
π Invoke#
β€΅οΈ ResourceInvokeRequest β€΄οΈ ResourceInvokeResponse
π Call#
β€΅οΈ ResourceCallRequest β€΄οΈ CallResponse
π ReadResource#
β€΅οΈ ReadResourceRequest β€΄οΈ ReadResourceResponse
π RegisterResource#
β€΅οΈ RegisterResourceRequest β€΄οΈ RegisterResourceResponse
π RegisterResourceOutputs#
β€΅οΈ RegisterResourceOutputsRequest β€΄οΈ .google.protobuf.Empty
π RegisterStackTransform#
β€΅οΈ Callback β€΄οΈ .google.protobuf.Empty
Register a resource transform for the stack
π RegisterStackInvokeTransform#
β€΅οΈ Callback β€΄οΈ .google.protobuf.Empty
Register an invoke transform for the stack
π RegisterResourceHook#
β€΅οΈ RegisterResourceHookRequest β€΄οΈ .google.protobuf.Empty
Register a resource hook that can be called by the engine during certain steps of a resourceβs lifecycle.
π RegisterErrorHook#
β€΅οΈ RegisterErrorHookRequest β€΄οΈ .google.protobuf.Empty
Register an error hook that can be called by the engine when an operation fails and is retryable.
Error hooks are a separate type of hook to other life cycle hooks as they have different inputs and outputs.
π RegisterPackage#
β€΅οΈ RegisterPackageRequest β€΄οΈ RegisterPackageResponse
Registers a package and allocates a packageRef. The same package can be registered multiple times in Pulumi. Multiple requests are idempotent and guaranteed to return the same result.
π SignalAndWaitForShutdown#
β€΅οΈ .google.protobuf.Empty β€΄οΈ .google.protobuf.Empty
SignalAndWaitForShutdown lets the resource monitor know that no more events will be generated. This call blocks until the resource monitor is finished, which will happen once all the steps have executed. This allows the language runtime to stay running and handle callback requests, even after the user program has completed. Runtime SDKs should call this after executing the userβs program. This can only be called once.
Messages#
π¨ DeploymentInfo#
DeploymentInfo returns monitor execution state currently sent to programs and/or providers through other channels.
projectstringThe project name.
stackstringThe stack name.
organizationstringThe organization name.
configDeploymentInfo.ConfigEntryThe stack configuration values.
configSecretKeysstringConfiguration keys whose values are secret.
dryRunboolTrue if the current execution is preview/dry-run.
parallelint32Requested operation parallelism (<=1 for serial execution).
supportedFeaturesResourceMonitorFeatureThe set of monitor-supported protocol features.
π¨ ConfigEntry#
π¨ ErrorHookRequest#
ErrorHookRequest is the request object for error hook callbacks in CallbackInvokeRequest.
urnstringthe urn of the resource for which the hook is called.
idstringthe optional urn of the resource for which the hook is called.
namestringthe name of the resource for which the hook is called.
typestringthe type of the resource for which the hook is called.
new_inputsgoogle.protobuf.Structthe optional checked new inputs of the resource.
old_inputsgoogle.protobuf.Structthe optional checked old inputs of the resource.
old_outputsgoogle.protobuf.Structthe optional old outputs of the resource.
failed_operationstringthe operation that failed (create, read, update, or delete).
errorsstringthe errors that have been seen so far (newest-first).
old_optionsResourceOptionsoptional old resource options for the resource. Old engines may not set this.
new_optionsResourceOptionsoptional new resource options for the resource. Old engines may not set this.
π¨ ErrorHookResponse#
ErrorHookResponse is the response object for error hook callbacks in CallbackInvokeResponse.
π¨ Parameterization#
π¨ ReadResourceRequest#
ReadResourceRequest contains enough information to uniquely qualify and read a resourceβs state.
idstringthe ID of the resource to read.
typestringthe type of the resource object.
namestringthe name, for URN purposes, of the object.
parentstringan optional parent URN that this child resource belongs to.
propertiesgoogle.protobuf.Structoptional state sufficient to uniquely identify the resource.
dependenciesstringa list of URNs that this read depends on, as observed by the language host.
providerstringan optional reference to the provider to use for this read.
versionstringthe version of the provider to use when servicing this request.
acceptSecretsboolwhen true operations should return secrets as strongly typed.
additionalSecretOutputsstringa list of output properties that should also be treated as secret, in addition to ones we detect.
acceptResourcesboolwhen true operations should return resource references as strongly typed.
pluginDownloadURLstringthe server url of the provider to use when servicing this request.
pluginChecksumsReadResourceRequest.PluginChecksumsEntrya map of checksums of the provider to use when servicing this request.
sourcePositionSourcePositionthe optional source position of the user code that initiated the read.
stackTraceStackTracethe optional stack trace at the time of the request.
parentStackTraceHandlestringthe optional parent stack trace handle for the request. Supports stitching stack traces across plugins.
packageRefstringa reference from RegisterPackageRequest.
accepts_byte_stringboolWhen true operations may return strings containing bytes that are not valid UTF-8, marshaled as objects carrying the byte string signature and a base64 encoding of the stringβs bytes.
π¨ PluginChecksumsEntry#
π¨ ReadResourceResponse#
ReadResourceResponse contains the result of reading a resourceβs state.
urnstringthe URN for this resource.
propertiesgoogle.protobuf.Structthe state of the resource read from the live environment.
π¨ RegisterErrorHookRequest#
π¨ RegisterPackageRequest#
namestringthe plugin name.
versionstringthe plugin version.
download_urlstringthe optional plugin download url.
checksumsRegisterPackageRequest.ChecksumsEntrythe optional plugin checksums.
parameterizationParameterizationthe optional parameterization for this package.
extensionParameterizationthe optional extension parameterization for this package.
π¨ ChecksumsEntry#
π¨ RegisterPackageResponse#
refstringThe UUID package reference for this registered package.
Lifecycle methods accept this reference in the βpackageRefβ field.
π¨ RegisterResourceHookRequest#
namestringThe name of the hook. Must be unique within a program, registering the same name twice is an error.
callbackCallbackthe callback that the engine can call to run the hook.
on_dry_runboolwhether to run the hook on dry runs.
ignore_errorsboolIf true, errors from this hook are logged as warnings instead of failing the program.
π¨ RegisterResourceOutputsRequest#
RegisterResourceOutputsRequest adds extra resource outputs created by the program after registration has occurred.
urnstringthe URN for the resource to attach output properties to.
outputsgoogle.protobuf.Structadditional output properties to add to the existing resource.
π¨ RegisterResourceRequest#
RegisterResourceRequest contains information about a resource object that was newly allocated.
typestringthe type of the object allocated.
namestringthe name, for URN purposes, of the object.
parentstringan optional parent URN that this child resource belongs to.
custombooltrue if the resource is a custom, managed by a pluginβs CRUD operations.
objectgoogle.protobuf.Structan object produced by the interpreter/source.
protectbooltrue if the resource should be marked protected.
dependenciesstringa list of URNs that this resource depends on, as observed by the language host.
providerstringan optional reference to the provider to manage this resourceβs CRUD operations.
propertyDependenciesRegisterResourceRequest.PropertyDependenciesEntrya map from property keys to the dependencies of the property.
deleteBeforeReplacebooltrue if this resource should be deleted before replacement.
versionstringthe version of the provider to use when servicing this request.
ignoreChangesstringa list of property selectors to ignore during updates.
acceptSecretsboolwhen true operations should return secrets as strongly typed.
additionalSecretOutputsstringa list of output properties that should also be treated as secret, in addition to ones we detect.
aliasURNsstringa list of additional URNs that should be considered the same.
importIdstringif set, this resourceβs state should be imported from the given ID.
customTimeoutsRegisterResourceRequest.CustomTimeoutsability to pass a custom Timeout block.
deleteBeforeReplaceDefinedbooltrue if the deleteBeforeReplace property should be treated as defined even if it is false.
supportsPartialValuesbooltrue if the request is from an SDK that supports partially-known properties during preview.
remotebooltrue if the resource is a plugin-managed component resource.
acceptResourcesboolwhen true operations should return resource references as strongly typed.
providersRegisterResourceRequest.ProvidersEntryan optional reference to the provider map to manage this resourceβs CRUD operations.
replaceOnChangesstringa list of properties that if changed should force a replacement.
pluginDownloadURLstringthe server URL of the provider to use when servicing this request.
pluginChecksumsRegisterResourceRequest.PluginChecksumsEntrya map of checksums expected for the provider plugin.
retainOnDeleteboolif true the engine will not call the resource providers delete method for this resource.
aliasesAliasa list of additional aliases that should be considered the same.
deletedWithstringif set the engine will not call the resource providers delete method for this resource when specified resource is deleted.
replace_withstringif set the engine will replace this resource when any of the specified resources are replaced.
replacement_triggergoogle.protobuf.Valueif set, the engine will diff this with the last recorded value, and trigger a replace if they are not equal.
aliasSpecsboolIndicates that alias specs are specified correctly according to the spec. Older versions of the Node.js SDK did not send alias specs correctly. If this is not set to true and the engine detects the request is from the Node.js runtime, the engine will transform incorrect alias specs into correct ones. Other SDKs that are correctly specifying alias specs could set this to true, but itβs not necessary.
sourcePositionSourcePositionthe optional source position of the user code that initiated the register.
stackTraceStackTracethe optional stack trace at the time of the request.
parentStackTraceHandlestringthe optional parent stack trace handle for the request. Supports stitching stack traces across plugins.
transformsCallbacka list of transforms to apply to the resource before registering it.
supportsResultReportingbooltrue if the request is from an SDK that supports the result field in the response.
packageRefstringa reference from RegisterPackageRequest.
hooksRegisterResourceRequest.ResourceHooksBindingThe resource hooks that should run at certain points in the resourceβs lifecycle.
hideDiffsstring<No description>
envVarMappingsRegisterResourceRequest.EnvVarMappingsEntryenvironment variable remappings for provider resources (NEW_KEY -> OLD_KEY)
snippetIdstringif set, the UUID of the snippet that issued this registration.
accepts_byte_stringboolWhen true operations may return strings containing bytes that are not valid UTF-8, marshaled as objects carrying the byte string signature and a base64 encoding of the stringβs bytes.
state_migrationsCallbackA list of state migrations to apply to the prior state of this resource and its descendants before diffing.
π¨ CustomTimeouts#
CustomTimeouts allows a user to be able to create a set of custom timeout parameters.
π¨ EnvVarMappingsEntry#
π¨ PluginChecksumsEntry#
π¨ PropertyDependencies#
PropertyDependencies describes the resources that a particular property depends on.
urnsstringA list of URNs this property depends on.
π¨ PropertyDependenciesEntry#
keystring<No description>
valueRegisterResourceRequest.PropertyDependencies<No description>
π¨ ProvidersEntry#
π¨ ResourceHooksBinding#
π¨ RegisterResourceResponse#
RegisterResourceResponse is returned by the engine after a resource has finished being initialized. It includes the auto-assigned URN, the provider-assigned ID, and any other properties initialized by the engine.
urnstringthe URN assigned by the engine.
idstringthe unique ID assigned by the provider.
objectgoogle.protobuf.Structthe resulting object properties, including provider defaults.
stableboolif true, the objectβs state is stable and may be trusted not to change.
stablesstringan optional list of guaranteed-stable properties.
propertyDependenciesRegisterResourceResponse.PropertyDependenciesEntrya map from property keys to the dependencies of the property.
resultResultthe reason, whether the resource registration was successful, failed, or skipped.
unknownbooltrue if the result of the registration is unknown, e.g. because the create was elided by a targeted update or a destroy run; result is still SUCCESS and SDKs should resolve outputs as unknown.
π¨ PropertyDependencies#
PropertyDependencies describes the resources that a particular property depends on.
urnsstringA list of URNs this property depends on.
π¨ PropertyDependenciesEntry#
keystring<No description>
valueRegisterResourceResponse.PropertyDependencies<No description>
π¨ ResourceCallRequest#
tokstringthe function token to invoke.
argsgoogle.protobuf.Structthe arguments for the function invocation.
argDependenciesResourceCallRequest.ArgDependenciesEntrya map from argument keys to the dependencies of the argument.
providerstringan optional reference to the provider to use for this invoke.
versionstringthe version of the provider to use when servicing this request.
pluginDownloadURLstringthe pluginDownloadURL of the provider to use when servicing this request.
pluginChecksumsResourceCallRequest.PluginChecksumsEntrya map of checksums of the provider to use when servicing this request.
sourcePositionSourcePositionthe optional source position of the user code that initiated the call.
stackTraceStackTracethe optional stack trace at the time of the request.
parentStackTraceHandlestringthe optional parent stack trace handle for the request. Supports stitching stack traces across plugins.
packageRefstringa reference from RegisterPackageRequest.
accepts_byte_stringboolWhen true operations may return strings containing bytes that are not valid UTF-8, marshaled as objects carrying the byte string signature and a base64 encoding of the stringβs bytes.
π¨ ArgDependenciesEntry#
keystring<No description>
valueResourceCallRequest.ArgumentDependencies<No description>
π¨ ArgumentDependencies#
ArgumentDependencies describes the resources that a particular argument depends on.
urnsstringA list of URNs this argument depends on.
π¨ PluginChecksumsEntry#
π¨ ResourceHookRequest#
ResourceHookRequest is the request object for resource hook callbacks in CallbackInvokeRequest.
urnstringthe urn of the resource for which the hook is called.
idstringthe optional urn of the resource for which the hook is called.
namestringthe name of the resource for which the hook is called.
typestringthe type of the resource for which the hook is called.
new_inputsgoogle.protobuf.Structthe optional checked new inputs of the resource.
old_inputsgoogle.protobuf.Structthe optional checked old inputs of the resource.
new_outputsgoogle.protobuf.Structthe optional new outputs of the resource.
old_outputsgoogle.protobuf.Structthe optional old outputs of the resource.
old_optionsResourceOptionsoptional old resource options for the resource. Old engines may not set this.
new_optionsResourceOptionsoptional new resource options for the resource. Old engines may not set this.
π¨ ResourceHookResponse#
ResourceHookResponse is the response object for resource hook callbacks in CallbackInvokeResponse.
errorstringan optional error message to return from the hook.
π¨ ResourceInvokeRequest#
tokstringthe function token to invoke.
argsgoogle.protobuf.Structthe arguments for the function invocation.
providerstringan optional reference to the provider version to use for this invoke.
versionstringthe version of the provider to use when servicing this request.
acceptResourcesboolwhen true operations should return resource references as strongly typed.
pluginDownloadURLstringan optional reference to the provider url to use for this invoke.
pluginChecksumsResourceInvokeRequest.PluginChecksumsEntrya map of checksums expected for the provider plugin.
sourcePositionSourcePositionthe optional source position of the user code that initiated the invoke.
stackTraceStackTracethe optional stack trace at the time of the request.
parentStackTraceHandlestringthe optional parent stack trace handle for the request. Supports stitching stack traces across plugins.
packageRefstringa reference from RegisterPackageRequest.
accepts_byte_stringboolWhen true operations may return strings containing bytes that are not valid UTF-8, marshaled as objects carrying the byte string signature and a base64 encoding of the stringβs bytes.
dependsOnstringThe URNs of the resources this invoke depends on.
The engine will advertise
INVOKE_DEPENDS_ONwhen it reads this field.parentstringAn optional URN of the resource this invoke is parented to. When
provideris empty, the invoke is served by the provider its parentβsprovidersoption names for the invokeβs package, the same resolution applied to resource registrations. Only respected when the monitor advertisesINVOKE_PARENT.
π¨ PluginChecksumsEntry#
π¨ ResourceInvokeResponse#
returngoogle.protobuf.Structthe returned values, if invoke was successful.
failuresCheckFailurethe failures if any arguments didnβt pass verification.
unknownboolTrue if the result must be treated as wholly unknown, which the monitor reports when it declines to service an invoke whose dependencies are pending creation.
π¨ ResourceOptions#
ResourceOptions is a subset of all resource options that are relevant to hook callbacks.
depends_onstring<No description>
protectbool<No description>
ignore_changesstring<No description>
replace_on_changesstring<No description>
versionstring<No description>
aliasesAlias<No description>
providerstring<No description>
custom_timeoutsRegisterResourceRequest.CustomTimeouts<No description>
plugin_download_urlstring<No description>
retain_on_deletebool<No description>
deleted_withstring<No description>
delete_before_replacebool<No description>
additional_secret_outputsstring<No description>
providersResourceOptions.ProvidersEntry<No description>
plugin_checksumsResourceOptions.PluginChecksumsEntry<No description>
hooksRegisterResourceRequest.ResourceHooksBinding<No description>
importstring<No description>
hide_diffstring<No description>
replace_withstring<No description>
replacement_triggergoogle.protobuf.Value<No description>
parentstring<No description>
π¨ PluginChecksumsEntry#
π¨ ProvidersEntry#
π¨ StateMigrationRequest#
StateMigrationRequest is the request object for state migration callbacks registered via RegisterResourceRequest.state_migrations.
urnstringthe URN of the registering resource.
old_statebytesA JSON-encoded array of resources in the checkpoint format (apitype.ResourceV3): the prior state of the registering resource followed by the prior state of all resources transitively parented to it. Secret property values are supplied to the callback in plaintext inside their secret envelopes and must be treated as sensitive.
π¨ StateMigrationResponse#
StateMigrationResponse is the response object for state migration callbacks.
new_statebytesA JSON-encoded array of resources in the checkpoint format (apitype.ResourceV3) that replaces old_state. If unset, the prior state is left unchanged. Every resource URN present in old_state must either be present in new_state or have an entry in successors.
successorsStateMigrationResponse.SuccessorsEntryMaps the URN of each resource removed from old_state to the URN of the resource in new_state that succeeds it. Multiple old URNs may have the same successor, allowing N-to-M migrations while giving the engine enough information to rewrite references to the old resources. An old resource may not be removed without a successor.
π¨ SuccessorsEntry#
π¨ SupportsFeatureRequest#
SupportsFeatureRequest allows a client to test if the resource monitor supports a certain feature, which it may use to control the format or types of messages it sends.
idstringthe ID of the feature to test support for.
π¨ SupportsFeatureResponse#
hasSupportbooltrue when the resource monitor supports this feature.
π¨ TransformInvokeOptions#
TransformInvokeOptions is a subset of all invoke options that are relevant to transforms.
providerstring<No description>
plugin_download_urlstring<No description>
versionstring<No description>
plugin_checksumsTransformInvokeOptions.PluginChecksumsEntry<No description>
π¨ PluginChecksumsEntry#
π¨ TransformInvokeRequest#
TransformInvokeRequest is the request object for the TransformInvoke RPC.
tokenstringthe token for the invoke request.
argsgoogle.protobuf.Structthe input args of the resource.
optionsTransformInvokeOptionsthe options for the resource.
π¨ TransformInvokeResponse#
TransformInvokeResponse is the response object for the TransformInvoke RPC.
argsgoogle.protobuf.Structthe transformed input args.
optionsTransformInvokeOptionsthe options for the resource.
π¨ TransformRequest#
typestringthe type of the resource.
namestringthe name of the resource.
custombooltrue if the resource is a custom resource, else itβs a component resource.
parentstringthe parent of the resource, this canβt be changed by the transform.
propertiesgoogle.protobuf.Structthe input properties of the resource.
optionsTransformResourceOptionsthe options for the resource.
π¨ TransformResourceOptions#
TransformResourceOptions is a subset of all resource options that are relevant to transforms.
depends_onstring<No description>
protectbool<No description>
ignore_changesstring<No description>
replace_on_changesstring<No description>
versionstring<No description>
aliasesAlias<No description>
providerstring<No description>
custom_timeoutsRegisterResourceRequest.CustomTimeouts<No description>
plugin_download_urlstring<No description>
retain_on_deletebool<No description>
deleted_withstring<No description>
delete_before_replacebool<No description>
additional_secret_outputsstring<No description>
providersTransformResourceOptions.ProvidersEntry<No description>
plugin_checksumsTransformResourceOptions.PluginChecksumsEntry<No description>
hooksRegisterResourceRequest.ResourceHooksBinding<No description>
importstring<No description>
hide_diffstring<No description>
replace_withstring<No description>
replacement_triggergoogle.protobuf.Value<No description>
π¨ PluginChecksumsEntry#
π¨ ProvidersEntry#
π¨ TransformResponse#
propertiesgoogle.protobuf.Structthe transformed input properties.
optionsTransformResourceOptionsthe options for the resource.