codegen

package
v0.0.0-...-0e15285 Latest Latest
Warning

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

Go to latest
Published: Oct 2, 2020 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Generate

func Generate(config Config) error

Generate generates a Helm API for the given configuration

Types

type ClientOptions

type ClientOptions struct {
	Location Location
	Package  Package
	Types    ClientTypes
	Filters  FilterOptions
	Groups   map[string]*GroupOptions
}

ClientOptions contains options for generating a client

type ClientTypes

type ClientTypes struct {
	Interface string
	Struct    string
}

ClientTypes contains types for generating a client

type Config

type Config struct {
	Path      string     `yaml:"path,omitempty"`
	Package   string     `yaml:"package,omitempty"`
	Resources []Resource `yaml:"resources"`
}

Config is the code generator configuration

type FilterOptions

type FilterOptions struct {
	Location Location
	Package  Package
	Groups   map[string]*GroupOptions
}

FilterOptions contains options for generating filters

type GroupNames

type GroupNames struct {
	Natural string
	Proper  string
}

GroupNames contains names for generating a version client

type GroupOptions

type GroupOptions struct {
	Location  Location
	Package   Package
	Group     string
	Version   string
	Types     GroupTypes
	Names     GroupNames
	Resources map[string]*ResourceOptions
}

GroupOptions contains options for generating a version client

type GroupTypes

type GroupTypes struct {
	Interface string
	Struct    string
}

GroupTypes contains types for generating a version client

type Location

type Location struct {
	Path string
	File string
}

Location is the location of a code file

type Package

type Package struct {
	Name  string
	Path  string
	Alias string
}

Package is the package for a code file

type Resource

type Resource struct {
	Group        string     `yaml:"group,omitempty"`
	Version      string     `yaml:"version,omitempty"`
	Kind         string     `yaml:"kind,omitempty"`
	ListKind     string     `yaml:"listKind,omitempty"`
	PluralKind   string     `yaml:"pluralKind,omitempty"`
	Scope        string     `yaml:"scope,omitempty"`
	API          string     `yaml:"api,omitempty"`
	Client       string     `yaml:"client,omitempty"`
	SubResources []Resource `yaml:"subResources"`
}

Resource is a code generator resource

type ResourceClientKind

type ResourceClientKind struct {
	Package Package
}

ResourceClientKind contains information about a resource client

type ResourceClientOptions

type ResourceClientOptions struct {
	Location Location
	Package  Package
	Types    ResourceClientTypes
}

ResourceClientOptions contains options for generating a resource client

type ResourceClientTypes

type ResourceClientTypes struct {
	Interface string
	Struct    string
}

ResourceClientTypes contains types for generating a resource client

type ResourceObjectKind

type ResourceObjectKind struct {
	Package  Package
	Group    string
	Version  string
	Kind     string
	ListKind string
	Scoped   bool
}

ResourceObjectKind contains kinds for generating a resource kind

type ResourceObjectNames

type ResourceObjectNames struct {
	Singular string
	Plural   string
}

ResourceObjectNames contains names for generating a resource object

type ResourceObjectOptions

type ResourceObjectOptions struct {
	Location   Location
	Package    Package
	Client     ResourceClientKind
	Kind       ResourceObjectKind
	Types      ResourceObjectTypes
	Names      ResourceObjectNames
	References []*ResourceOptions
}

ResourceObjectOptions contains options for generating a resource object

type ResourceObjectTypes

type ResourceObjectTypes struct {
	Kind     string
	Resource string
	Struct   string
}

ResourceObjectTypes contains types for generating a resource object

type ResourceOptions

type ResourceOptions struct {
	Client    *ResourceClientOptions
	Reader    *ResourceReaderOptions
	Reference *ResourceReferenceOptions
	Resource  *ResourceObjectOptions
	Group     *GroupOptions
}

ResourceOptions contains options for generating a resource

type ResourceReaderOptions

type ResourceReaderOptions struct {
	Location Location
	Package  Package
	Types    ResourceReaderTypes
}

ResourceReaderOptions contains options for generating a resource reader

type ResourceReaderTypes

type ResourceReaderTypes struct {
	Interface string
	Struct    string
}

ResourceReaderTypes contains types for generating a resource reader

type ResourceReferenceOptions

type ResourceReferenceOptions struct {
	Location Location
	Package  Package
	Types    ResourceReaderTypes
}

ResourceReferenceOptions contains options for generating a resource reference

type ResourceReferenceTypes

type ResourceReferenceTypes struct {
	Interface string
	Struct    string
}

ResourceReferenceTypes contains types for generating a resource reference

Jump to

Keyboard shortcuts

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