tfeditor

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Aug 14, 2024 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewFileFilter added in v0.2.0

func NewFileFilter(filter BlockFilter) editor.Filter

NewFileFilter creates a new instance of NewFileFilter.

Types

type BlockFilter added in v0.2.0

type BlockFilter interface {
	// BlockFilter reads Terraform configuration and rewrite a given block,
	// and writes Terraform configuration.
	BlockFilter(*tfwrite.File, tfwrite.Block) (*tfwrite.File, error)
}

BlockFilter is an interface which reads Terraform configuration and rewrite a given block, and writes Terraform configuration.

func NewMultiBlockFilter added in v0.2.0

func NewMultiBlockFilter(filters []BlockFilter) BlockFilter

NewMultiBlockFilter creates a new instance of MultiBlockFilter.

type BlockFilterFunc added in v0.2.0

type BlockFilterFunc func(*tfwrite.File, tfwrite.Block) (*tfwrite.File, error)

BlockFilterFunc is a helper method for implementing a BlockFilter interface.

func (BlockFilterFunc) BlockFilter added in v0.2.0

func (f BlockFilterFunc) BlockFilter(inFile *tfwrite.File, block tfwrite.Block) (*tfwrite.File, error)

BlockFilter reads Terraform configuration and rewrite a given block, and writes Terraform configuration.

type DataSourceFilterFunc added in v0.2.0

type DataSourceFilterFunc = anyBlockFilterFunc[*tfwrite.DataSource]

DataSourceFilterFunc is a helper method for implementing a BlockFilter interface for DataSource.

type FileFilter added in v0.2.0

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

FileFilter is a Filter implementation for applying a filter to all blocks in a given file.

func (*FileFilter) Filter added in v0.2.0

func (f *FileFilter) Filter(inFile *hclwrite.File) (*hclwrite.File, error)

Filter applies a filter to all blocks in a given file.

type MultiBlockFilter added in v0.2.0

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

MultiBlockFilter is a BlockFilter implementation which applies multiple block filters to a given block in sequence.

func (*MultiBlockFilter) BlockFilter added in v0.2.0

func (f *MultiBlockFilter) BlockFilter(inFile *tfwrite.File, block tfwrite.Block) (*tfwrite.File, error)

BlockFilter applies multiple filters to a given block in sequence.

type ProviderFilterFunc added in v0.2.0

type ProviderFilterFunc = anyBlockFilterFunc[*tfwrite.Provider]

ProviderFilterFunc is a helper method for implementing a BlockFilter interface for Provider.

type ResourceFilterFunc added in v0.2.0

type ResourceFilterFunc = anyBlockFilterFunc[*tfwrite.Resource]

ResourceFilterFunc is a helper method for implementing a BlockFilter interface for Resource.

type VerticalFormatterBlockFilter added in v0.2.0

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

VerticalFormatterBlockFilter is a BlockFilter implementation to format HCL in vertical. At time of writing, the default hcl formatter does not support vertical formatting. However, it's useful in some cases such as removing a block because leading and trailing newline tokens don't belong to a block, so deleting a block leaves extra newline tokens.

func NewVerticalFormatterBlockFilter added in v0.2.0

func NewVerticalFormatterBlockFilter(blockType string, schemaType string) *VerticalFormatterBlockFilter

NewVerticalFormatterBlockFilter returns a new instance of VerticalFormatterBlockFilter.

func (*VerticalFormatterBlockFilter) BlockFilter added in v0.2.0

func (f *VerticalFormatterBlockFilter) BlockFilter(inFile *tfwrite.File, block tfwrite.Block) (*tfwrite.File, error)

BlockFilter reads Terraform configuration and rewrite a given block, and writes Terraform configuration. When block type or schema type is set, format a block only if matching.

Jump to

Keyboard shortcuts

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