provider

package
v0.0.0-...-d08274a Latest Latest
Warning

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

Go to latest
Published: Sep 10, 2025 License: Apache-2.0 Imports: 31 Imported by: 16

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BackendConstructor

type BackendConstructor[Config any, Backend any] func(stack constructs.Construct, config Config) Backend

type DependencyCheck

type DependencyCheck func() error

type ErrorHandler

type ErrorHandler = func(err error) error

type ModuleDirectory

type ModuleDirectory struct {
	ParentDir string
	Modules   fs.FS
}

type NitricDefaultOrder

type NitricDefaultOrder struct{}

NitricDefaultOrder - Partial implementation of NitricPulumiProvider which implements the standard resource deployment order

func (*NitricDefaultOrder) Order

Order - the default resource deployment order By default deploy services (services) first, other resources typically depend on them e.g. topics may need to know about services in order to setup subscriptions.

type NitricPulumiProvider

type NitricPulumiProvider interface {
	// Init - Initialize the provider with the given attributes, prior to any resource creation or Pulumi Context creation
	Init(attributes map[string]interface{}) error
	// Pre - Called prior to any resource creation, after the Pulumi Context has been established
	Pre(ctx *pulumi.Context, resources []*pulumix.NitricPulumiResource[any]) error
	// Config - Return the Pulumi ConfigMap for the provider
	Config() (auto.ConfigMap, error)

	// Order - Return the order that resources should be deployed in.
	// The order of resources is important as some resources depend on others.
	// Changing the default order is not recommended unless you know what you are doing.
	Order(resources []*deploymentspb.Resource) []*deploymentspb.Resource

	// Api - Deploy an API Gateway
	Api(ctx *pulumi.Context, parent pulumi.Resource, name string, config *deploymentspb.Api) error
	// Http - Deploy a HTTP Proxy
	Http(ctx *pulumi.Context, parent pulumi.Resource, name string, config *deploymentspb.Http) error
	// Bucket - Deploy a Storage Bucket
	Bucket(ctx *pulumi.Context, parent pulumi.Resource, name string, config *deploymentspb.Bucket) error
	// Service - Deploy an service (Service)
	Service(ctx *pulumi.Context, parent pulumi.Resource, name string, config *pulumix.NitricPulumiServiceConfig, runtimeProvider RuntimeProvider) error
	// Topic - Deploy a Pub/Sub Topic
	Topic(ctx *pulumi.Context, parent pulumi.Resource, name string, config *deploymentspb.Topic) error
	// Queue - Deploy a Queue
	Queue(ctx *pulumi.Context, parent pulumi.Resource, name string, config *deploymentspb.Queue) error
	// Secret - Deploy a Secret
	Secret(ctx *pulumi.Context, parent pulumi.Resource, name string, config *deploymentspb.Secret) error
	// Schedule - Deploy a Schedule
	Schedule(ctx *pulumi.Context, parent pulumi.Resource, name string, config *deploymentspb.Schedule) error
	// Websocket - Deploy a Websocket Gateway
	Websocket(ctx *pulumi.Context, parent pulumi.Resource, name string, config *deploymentspb.Websocket) error
	// Website - Deploy a Website
	Website(ctx *pulumi.Context, parent pulumi.Resource, name string, config *deploymentspb.Website) error
	// Policy - Deploy a Policy
	Policy(ctx *pulumi.Context, parent pulumi.Resource, name string, config *deploymentspb.Policy) error
	// KeyValueStore - Deploy a Key Value Store
	KeyValueStore(ctx *pulumi.Context, parent pulumi.Resource, name string, config *deploymentspb.KeyValueStore) error
	// SqlDatabase - Deploy a SQL Database
	SqlDatabase(ctx *pulumi.Context, parent pulumi.Resource, name string, config *deploymentspb.SqlDatabase) error
	// Job - Deploy a Job
	Batch(ctx *pulumi.Context, parent pulumi.Resource, name string, config *deploymentspb.Batch, runtimeProvider RuntimeProvider) error

	// Post - Called after all resources have been created, before the Pulumi Context is concluded
	Post(ctx *pulumi.Context) error

	// Result - Last method to be called, return the result of the deployment to be printed to stdout
	Result(ctx *pulumi.Context) (pulumi.StringOutput, error)
}

type NitricTerraformProvider

type NitricTerraformProvider interface {
	// Init - Initialize the provider with the given attributes, prior to any resource creation
	Init(attributes map[string]interface{}) error
	// Pre - Called prior to any resource creation, after the stack has been established
	Pre(stack cdktf.TerraformStack, resources []*deploymentspb.Resource) error

	// CdkTfModules - Return the relative parent directory (root golang packed) and embedded modules directory
	// CdkTfModules() (string, fs.FS, error)
	CdkTfModules() ([]ModuleDirectory, error)

	// RequiredProviders - Return a list of required providers for this provider
	RequiredProviders() map[string]interface{}

	// Order - Return the order that resources should be deployed in.
	// The order of resources is important as some resources depend on others.
	// Changing the default order is not recommended unless you know what you are doing.
	Order(resources []*deploymentspb.Resource) []*deploymentspb.Resource

	// Api - Deploy an API Gateway
	Api(tack cdktf.TerraformStack, name string, config *deploymentspb.Api) error
	// Http - Deploy a HTTP Proxy
	Http(tack cdktf.TerraformStack, name string, config *deploymentspb.Http) error
	// Bucket - Deploy a Storage Bucket
	Bucket(stack cdktf.TerraformStack, name string, config *deploymentspb.Bucket) error
	// Service - Deploy an service (Service)
	Service(stack cdktf.TerraformStack, name string, config *deploymentspb.Service, runtimeProvider RuntimeProvider) error
	// Topic - Deploy a Pub/Sub Topic
	Topic(stack cdktf.TerraformStack, name string, config *deploymentspb.Topic) error
	// Queue - Deploy a Queue
	Queue(stack cdktf.TerraformStack, name string, config *deploymentspb.Queue) error
	// Secret - Deploy a Secret
	Secret(stack cdktf.TerraformStack, name string, config *deploymentspb.Secret) error
	// Schedule - Deploy a Schedule
	Schedule(stack cdktf.TerraformStack, name string, config *deploymentspb.Schedule) error
	// Websocket - Deploy a Websocket Gateway
	Websocket(stack cdktf.TerraformStack, name string, config *deploymentspb.Websocket) error
	// Website - Deploy a Website
	Website(stack cdktf.TerraformStack, name string, config *deploymentspb.Website) error
	// Policy - Deploy a Policy
	Policy(stack cdktf.TerraformStack, name string, config *deploymentspb.Policy) error
	// KeyValueStore - Deploy a Key Value Store
	KeyValueStore(stack cdktf.TerraformStack, name string, config *deploymentspb.KeyValueStore) error
	// SqlDatabase - Deploy a SQL Database
	SqlDatabase(stack cdktf.TerraformStack, name string, config *deploymentspb.SqlDatabase) error

	// Post - Called after all resources have been created, before the stack is concluded
	Post(stack cdktf.TerraformStack) error
}

type PulumiProviderServer

type PulumiProviderServer struct {
	// contains filtered or unexported fields
}

func NewPulumiProviderServer

func NewPulumiProviderServer(provider NitricPulumiProvider, runtime RuntimeProvider, options ...func(*PulumiProviderServer)) *PulumiProviderServer

func (*PulumiProviderServer) Down

Down - automatically called by the Nitric CLI via the `down` command

func (*PulumiProviderServer) Start

func (s *PulumiProviderServer) Start()

Start - starts the Nitric Provider gRPC server, making it callable by the Nitric CLI during deployments.

func (*PulumiProviderServer) Up

Up - automatically called by the Nitric CLI via the `up` command

type RuntimeProvider

type RuntimeProvider func() []byte

A function that returns the runtime for a nitric provider

type TerraformProviderServer

type TerraformProviderServer struct {
	// contains filtered or unexported fields
}

func NewTerraformProviderServer

func NewTerraformProviderServer(provider NitricTerraformProvider, runtime RuntimeProvider) *TerraformProviderServer

func (*TerraformProviderServer) Down

func (*TerraformProviderServer) Start

func (s *TerraformProviderServer) Start()

func (*TerraformProviderServer) Up

Jump to

Keyboard shortcuts

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