interfaces

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Nov 4, 2024 License: Apache-2.0 Imports: 2 Imported by: 24

README

Cloud Driver Common Interfaces.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CloudDriver

type CloudDriver interface {
	GetDriverVersion() string
	GetDriverCapability() DriverCapabilityInfo

	ConnectCloud(connectionInfo ConnectionInfo) (icon.CloudConnection, error)
}

type ConnectionInfo

type ConnectionInfo struct {
	CredentialInfo CredentialInfo
	RegionInfo     RegionInfo
}

type CredentialInfo

type CredentialInfo struct {
	// @todo TBD
	// key-value pairs
	ClientId         string // Azure Credential
	ClientSecret     string // Azure Credential
	TenantId         string // Azure Credential
	SubscriptionId   string // Azure Credential
	IdentityEndpoint string // OpenStack Credential
	Username         string // OpenStack Credential, Ibm
	Password         string // OpenStack Credential
	DomainName       string // OpenStack Credential
	ProjectID        string // OpenStack Credential
	AuthToken        string // Cloudit Credential
	ClientEmail      string // GCP
	PrivateKey       string // GCP
	Host             string // Docker
	APIVersion       string // Docker
	MockName         string // Mock
	ApiKey           string // Ibm
	ConnectionName   string // MINI
	ClusterId        string // Cloudit
}

type DriverCapabilityInfo

type DriverCapabilityInfo struct {
	RegionZoneHandler bool // support: true, do not support: false
	PriceInfoHandler  bool // support: true, do not support: false
	ImageHandler      bool // support: true, do not support: false
	VPCHandler        bool // support: true, do not support: false
	SecurityHandler   bool // support: true, do not support: false
	KeyPairHandler    bool // support: true, do not support: false
	VNicHandler       bool // support: true, do not support: false
	PublicIPHandler   bool // support: true, do not support: false
	VMHandler         bool // support: true, do not support: false
	VMSpecHandler     bool // support: true, do not support: false
	NLBHandler        bool // support: true, do not support: false
	DiskHandler       bool // support: true, do not support: false
	MyImageHandler    bool // support: true, do not support: false
	ClusterHandler    bool // support: true, do not support: false
	TagHandler        bool // support: true, do not support: false

	// ex) {ires.ALL, ires.VPC, ires.SUBNET, ires.SG, ires.KEY, ires.VM, ires.NLB, ires.DISK, ires.MYIMAGE, ires.CLUSTER}
	TagSupportResourceType []ires.RSType // support: VPC, SUBNET, etc.,.

	VPC_CIDR          bool // support: true, do not support: false
	SINGLE_VPC        bool // support: true, do not support: false
	FIXED_SUBNET_CIDR bool // support: true, do not support: false
}

type RegionInfo

type RegionInfo struct {
	Region     string // Azure uses region as ResourceGroup
	Zone       string
	TargetZone string // Used for Zone-Level Control(Ex. DiskHandler)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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