Documentation ¶
Index ¶
- func APIPackagePath(repo, group, version string, multiGroup bool) string
- func RegularPlural(singular string) string
- type API
- type GVK
- type Resource
- func (r Resource) Copy() Resource
- func (r Resource) HasAPI() bool
- func (r Resource) HasController() bool
- func (r Resource) HasConversionWebhook() bool
- func (r Resource) HasDefaultingWebhook() bool
- func (r Resource) HasValidationWebhook() bool
- func (r Resource) ImportAlias() string
- func (r Resource) IsRegularPlural() bool
- func (r Resource) PackageName() string
- func (r Resource) Replacer() *strings.Replacer
- func (r *Resource) Update(other Resource) error
- func (r Resource) Validate() error
- type Webhooks
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func APIPackagePath ¶
APIPackagePath returns the default path
func RegularPlural ¶
RegularPlural returns a default plural form when none was specified
Types ¶
type API ¶
type API struct { // CRDVersion holds the CustomResourceDefinition API version used for the resource. CRDVersion string `json:"crdVersion,omitempty"` // Namespaced is true if the API is namespaced. Namespaced bool `json:"namespaced,omitempty"` }
API contains information about scaffolded APIs
func (API) Copy ¶
Copy returns a deep copy of the API that can be safely modified without affecting the original.
type GVK ¶
type GVK struct { Group string `json:"group,omitempty"` Domain string `json:"domain,omitempty"` Version string `json:"version"` Kind string `json:"kind"` }
GVK stores the Group - Version - Kind triplet that uniquely identifies a resource. In kubebuilder, the k8s fully qualified group is stored as Group and Domain to improve UX.
func (GVK) QualifiedGroup ¶
QualifiedGroup returns the fully qualified group name with the available information.
type Resource ¶
type Resource struct { // GVK contains the resource's Group-Version-Kind triplet. GVK `json:",inline"` // Plural is the resource's kind plural form. Plural string `json:"plural,omitempty"` // Path is the path to the go package where the types are defined. Path string `json:"path,omitempty"` // API holds the information related to the resource API. API *API `json:"api,omitempty"` // Controller specifies if a controller has been scaffolded. Controller bool `json:"controller,omitempty"` // Webhooks holds the information related to the associated webhooks. Webhooks *Webhooks `json:"webhooks,omitempty"` }
Resource contains the information required to scaffold files for a resource.
func (Resource) Copy ¶
Copy returns a deep copy of the Resource that can be safely modified without affecting the original.
func (Resource) HasController ¶
HasController returns true if the resource has an associated controller.
func (Resource) HasConversionWebhook ¶
HasConversionWebhook returns true if the resource has an associated conversion webhook.
func (Resource) HasDefaultingWebhook ¶
HasDefaultingWebhook returns true if the resource has an associated defaulting webhook.
func (Resource) HasValidationWebhook ¶
HasValidationWebhook returns true if the resource has an associated validation webhook.
func (Resource) ImportAlias ¶
ImportAlias returns a identifier usable as an import alias for this resource.
func (Resource) IsRegularPlural ¶
IsRegularPlural returns true if the plural is the regular plural form for the kind.
func (Resource) PackageName ¶
PackageName returns a name valid to be used por go packages.
func (Resource) Replacer ¶
Replacer returns a strings.Replacer that replaces resource keywords with values.
type Webhooks ¶
type Webhooks struct { // WebhookVersion holds the {Validating,Mutating}WebhookConfiguration API version used for the resource. WebhookVersion string `json:"webhookVersion,omitempty"` // Defaulting specifies if a defaulting webhook is associated to the resource. Defaulting bool `json:"defaulting,omitempty"` // Validation specifies if a validation webhook is associated to the resource. Validation bool `json:"validation,omitempty"` // Conversion specifies if a conversion webhook is associated to the resource. Conversion bool `json:"conversion,omitempty"` }
Webhooks contains information about scaffolded webhooks
func (Webhooks) Copy ¶
Copy returns a deep copy of the API that can be safely modified without affecting the original.