terraform

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Sep 26, 2025 License: MPL-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApplyResource

func ApplyResource(fileDir string) (outputs map[string]struct {
	Value string `json:"value"`
}, err error)

ApplyResource terraform apply

func DestroyResource

func DestroyResource(fileDir string) error

DestroyResource terraform destroy

func Split

func Split(id string, element ...*string) error

Split 分割字符串

func WrapDataSource

func WrapDataSource(t datasource.DataSource, hooks *AopAdvices) func() datasource.DataSource

func WrapResource

func WrapResource(t resource.Resource, hooks *AopAdvices) func() resource.Resource

Types

type Advice

type Advice[T any, R any] interface {
	Around(context.Context, T, R, ResourceDecoratorChain[T, R]) error
}

type AopAdvices

type AopAdvices struct {
	DataSourceReadAopApi []Advice[datasource.ReadRequest, *datasource.ReadResponse]
	ResourceReadAopApi   []Advice[resource.ReadRequest, *resource.ReadResponse]
	ResourceCreateAopApi []Advice[resource.CreateRequest, *resource.CreateResponse]
	ResourceDeleteAopApi []Advice[resource.DeleteRequest, *resource.DeleteResponse]
	ResourceUpdateAopApi []Advice[resource.UpdateRequest, *resource.UpdateResponse]
}

func NewAopAdvices

func NewAopAdvices() *AopAdvices

type DatasourceWrapper

func (*DatasourceWrapper) ConfigValidators

func (w *DatasourceWrapper) ConfigValidators(ctx context.Context) []datasource.ConfigValidator

func (*DatasourceWrapper) Configure

func (*DatasourceWrapper) Metadata

func (*DatasourceWrapper) Read

func (*DatasourceWrapper) Schema

func (*DatasourceWrapper) ValidateConfig

type LogAdvice

type LogAdvice[T any, R any] struct {
}

func (LogAdvice[T, R]) Around

func (LogAdvice[T, R]) Around(ctx context.Context, req T, resp R, chain ResourceDecoratorChain[T, R]) error

type ResourceDecoratorChain

type ResourceDecoratorChain[T any, R any] struct {
	Chains []Advice[T, R]
}

func (ResourceDecoratorChain[T, R]) Next

func (this ResourceDecoratorChain[T, R]) Next(ctx context.Context, request T, response R) error

Next 驱动处理链执行下个动作

type ResourceWrapper

func (*ResourceWrapper) ConfigValidators

func (r *ResourceWrapper) ConfigValidators(ctx context.Context) []resource.ConfigValidator

func (*ResourceWrapper) Configure

func (r *ResourceWrapper) Configure(ctx context.Context, request resource.ConfigureRequest, response *resource.ConfigureResponse)

func (*ResourceWrapper) Create

func (r *ResourceWrapper) Create(ctx context.Context, request resource.CreateRequest, response *resource.CreateResponse)

func (*ResourceWrapper) Delete

func (r *ResourceWrapper) Delete(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse)

func (*ResourceWrapper) ImportState

func (r *ResourceWrapper) ImportState(ctx context.Context, request resource.ImportStateRequest, response *resource.ImportStateResponse)

func (*ResourceWrapper) Metadata

func (r *ResourceWrapper) Metadata(ctx context.Context, request resource.MetadataRequest, response *resource.MetadataResponse)

func (*ResourceWrapper) ModifyPlan

func (r *ResourceWrapper) ModifyPlan(ctx context.Context, request resource.ModifyPlanRequest, response *resource.ModifyPlanResponse)

func (*ResourceWrapper) Read

func (r *ResourceWrapper) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse)

func (*ResourceWrapper) Schema

func (r *ResourceWrapper) Schema(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse)

func (*ResourceWrapper) Update

func (r *ResourceWrapper) Update(ctx context.Context, request resource.UpdateRequest, response *resource.UpdateResponse)

func (*ResourceWrapper) UpgradeState

func (r *ResourceWrapper) UpgradeState(ctx context.Context) map[int64]resource.StateUpgrader

func (*ResourceWrapper) ValidateConfig

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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