addons

package
v0.9.5 Latest Latest
Warning

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

Go to latest
Published: Sep 1, 2025 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