gen

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Nov 13, 2019 License: Apache-2.0 Imports: 15 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApiVersionComment added in v1.0.1

func ApiVersionComment(gvk schema.GroupVersionKind) string

func NodeJSClient

func NodeJSClient(swagger map[string]interface{}, templateDir string,
) (inputsts, outputsts, indexts, yamlts, packagejson string, groupsts map[string]*GroupTS, err error)

NodeJSClient will generate a Pulumi Kubernetes provider client SDK for nodejs.

func PulumiComment added in v1.2.0

func PulumiComment(kind string) string

PulumiComment adds additional information to the docs generated automatically from the OpenAPI specs. This includes information about Pulumi's await behavior, deprecation information, etc.

func PythonClient added in v0.18.0

func PythonClient(
	swagger map[string]interface{},
	templateDir string,
	rootInit func(initPy string) error,
	groupInit func(group, initPy string) error,
	customResource func(crPy string) error,
	versionInit func(group, version, initPy string) error,
	kindFile func(group, version, kind, kindPy string) error,
	casingFile func(casingPy string) error,
	yamlFile func(yamlPy string) error,
) error

PythonClient will generate a Pulumi Kubernetes provider client SDK for nodejs.

Types

type GroupConfig

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

GroupConfig represents a Kubernetes API group (e.g., core, apps, extensions, etc.)

func (*GroupConfig) Group

func (gc *GroupConfig) Group() string

Group returns the name of the group (e.g., `core` for core, etc.)

func (*GroupConfig) Versions

func (gc *GroupConfig) Versions() []*VersionConfig

Versions returns the set of version for some Kubernetes API group. For example, the `apps` group has `v1beta1`, `v1beta2`, and `v1`.

type GroupTS added in v0.21.1

type GroupTS struct {
	Versions map[string]*VersionTS
	Index    string
}

type KindConfig

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

KindConfig represents a Kubernetes API kind (e.g., the `Deployment` type in `apps/v1beta1/Deployment`).

func (*KindConfig) APIVersion

func (kc *KindConfig) APIVersion() string

APIVersion returns the fully-qualified apiVersion (e.g., `storage.k8s.io/v1` for storage, etc.)

func (*KindConfig) AdditionalSecretOutputs added in v1.2.0

func (kc *KindConfig) AdditionalSecretOutputs() []string

AdditionalSecretOutputs returns the list of strings to set as additionalSecretOutputs on some Kubernetes API kind.

func (*KindConfig) Aliases added in v1.2.0

func (kc *KindConfig) Aliases() []string

Aliases returns the list of aliases for a Kubernetes API kind.

func (*KindConfig) Comment

func (kc *KindConfig) Comment() string

Comment returns the comments associated with some Kubernetes API kind.

func (*KindConfig) Kind

func (kc *KindConfig) Kind() string

Kind returns the name of the Kubernetes API kind (e.g., `Deployment` for `apps/v1beta1/Deployment`).

func (*KindConfig) OptionalInputProperties added in v1.0.0

func (kc *KindConfig) OptionalInputProperties() []*Property

OptionalInputProperties returns the list of properties that are optional input properties on some Kubernetes API kind (i.e., things that we will want to provide, like `thing.metadata`, etc.).

func (*KindConfig) Properties

func (kc *KindConfig) Properties() []*Property

Properties returns the list of properties that exist on some Kubernetes API kind (i.e., things that we will want to `.` into, like `thing.apiVersion`, `thing.kind`, `thing.metadata`, etc.).

func (*KindConfig) PulumiComment added in v1.2.0

func (kc *KindConfig) PulumiComment() string

PulumiComment returns the await logic documentation associated with some Kubernetes API kind.

func (*KindConfig) RawAPIVersion added in v0.15.0

func (kc *KindConfig) RawAPIVersion() string

RawAPIVersion returns the "raw" apiVersion (e.g., `v1` rather than `core/v1`).

func (*KindConfig) RequiredInputProperties added in v1.0.0

func (kc *KindConfig) RequiredInputProperties() []*Property

RequiredInputProperties returns the list of properties that are required input properties on some Kubernetes API kind (i.e., things that we will want to provide, like `thing.metadata`, etc.).

func (*KindConfig) TypeGuard added in v0.15.0

func (kc *KindConfig) TypeGuard() string

TypeGuard returns the text of a TypeScript type guard for the given kind.

func (*KindConfig) URNAPIVersion added in v0.18.0

func (kc *KindConfig) URNAPIVersion() string

URNAPIVersion returns API version that can be used in a URN (e.g., using the backwards-compatible alias `apiextensions` instead of `apiextensions.k8s.io`).

type Property

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

Property represents a property we want to expose on a Kubernetes API kind (i.e., things that we will want to `.` into, like `thing.apiVersion`, `thing.kind`, `thing.metadata`, etc.).

func (*Property) Comment

func (p *Property) Comment() string

Comment returns the comments associated with some property.

func (*Property) DefaultValue

func (p *Property) DefaultValue() string

DefaultValue returns the type of the property.

func (*Property) LanguageName added in v0.18.0

func (p *Property) LanguageName() string

LanguageName returns the name of the property.

func (*Property) Name

func (p *Property) Name() string

Name returns the name of the property.

func (*Property) PropType

func (p *Property) PropType() string

PropType returns the type of the property.

func (*Property) PythonConstructorComment added in v1.0.0

func (p *Property) PythonConstructorComment() string

PythonConstructorComment returns the comments associated with some property, formatted for Python constructor documentation.

func (*Property) PythonConstructorPropType added in v1.0.0

func (p *Property) PythonConstructorPropType() string

PythonConstructorPropType returns the type of the property, typed for the Python constructor resource inputs.

type VersionConfig

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

VersionConfig represents a version of a Kubernetes API group (e.g., the `apps` group has `v1beta1`, `v1beta2`, and `v1`.)

func (*VersionConfig) APIVersion

func (vc *VersionConfig) APIVersion() string

APIVersion returns the fully-qualified apiVersion (e.g., `storage.k8s.io/v1` for storage, etc.)

func (*VersionConfig) Kinds

func (vc *VersionConfig) Kinds() []*KindConfig

Kinds returns the set of kinds in some Kubernetes API group/version combination (e.g., `apps/v1beta1` has the `Deployment` kind, etc.).

func (*VersionConfig) KindsAndAliases added in v0.18.0

func (vc *VersionConfig) KindsAndAliases() []*KindConfig

KindsAndAliases will produce a list of kinds, including aliases (e.g., both `apiregistration` and `apiregistration.k8s.io`).

func (*VersionConfig) ListKindsAndAliases added in v0.18.0

func (vc *VersionConfig) ListKindsAndAliases() []*KindConfig

ListKindsAndAliases will return all known `Kind`s that are lists, or aliases of lists. These `Kind`s are not instantiated by the API server, and we must "flatten" them client-side to get an accurate view of what resource operations we need to perform.

func (*VersionConfig) RawAPIVersion added in v0.15.0

func (vc *VersionConfig) RawAPIVersion() string

RawAPIVersion returns the "raw" apiVersion (e.g., `v1` rather than `core/v1`).

func (*VersionConfig) Version

func (vc *VersionConfig) Version() string

Version returns the name of the version (e.g., `apps/v1beta1` would return `v1beta1`).

type VersionTS added in v0.21.1

type VersionTS struct {
	Kinds map[string]string
	Index string
}

Jump to

Keyboard shortcuts

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