gen

package
v1.6.0 Latest Latest
Warning

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

Go to latest
Published: Mar 25, 2020 License: Apache-2.0 Imports: 18 Imported by: 1

Documentation

Overview

nolint: nakedret

nolint: goconst

nolint: lll

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func APIVersionComment added in v1.6.0

func APIVersionComment(gvk schema.GroupVersionKind) string

func DotnetClient added in v1.3.2

func DotnetClient(
	swagger map[string]interface{},
	templateDir string,
) (inputsts, outputsts, yaml string, groups map[string]string, err error)

DotnetClient will generate a Pulumi Kubernetes provider client SDK for .NET.

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 PulumiSchema added in v1.6.0

func PulumiSchema(swagger map[string]interface{}) pschema.PackageSpec

PulumiSchema will generate a Pulumi schema for the given k8s schema.

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) HasTopLevelKinds added in v1.4.0

func (gc GroupConfig) HasTopLevelKinds() bool

HasTopLevelKinds returns true if this group has top-level kinds.

func (*GroupConfig) URNGroup added in v1.6.0

func (gc *GroupConfig) URNGroup() string

URNGroup returns a group version that can be used in a URN.

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) DefaultAPIVersion added in v1.5.7

func (kc KindConfig) DefaultAPIVersion() string

DefaultAPIVersion returns the default apiVersion (e.g., `v1` rather than `core/v1`).

func (KindConfig) DeprecationComment added in v1.4.4

func (kc KindConfig) DeprecationComment() string

DeprecationComment returns the deprecation comment for deprecated APIs, otherwise an empty string.

func (KindConfig) IsNested added in v1.4.0

func (kc KindConfig) IsNested() bool

IsNested returns true if this is a nested 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) 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.

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) DotnetIsListOrMap added in v1.3.2

func (p Property) DotnetIsListOrMap() bool

DotnetIsListOrMap returns whether the property type is a List or map

func (Property) DotnetVarName added in v1.3.2

func (p Property) DotnetVarName() string

DotnetVarName returns a variable name safe to use in .NET (e.g. `@namespace` instead of `namespace`)

func (Property) InputsAPIType added in v1.4.0

func (p Property) InputsAPIType() string

InputsAPIType returns the type of the property for the inputs API.

func (Property) IsLast added in v1.3.2

func (p Property) IsLast() bool

IsLast returns whether the property is the last in the list of properties.

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) OutputsAPIType added in v1.4.0

func (p Property) OutputsAPIType() string

OutputsAPIType returns the type of the property for the outputs API.

func (Property) ProviderType added in v1.4.0

func (p Property) ProviderType() string

ProviderType returns the type of the property for the provider API.

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.

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) DefaultAPIVersion added in v1.5.7

func (vc VersionConfig) DefaultAPIVersion() string

DefaultAPIVersion returns the default apiVersion (e.g., `v1` rather than `core/v1`).

func (VersionConfig) HasTopLevelKinds added in v1.4.0

func (vc VersionConfig) HasTopLevelKinds() bool

HasTopLevelKinds returns true if this group has top-level kinds.

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) ListTopLevelKindsAndAliases added in v1.4.0

func (vc VersionConfig) ListTopLevelKindsAndAliases() []KindConfig

ListTopLevelKindsAndAliases 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) TopLevelKinds added in v1.4.0

func (vc VersionConfig) TopLevelKinds() []KindConfig

TopLevelKinds returns the set of kinds that are not nested.

func (VersionConfig) TopLevelKindsAndAliases added in v1.4.0

func (vc VersionConfig) TopLevelKindsAndAliases() []KindConfig

TODO(levi): TopLevelKindsAndAliases will be removed once we move over to schema-based codegen.

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