resources

package
v0.0.0-...-41afc98 Latest Latest
Warning

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

Go to latest
Published: Jan 31, 2023 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	RequestEndpoint = Request.Resource(ResourceEndpoint)
	RequestService  = Request.Resource(ResourceSevice)
	RequestRegion   = Request.Resource(ResourceRegion)
)
View Source
var (
	Service   = "external-service"
	ServiceID = ""
	Interface = "console"
)

Modules describe the correspondence between Resource and modulebase.ResourceManager, which is equivalent to onecloud resource client.

View Source
var (
	RequestAP = Request.Resource(ResourceAP)
)
View Source
var (
	True = true
)

Functions

func ConvertVMDisk

func ConvertVMDisk(config onecloudv1.VMDiskSpec) comapi.DiskConfig

func ConvertVMNetwork

func ConvertVMNetwork(config onecloudv1.VMNetworkSpec) comapi.NetworkConfig

func Register

func Register(resource Resource, manager modulebase.ResourceManager)

Every Resource should call Register to register their modulebase.ResourceManager.

Types

type APCreateParams

type APCreateParams struct {
	Hosts      []AnsiblePlaybookHost
	Apt        *onecloudv1.AnsiblePlaybookTemplate
	CommonVars map[string]interface{}
}

type AnsiblePlaybook

type AnsiblePlaybook struct {
	AnsiblePlaybook *onecloudv1.AnsiblePlaybook
	// contains filtered or unexported fields
}

func NewAnisblePlaybook

func NewAnisblePlaybook(ap *onecloudv1.AnsiblePlaybook, logger logr.Logger) AnsiblePlaybook

func (AnsiblePlaybook) Create

func (an AnsiblePlaybook) Create(ctx context.Context, params interface{}) (onecloudv1.ExternalInfoBase, error)

func (AnsiblePlaybook) Delete

func (AnsiblePlaybook) GetIResource

func (ap AnsiblePlaybook) GetIResource() onecloudv1.IResource

func (AnsiblePlaybook) GetResourceName

func (ap AnsiblePlaybook) GetResourceName() Resource

func (AnsiblePlaybook) GetStatus

func (AnsiblePlaybook) Reconcile

type AnsiblePlaybookHost

type AnsiblePlaybookHost struct {
	VM   *onecloudv1.VirtualMachine
	Vars map[string]interface{}
}

type DiskInfo

type DiskInfo struct {
	Index   int    `json:"index"`
	SizeMb  int    `json:"size"`
	Driver  string `json:"driver"`
	ImageId string `json:"image_id"`
	Image   string `json:"image"`
}

type Endpoint

type Endpoint struct {
	Endpoint *onecloudv1.Endpoint
	// contains filtered or unexported fields
}

func NewEndpoint

func NewEndpoint(ep *onecloudv1.Endpoint, logger logr.Logger) Endpoint

func (Endpoint) Create

func (ep Endpoint) Create(ctx context.Context, params interface{}) (onecloudv1.ExternalInfoBase, error)

func (Endpoint) Delete

func (Endpoint) GetIResource

func (ep Endpoint) GetIResource() onecloudv1.IResource

func (Endpoint) GetResourceName

func (ep Endpoint) GetResourceName() Resource

func (Endpoint) GetStatus

func (ep Endpoint) GetStatus(ctx context.Context) (onecloudv1.IResourceStatus, error)

func (Endpoint) Reconcile

func (ep Endpoint) Reconcile(ctx context.Context) (*onecloudv1.EndpointStatus, error)

func (Endpoint) Url

func (ep Endpoint) Url(ctx context.Context) (string, error)

type EndpointCreateParams

type EndpointCreateParams struct {
	Interface          string `json:"interface"`
	ServiceId          string `json:"service_id"`
	URL                string `json:"url"`
	RegionId           string `json:"region_id"`
	Name               string `json:"name"`
	Enabled            bool   `json:"enabled"`
	ServiceCertificate string `json:"service_certificate"`
}

type EndpointUpdateField

type EndpointUpdateField struct {
	Url                string `json:"url"`
	Name               string `json:"name"`
	Enabled            bool   `json:"enabled"`
	ServiceCertificate string `json:"service_certificate"`
}

type OCResource

type OCResource interface {
	GetResourceName() Resource
	GetIResource() onecloudv1.IResource
	Create(ctx context.Context, params interface{}) (onecloudv1.ExternalInfoBase, error)
	Delete(ctx context.Context) (onecloudv1.ExternalInfoBase, error)
	GetStatus(ctx context.Context) (onecloudv1.IResourceStatus, error)
}

type OperatorDesc

type OperatorDesc struct {
	Name string
	// contains filtered or unexported fields
}

func (*OperatorDesc) Append

func (ad *OperatorDesc) Append(resource, from, to string)

func (*OperatorDesc) Appendf

func (ad *OperatorDesc) Appendf(desc string, params ...interface{})

func (*OperatorDesc) Merge

func (ad *OperatorDesc) Merge(desc OperatorDesc)

func (*OperatorDesc) String

func (ad *OperatorDesc) String() string

type OperatorFunc

type OperatorFunc func(ctx context.Context) (onecloudv1.ExternalInfoBase, error)

type ReconcileOper

type ReconcileOper struct {
	Operator OperatorFunc
	OperDesc OperatorDesc
	PrePhase []onecloudv1.ResourcePhase
}

ReconcileOper describe a Operation about reconcile process. It invovles a func, desc and the phase needed.

type Resource

type Resource string

Resoruce describe a onecloud resource, such as: VM: SGuest in onecloud EIP: SElasticip in onecloud AP: AnsiblePlaybook in onecloud ...

const (
	ResourceVM          Resource = "VM"
	ResourceEIP         Resource = "EIP"
	ResourceDisk        Resource = "Disk"
	ResourceAP          Resource = "AP"
	ResourceEndpoint    Resource = "Endpoint"
	ResourceSevice      Resource = "Service"
	ResourceRegion      Resource = "Region"
	ResourceCachedImage Resource = "CachedImage"
)

type ResourceOperation

type ResourceOperation string

ResourceOperation describe the operation for onecloud resource like create, update, delete and so on.

const (
	OperCreate       ResourceOperation = "Create"
	OperDelete       ResourceOperation = "Delete"
	OperUpdate       ResourceOperation = "Update"
	OperPatch        ResourceOperation = "Patch"
	OperGet          ResourceOperation = "Get"
	OperList         ResourceOperation = "List"
	OperGetDetails   ResourceOperation = "GetDetails"
	OperGetStatus    ResourceOperation = "GetStatus"
	OperChangeConfig ResourceOperation = "ChangeConfig"
	OperSyncstatus   ResourceOperation = "Syncstatus"
	OperResize       ResourceOperation = "Resize"
	OperChangeBw     ResourceOperation = "ChangeBandwidth"
	OperSetSecgroups ResourceOperation = "SetSecgroups"
	OperStart        ResourceOperation = "Start"
	OperStop         ResourceOperation = "Stop"
)

It is clearer to write each ResourceOperation as a constant

type SRequest

type SRequest struct {
	// contains filtered or unexported fields
}

SRequest encapsulates HTTP requests to perform operations on onecloud resources

var (
	RequestVM           SRequest
	RequestVMDelete     SRequest
	RequestVMGetDetails SRequest
	RequestVMSyncstatus SRequest
)
var Request SRequest

Request itself is meaningless, a meaningful Request is generated by calling Resource, Operation and DefaultParams. A example:

Request.Resource(ResourceVM).Operation(OperGet).Apply(...)

func (SRequest) DefaultParams

func (r SRequest) DefaultParams(dict *jsonutils.JSONDict) SRequest

func (SRequest) GetId

func (r SRequest) GetId(ctx context.Context, name string) (string, error)

func (SRequest) List

func (r SRequest) List(ctx context.Context, params *jsonutils.JSONDict) ([]jsonutils.JSONObject, error)

func (SRequest) Operation

func (r SRequest) Operation(oper ResourceOperation) SRequest

func (SRequest) Resource

func (r SRequest) Resource(resource Resource) SRequest

func (SRequest) ResourceAction

func (r SRequest) ResourceAction() string

type SRequestErr

type SRequestErr struct {
	Resource Resource
	Code     int
	Action   string
	Class    string
	Detail   string
}

SRequestErr encapsulates the error returned by SRequest and implement the interface error

func (SRequestErr) Error

func (re SRequestErr) Error() string

func (SRequestErr) IsClientErr

func (re SRequestErr) IsClientErr() bool

func (SRequestErr) IsNotFound

func (re SRequestErr) IsNotFound(resource Resource) bool

func (SRequestErr) IsServerErr

func (re SRequestErr) IsServerErr() bool

type VirtualMachine

type VirtualMachine struct {
	VirtualMachine *onecloudv1.VirtualMachine
	// contains filtered or unexported fields
}

func NewVirtualMachine

func NewVirtualMachine(vm *onecloudv1.VirtualMachine, logger logr.Logger) VirtualMachine

func (VirtualMachine) Create

func (vi VirtualMachine) Create(ctx context.Context, _ interface{}) (onecloudv1.ExternalInfoBase, error)

func (VirtualMachine) DefaultRecreatePolicy

func (vi VirtualMachine) DefaultRecreatePolicy() *onecloudv1.RecreatePolicy

func (VirtualMachine) Delete

func (VirtualMachine) GetIResource

func (vi VirtualMachine) GetIResource() onecloudv1.IResource

func (VirtualMachine) GetResourceName

func (vi VirtualMachine) GetResourceName() Resource

func (VirtualMachine) GetStatus

func (vi VirtualMachine) GetStatus(ctx context.Context) (rs onecloudv1.IResourceStatus, err error)

func (VirtualMachine) Reconcile

func (vi VirtualMachine) Reconcile(ctx context.Context) (oper *ReconcileOper, vmInfo *onecloudv1.VMInfo, err error)

func (VirtualMachine) Start

func (VirtualMachine) Stop

Jump to

Keyboard shortcuts

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