provider

package
v0.7.1 Latest Latest
Warning

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

Go to latest
Published: Jan 30, 2022 License: MPL-2.0 Imports: 21 Imported by: 39

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultErrorClassifier added in v0.5.0

func DefaultErrorClassifier(_ schema.ClientMeta, resourceName string, err error) []diag.Diagnostic

DefaultErrorClassifier defines default error classifier for providers that don't provide custom error classification for errors returned from fetch execution

func IsDebug added in v0.7.0

func IsDebug() bool

IsDebug checks if CQ_PROVIDER_DEBUG is turned on. In case it's true the plugin is executed in debug mode.

Types

type Config

type Config interface {
	// Example returns a configuration example (with comments) so user clients can generate an example config
	Example() string
}

Config Every provider implements a resources field we only want to extract that in fetch execution

type Provider

type Provider struct {
	// Name of plugin i.e aws,gcp, azure etc'
	Name string
	// Version of the provider
	Version string
	// Configure the provider and return context
	Configure func(hclog.Logger, interface{}) (schema.ClientMeta, error)
	// ResourceMap is all resources supported by this plugin
	ResourceMap map[string]*schema.Table
	// Configuration decoded from configure request
	Config func() Config
	// Logger to call, this logger is passed to the serve.Serve Client, if not define Serve will create one instead.
	Logger hclog.Logger
	// Migrations embedded and passed by the provider to upgrade between versions
	Migrations embed.FS
	// ErrorClassifier allows the provider to classify errors it produces during table execution, and return them as diagnostics to the user.
	// Classifier function may return empty slice if it cannot meaningfully convert the error into diagnostics. In this case
	// the error will be converted by the SDK into diagnostic at ERROR level and RESOLVING type.
	ErrorClassifier func(meta schema.ClientMeta, resource string, err error) []diag.Diagnostic
	// contains filtered or unexported fields
}

Provider is the base structure required to pass and serve an sdk provider.Provider

func (*Provider) ConfigureProvider added in v0.2.0

func (*Provider) FetchResources added in v0.2.0

func (p *Provider) FetchResources(ctx context.Context, request *cqproto.FetchResourcesRequest, sender cqproto.FetchResourcesSender) error

func (*Provider) GetProviderConfig added in v0.2.0

func (*Provider) GetProviderSchema added in v0.2.0

Directories

Path Synopsis
Package docs helps create provider documentation
Package docs helps create provider documentation
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.

Jump to

Keyboard shortcuts

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