plugin

package
v3.95.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 8, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

The code in this package implements Context-preserving provider server and is forked from pulumi/pulumi.

We have started to make edits to customize this for pf. This includes secret handling.

When https://github.com/pulumi/pulumi/issues/12010 is complete this may need to be rewritten to the newly introduced APIs.

An attempt to upstream the Context preservation improvement in this code was rejected in https://github.com/pulumi/pulumi/pull/12429.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewProvider

func NewProvider(p ProviderWithContext) plugin.Provider

func NewProviderServerWithContext

func NewProviderServerWithContext(
	provider ProviderWithContext,
) pulumirpc.ResourceProviderServer

Types

type ProviderWithContext

type ProviderWithContext interface {
	io.Closer

	Pkg() tokens.Package

	GetSchemaWithContext(ctx context.Context, req plugin.GetSchemaRequest) ([]byte, error)

	CheckConfigWithContext(ctx context.Context, urn resource.URN, olds, news resource.PropertyMap,
		allowUnknowns bool) (resource.PropertyMap, []p.CheckFailure, error)

	DiffConfigWithContext(ctx context.Context, urn resource.URN, oldInputs, olds, news resource.PropertyMap,
		allowUnknowns bool, ignoreChanges []string) (p.DiffResult, error)

	ConfigureWithContext(ctx context.Context, inputs resource.PropertyMap) error

	CheckWithContext(ctx context.Context, urn resource.URN, olds, news resource.PropertyMap,
		allowUnknowns bool, randomSeed []byte) (resource.PropertyMap, []p.CheckFailure, error)

	DiffWithContext(ctx context.Context, urn resource.URN, id resource.ID, olds resource.PropertyMap,
		news resource.PropertyMap, allowUnknowns bool, ignoreChanges []string) (p.DiffResult, error)

	CreateWithContext(ctx context.Context, urn resource.URN, news resource.PropertyMap, timeout float64,
		preview bool) (resource.ID, resource.PropertyMap, resource.Status, error)

	ReadWithContext(ctx context.Context, urn resource.URN, id resource.ID,
		inputs, state resource.PropertyMap) (p.ReadResult, resource.Status, error)

	UpdateWithContext(ctx context.Context, urn resource.URN, id resource.ID,
		olds resource.PropertyMap, news resource.PropertyMap, timeout float64,
		ignoreChanges []string, preview bool) (resource.PropertyMap, resource.Status, error)

	DeleteWithContext(ctx context.Context, urn resource.URN, id resource.ID,
		inputs, outputs resource.PropertyMap, timeout float64) (resource.Status, error)

	ConstructWithContext(ctx context.Context, info p.ConstructInfo, typ tokens.Type, name tokens.QName,
		parent resource.URN, inputs resource.PropertyMap,
		options p.ConstructOptions) (p.ConstructResult, error)

	InvokeWithContext(ctx context.Context, tok tokens.ModuleMember,
		args resource.PropertyMap) (resource.PropertyMap, []p.CheckFailure, error)

	StreamInvokeWithContext(
		ctx context.Context,
		tok tokens.ModuleMember,
		args resource.PropertyMap,
		onNext func(resource.PropertyMap) error) ([]p.CheckFailure, error)

	CallWithContext(ctx context.Context, tok tokens.ModuleMember, args resource.PropertyMap, info p.CallInfo,
		options p.CallOptions) (p.CallResult, error)

	GetPluginInfoWithContext(ctx context.Context) (workspace.PluginInfo, error)

	SignalCancellationWithContext(ctx context.Context) error

	GetMappingWithContext(ctx context.Context, key, provider string) ([]byte, string, error)

	GetMappingsWithContext(ctx context.Context, key string) ([]string, error)

	ParameterizeWithContext(context.Context, plugin.ParameterizeRequest) (plugin.ParameterizeResponse, error)
}

A version of Provider interface that is enhanced by giving access to the request Context.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL