pipeline

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2024 License: Apache-2.0 Imports: 20 Imported by: 47

Documentation

Index

Constants

View Source
const (
	// GenStatement is printed on every generated file.
	GenStatement = "// Code generated by upjet. DO NOT EDIT."
)

Variables

This section is empty.

Functions

func Run

func Run(pc *config.Provider, rootDir string)

Run runs the Upjet code generation pipelines.

Types

type CRDGenerator

type CRDGenerator struct {
	LocalDirectoryPath string
	Group              string
	ProviderShortName  string
	LicenseHeaderPath  string
	Generated          *tjtypes.Generated
	// contains filtered or unexported fields
}

CRDGenerator takes certain information referencing Terraform resource definition and writes kubebuilder CRD file.

func NewCRDGenerator

func NewCRDGenerator(pkg *types.Package, rootDir, providerShortName, group, version string) *CRDGenerator

NewCRDGenerator returns a new CRDGenerator.

func (*CRDGenerator) Generate

func (cg *CRDGenerator) Generate(cfg *config.Resource) (string, error)

Generate builds and writes a new CRD out of Terraform resource definition.

type ControllerGenerator

type ControllerGenerator struct {
	Group              string
	ControllerGroupDir string
	ModulePath         string
	LicenseHeaderPath  string
}

ControllerGenerator generates controller setup functions.

func NewControllerGenerator

func NewControllerGenerator(rootDir, modulePath, group string) *ControllerGenerator

NewControllerGenerator returns a new ControllerGenerator.

func (*ControllerGenerator) Generate

func (cg *ControllerGenerator) Generate(cfg *config.Resource, typesPkgPath string, featuresPkgPath string) (pkgPath string, err error)

Generate writes controller setup functions.

type ConversionHubGenerator added in v1.1.0

type ConversionHubGenerator struct {
	LocalDirectoryPath string
	LicenseHeaderPath  string
	// contains filtered or unexported fields
}

ConversionHubGenerator generates conversion methods implementing the conversion.Hub interface on the CRD structs.

func NewConversionHubGenerator added in v1.1.0

func NewConversionHubGenerator(pkg *types.Package, rootDir, group, version string) *ConversionHubGenerator

NewConversionHubGenerator returns a new ConversionHubGenerator.

func (*ConversionHubGenerator) Generate added in v1.1.0

func (cg *ConversionHubGenerator) Generate(cfgs []*terraformedInput, apiVersion string) error

Generate writes generated conversion.Hub interface functions

type ConversionSpokeGenerator added in v1.1.0

type ConversionSpokeGenerator struct {
	LocalDirectoryPath string
	LicenseHeaderPath  string
	SpokeVersionsMap   map[string][]string
	// contains filtered or unexported fields
}

ConversionSpokeGenerator generates conversion methods implementing the conversion.Convertible interface on the CRD structs.

func NewConversionSpokeGenerator added in v1.1.0

func NewConversionSpokeGenerator(pkg *types.Package, rootDir, group, version string) *ConversionSpokeGenerator

NewConversionSpokeGenerator returns a new ConversionSpokeGenerator.

func (*ConversionSpokeGenerator) Generate added in v1.1.0

func (cg *ConversionSpokeGenerator) Generate(cfgs []*terraformedInput) error

Generate writes generated conversion.Convertible interface functions

type ProviderGenerator

type ProviderGenerator struct {
	ProviderPath       string
	LocalDirectoryPath string
	LicenseHeaderPath  string
	ModulePath         string
}

ProviderGenerator generates controller setup file.

func NewProviderGenerator

func NewProviderGenerator(rootDir, modulePath string) *ProviderGenerator

NewProviderGenerator returns a new ProviderGenerator.

func (*ProviderGenerator) Generate

func (sg *ProviderGenerator) Generate(versionPkgMap map[string][]string, mainTemplate string) error

Generate writes the setup file and the corresponding provider main file using the given list of version packages.

type RegisterGenerator

type RegisterGenerator struct {
	LocalDirectoryPath string
	ModulePath         string
	LicenseHeaderPath  string
}

RegisterGenerator generates scheme registration file.

func NewRegisterGenerator

func NewRegisterGenerator(rootDir, modulePath string) *RegisterGenerator

NewRegisterGenerator returns a new RegisterGenerator.

func (*RegisterGenerator) Generate

func (rg *RegisterGenerator) Generate(versionPkgList []string) error

Generate writes the register file with the content produced using given list of version packages.

type TerraformedGenerator

type TerraformedGenerator struct {
	LocalDirectoryPath string
	LicenseHeaderPath  string
	// contains filtered or unexported fields
}

TerraformedGenerator generates conversion methods implementing Terraformed interface on CRD structs.

func NewTerraformedGenerator

func NewTerraformedGenerator(pkg *types.Package, rootDir, group, version string) *TerraformedGenerator

NewTerraformedGenerator returns a new TerraformedGenerator.

func (*TerraformedGenerator) Generate

func (tg *TerraformedGenerator) Generate(cfgs []*terraformedInput, apiVersion string) error

Generate writes generated Terraformed interface functions

type VersionGenerator

type VersionGenerator struct {
	Group             string
	Version           string
	DirectoryPath     string
	LicenseHeaderPath string
	// contains filtered or unexported fields
}

VersionGenerator generates files for a version of a specific group.

func NewVersionGenerator

func NewVersionGenerator(rootDir, modulePath, group, version string) *VersionGenerator

NewVersionGenerator returns a new VersionGenerator.

func (*VersionGenerator) Generate

func (vg *VersionGenerator) Generate() error

Generate writes doc and group version info files to the disk.

func (*VersionGenerator) Package

func (vg *VersionGenerator) Package() *types.Package

Package returns the package of the version that will be generated.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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