service

package
v1.2.6 Latest Latest
Warning

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

Go to latest
Published: Aug 31, 2020 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateOperatorService

func CreateOperatorService(client *kclient.Client, group, version, resource string, CustomResourceDefinition map[string]interface{}) error

CreateOperatorService creates new service (actually a Deployment) from OperatorHub

func CreateService

func CreateService(client *occlient.Client, serviceName string, serviceType string, servicePlan string, parameters map[string]string, applicationName string) error

CreateService creates new service from serviceCatalog

func DeleteOperatorService

func DeleteOperatorService(client *kclient.Client, serviceName string) error

DeleteOperatorService deletes an Operator backed service TODO: make it unlink the service from component as a part of https://github.com/openshift/odo/issues/3563

func DeleteServiceAndUnlinkComponents

func DeleteServiceAndUnlinkComponents(client *occlient.Client, serviceName string, applicationName string) error

DeleteServiceAndUnlinkComponents will delete the service with the provided `name` it also removes links to that service in components of the application

func DeleteServiceBindingRequest

func DeleteServiceBindingRequest(client *kclient.Client, serviceName string) error

DeleteServiceBindingRequest deletes a service binding request (when user does odo unlink). It's just a wrapper on DeleteOperatorService

func GetAlmExample

func GetAlmExample(csv olm.ClusterServiceVersion, cr, serviceType string) (almExample map[string]interface{}, err error)

GetAlmExample fetches the ALM example from an Operator's definition. This example contains the example yaml to be used to spin up a service for a given CR in an Operator

func GetCRInstances

func GetCRInstances(client *kclient.Client, customResource *olm.CRDDescription) (*unstructured.UnstructuredList, error)

func GetCSV

func GetCSV(client *kclient.Client, crd map[string]interface{}) (string, olm.ClusterServiceVersion, error)

GetCSV checks if the CR provided by the user in the YAML file exists in the namesapce It returns a CR (string representation) and CSV (Operator) upon successfully able to find them, an error otherwise.

func GetGVKFromCR

func GetGVKFromCR(cr *olm.CRDDescription) (group, version, kind string, err error)

func GetGVKRFromCR

func GetGVKRFromCR(cr olm.CRDDescription) (group, version, kind, resource string, err error)

GetGVKRFromCR returns values for group, version, kind and resource for a given Custom Resource (CR)

func GetGVRFromCR

func GetGVRFromCR(cr *olm.CRDDescription) (group, version, resource string, err error)

GetGVRFromCR parses and returns the values for group, version and resource for a given Custom Resource (CR).

func GetGVRFromOperator

func GetGVRFromOperator(csv olm.ClusterServiceVersion, cr string) (group, version, resource string, err error)

func GetInstancesOfCustomResources

func GetInstancesOfCustomResources(client *kclient.Client, customResources *[]olm.CRDDescription) ([]unstructured.Unstructured, error)

GetInstancesOfCustomResources returns active instances of given Custom Resource (service in odo lingo) in the active namespace of the cluster

func GetServiceClassAndPlans

func GetServiceClassAndPlans(client *occlient.Client, serviceName string) (ServiceClass, []ServicePlan, error)

GetServiceClassAndPlans returns the service class details with the associated plans serviceName is the name of the service class the first parameter returned is the ServiceClass object the second parameter returned is the array of ServicePlan associated with the service class

func IsOperatorServiceNameValid

func IsOperatorServiceNameValid(name string) (string, string, error)

IsValidOperatorServiceName checks if the provided name follows <service-type>/<service-name> format. For example: "EtcdCluster/example" is a valid servicename but "EtcdCluster/", "EtcdCluster", "example" aren't.

func ListOperatorServices

func ListOperatorServices(client *kclient.Client) ([]unstructured.Unstructured, error)

ListOperatorServices lists all operator backed services

func OperatorSvcExists

func OperatorSvcExists(client *kclient.Client, serviceName string) (bool, error)

OperatorSvcExists checks whether an Operator backed service with given name exists or not. It takes 'serviceName' of the format '<service-kind>/<service-name>'. For example: EtcdCluster/example. It doesn't bother about application since https://github.com/openshift/odo/issues/2801 is blocked

func SplitServiceKindName

func SplitServiceKindName(serviceName string) (string, string, error)

SplitServiceKindName splits the service name provided for deletion by the user. It has to be of the format <service-kind>/<service-name>. Example: EtcdCluster/myetcd

func SvcExists

func SvcExists(client *occlient.Client, serviceName, applicationName string) (bool, error)

SvcExists Checks whether a service with the given name exists in the current application or not serviceName is the service name to perform check for The first returned parameter is a bool indicating if a service with the given name already exists or not The second returned parameter is the error that might occurs while execution

Types

type InstanceCreateParameterSchema

type InstanceCreateParameterSchema struct {
	Required   []string
	Properties map[string]ServicePlanParameter
}

type Service

type Service struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ServiceSpec   `json:"spec,omitempty"`
	Status            ServiceStatus `json:"status,omitempty"`
}

ServiceInfo holds all important information about one service

type ServiceClass

type ServiceClass struct {
	Name              string
	Bindable          bool
	ShortDescription  string
	LongDescription   string
	Tags              []string
	VersionsAvailable []string
	ServiceBrokerName string
}

ServiceClass holds the information regarding a service catalog service class

type ServiceList

type ServiceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Service `json:"items"`
}

func List

func List(client *occlient.Client, applicationName string) (ServiceList, error)

List lists all the deployed services

func ListWithDetailedStatus

func ListWithDetailedStatus(client *occlient.Client, applicationName string) (ServiceList, error)

ListWithDetailedStatus lists all the deployed services and additionally provides a "smart" status for each one of them The smart status takes into account how Services are used in odo. So when a secret has been created as a result of the created ServiceBinding, we set the appropriate status Same for when the secret has been "linked" into the deploymentconfig

type ServicePlan

type ServicePlan struct {
	Name        string
	DisplayName string
	Description string
	Parameters  servicePlanParameters
}

ServicePlan holds the information about service catalog plans associated to service classes

func NewServicePlan

func NewServicePlan(result scv1beta1.ClusterServicePlan) (plan ServicePlan, err error)

NewServicePlan creates a new ServicePlan based on the specified ClusterServicePlan

type ServicePlanParameter

type ServicePlanParameter struct {
	Name                   string `json:"name"`
	Title                  string `json:"title,omitempty"`
	Description            string `json:"description,omitempty"`
	Default                string `json:"default,omitempty"`
	validation.Validatable `json:",inline,omitempty"`
}

ServicePlanParameter holds the information regarding a service catalog plan parameter

func NewServicePlanParameter

func NewServicePlanParameter(name, typeName, defaultValue string, required bool) ServicePlanParameter

NewServicePlanParameter creates a new ServicePlanParameter instance with the specified state

func (*ServicePlanParameter) UnmarshalJSON

func (sp *ServicePlanParameter) UnmarshalJSON(data []byte) error

UnmarshalJSON unmarshals the JSON for ServicePlanParameter instead of using the built in json.Unmarshal

type ServiceSpec

type ServiceSpec struct {
	Type string `json:"type,omitempty"`
	Plan string `json:"plan,omitempty"`
}

ServiceSpec ...

type ServiceStatus

type ServiceStatus struct {
	Status string `json:"status,omitempty"`
}

ServiceStatus ...

Jump to

Keyboard shortcuts

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