Help us shape the future of Go! Take the 2026 Go Developer Survey

addons

package
v0.9.7 Latest Latest
Warning

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

Go to latest
Published: May 29, 2026 License: Apache-2.0 Imports: 5 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CCEServiceURL

func CCEServiceURL(client *golangsdk.ServiceClient, clusterID string, parts ...string) string

func Delete

func Delete(client *golangsdk.ServiceClient, addonId, clusterId string) error

Delete will permanently delete a particular addon based on its unique ID.

func WaitForAddonDeleted added in v0.3.1

func WaitForAddonDeleted(client *golangsdk.ServiceClient, id, clusterID string, timeoutSeconds int) error

WaitForAddonDeleted - wait until addon is deleted

func WaitForAddonRunning added in v0.3.1

func WaitForAddonRunning(client *golangsdk.ServiceClient, id, clusterID string, timeoutSeconds int) error

WaitForAddonRunning - wait until addon status is `running`

Types

type Addon

type Addon struct {
	// API type, fixed value Addon
	Kind string `json:"kind" required:"true"`
	// API version, fixed value v3
	ApiVersion string `json:"apiVersion" required:"true"`
	// Metadata of an Addon
	Metadata MetaData `json:"metadata" required:"true"`
	// Specifications of an Addon
	Spec Spec `json:"spec" required:"true"`
	// Status of an Addon
	Status Status `json:"status"`
}

func Create

func Create(client *golangsdk.ServiceClient, opts CreateOpts, clusterId string) (*Addon, error)

Create accepts a CreateOpts struct and uses the values to create a new addon.

func Get

func Get(client *golangsdk.ServiceClient, addonId string, clusterId string) (*Addon, error)

Get retrieves a particular addon based on its unique ID.

func Update added in v0.2.1

func Update(client *golangsdk.ServiceClient, addonId string, clusterId string, opts UpdateOpts) (*Addon, error)

type AddonInstanceList added in v0.4.0

type AddonInstanceList struct {
	// API type, fixed value Addon
	Kind string `json:"kind" required:"true"`
	// API version, fixed value v3
	ApiVersion string `json:"apiVersion" required:"true"`
	// Metadata - Basic information about the add-on. A collection of attributes.
	Metadata string `json:"metadata"`
	// Add-on template list
	Items []Addon `json:"items" required:"true"`
}

func ListAddonInstances added in v0.4.0

func ListAddonInstances(client *golangsdk.ServiceClient, clusterId string) (*AddonInstanceList, error)

type AddonTemplate added in v0.2.1

type AddonTemplate struct {
	// API type, fixed value Addon
	Kind string `json:"kind" required:"true"`
	// API version, fixed value v3
	ApiVersion string `json:"apiVersion" required:"true"`
	// Metadata of an Addon
	Metadata MetaData `json:"metadata" required:"true"`
	// Specifications of an Addon
	Spec AddonTemplateSpec `json:"spec" required:"true"`
}

type AddonTemplateList added in v0.2.1

type AddonTemplateList struct {
	// API type, fixed value Addon
	Kind string `json:"kind" required:"true"`
	// API version, fixed value v3
	ApiVersion string `json:"apiVersion" required:"true"`
	// Add-on template list
	Items []AddonTemplate `json:"items" required:"true"`
}

func GetTemplates added in v0.5.24

func GetTemplates(client *golangsdk.ServiceClient) (*AddonTemplateList, error)

func ListTemplates added in v0.2.1

func ListTemplates(client *golangsdk.ServiceClient, clusterID string, opts ListOpts) (*AddonTemplateList, error)

type AddonTemplateSpec added in v0.9.4

type AddonTemplateSpec struct {
	// Template type (helm or static).
	Type string `json:"type" required:"true"`
	// Whether the add-on is installed by default
	Require bool `json:"require" required:"true"`
	// Group to which the template belongs
	Labels []string `json:"labels" required:"true"`
	// URL of the logo image
	LogoURL string `json:"logoURL" required:"true"`
	// URL of the readme file
	ReadmeURL string `json:"readmeURL" required:"true"`
	// Template description
	Description string `json:"description" required:"true"`
	// Template version details
	Versions []Version `json:"versions" required:"true"`
}

type ClusterIdQueryParam added in v0.9.4

type ClusterIdQueryParam struct {
	ClusterId string `q:"cluster_id"`
}

type CreateAnnotations added in v0.2.1

type CreateAnnotations struct {
	AddonInstallType string `json:"addon.install/type" required:"true"`
}

type CreateMetadata

type CreateMetadata struct {
	Annotations CreateAnnotations `json:"annotations" required:"true"`
}

type CreateOpts

type CreateOpts struct {
	// API type, fixed value Addon
	Kind string `json:"kind" required:"true"`
	// API version, fixed value v3
	ApiVersion string `json:"apiVersion" required:"true"`
	// Metadata required to create an addon
	Metadata CreateMetadata `json:"metadata" required:"true"`
	// specifications to create an addon
	Spec RequestSpec `json:"spec" required:"true"`
}

CreateOpts contains all the values needed to create a new addon

type Input added in v0.9.4

type Input struct {
	Basic      map[string]interface{} `json:"basic"`
	Parameters map[string]interface{} `json:"parameters"`
}

type ListOpts added in v0.2.1

type ListOpts struct {
	Name string `q:"addon_template_name"`
}

type MetaData

type MetaData struct {
	// Addon unique name
	Name string `json:"name"`
	// Addon unique Id
	Id string `json:"uid"`
	// Addon tag, key/value pair format
	Labels map[string]string `json:"labels"`
	// Addon annotation, key/value pair format
	Annotations map[string]string `json:"annotaions"`
	// Time when the add-on instance was updated.
	UpdateTimestamp string `json:"updateTimestamp"`
	// Time when the add-on instance was created.
	CreationTimestamp string `json:"creationTimestamp"`
}

Metadata required to create an addon

type RequestSpec

type RequestSpec struct {
	// For the addon version.
	Version string `json:"version" required:"true"`
	// Cluster ID.
	ClusterID string `json:"clusterID" required:"true"`
	// Addon Template Name.
	AddonTemplateName string `json:"addonTemplateName" required:"true"`
	// Addon Parameters
	Values Values `json:"values" required:"true"`
}

Specifications to create an addon

type Spec

type Spec struct {
	// For the addon version.
	Version string `json:"version" required:"true"`
	// Cluster ID.
	ClusterID string `json:"clusterID" required:"true"`
	// Addon Template Name.
	AddonTemplateName string `json:"addonTemplateName" required:"true"`
	// Addon Template Type.
	AddonTemplateType string `json:"addonTemplateType" required:"true"`
	// Addon Template Labels.
	AddonTemplateLabels []string `json:"addonTemplateLabels,omitempty"`
	// Addon Description.
	Description string `json:"description" required:"true"`
	// Addon Parameters
	Values Values `json:"values" required:"true"`
}

Specifications to create an addon

type Status

type Status struct {
	// The state of the addon
	Status string `json:"status"`
	// Reasons for the addon to become current
	Reason string `json:"reason"`
	// Error Message
	Message string `json:"message"`
	// The target versions of the addon
	TargetVersions []string `json:"targetVersions"`
	// Current add-on version.
	CurrentVersion Version `json:"currentVersion"`
}

type SupportVersion added in v0.2.1

type SupportVersion struct {
	// Cluster type that supports the add-on template
	ClusterType string `json:"clusterType"`
	// Cluster versions that support the add-on template,
	// the parameter value is a regular expression
	ClusterVersion []string `json:"clusterVersion"`
}

type UpdateAnnotations added in v0.2.1

type UpdateAnnotations struct {
	AddonUpdateType string `json:"addon.upgrade/type" required:"true"`
}

type UpdateMetadata added in v0.2.1

type UpdateMetadata struct {
	// Add-on annotations in the format of key-value pairs.
	// For add-on upgrade, the value is fixed at {"addon.upgrade/type":"upgrade"}.
	Annotations UpdateAnnotations `json:"annotations" required:"true"`
	// Add-on labels in the format of key-value pairs.
	Labels map[string]string `json:"metadata,omitempty"`
}

type UpdateOpts added in v0.2.1

type UpdateOpts struct {
	// API type, fixed value Addon
	Kind string `json:"kind" required:"true"`
	// API version, fixed value v3
	ApiVersion string `json:"apiVersion" required:"true"`
	// Metadata required to create an addon
	Metadata UpdateMetadata `json:"metadata" required:"true"`
	// specifications to create an addon
	Spec RequestSpec `json:"spec" required:"true"`
}

type Values

type Values struct {
	Basic    map[string]interface{} `json:"basic" required:"true"`
	Advanced map[string]interface{} `json:"custom,omitempty"`
	Flavor   map[string]interface{} `json:"flavor,omitempty"`
}

type Version added in v0.2.1

type Version struct {
	// Add-on version
	Version string `json:"version"`
	// Add-on installation parameters
	Input Input `json:"input"`
	// Whether the add-on version is a stable release
	Stable bool `json:"stable"`
	// Translation information used by the GUI.
	Translate map[string]interface{} `json:"translate"`
	// Cluster versions that support the add-on template
	SupportVersions []SupportVersion `json:"supportVersions"`
	// Creation time of the add-on instance
	CreationTimestamp string `json:"creationTimestamp"`
	// Time when the add-on instance was updated
	UpdateTimestamp string `json:"updateTimestamp"`
}

Jump to

Keyboard shortcuts

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