interfaces

package
v0.10.3 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2025 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 {
	// Resource Control Scope
	ZoneBasedControl bool // support: true, do not support: false

	// Metadata Handler
	RegionZoneHandler bool // support: true, do not support: false
	PriceInfoHandler  bool // support: true, do not support: false
	ImageHandler      bool // support: true, do not support: false
	VMSpecHandler     bool // support: true, do not support: false

	// Resource Handler
	VPCHandler      bool // support: true, do not support: false
	SecurityHandler bool // support: true, do not support: false
	KeyPairHandler  bool // support: true, do not support: false
	VMHandler       bool // support: true, do not support: false
	DiskHandler     bool // support: true, do not support: false
	MyImageHandler  bool // support: true, do not support: false
	NLBHandler      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.VPC, ires.SUBNET, ires.SG, ires.KEY, ires.VM, ires.NLB, ires.DISK, ires.MYIMAGE, ires.CLUSTER}
	TagSupportResourceType []ires.RSType // support: VPC, SUBNET, etc.,.

	// etc.
	VPC_CIDR     bool // support: true, do not support: false
	EMULATED_VPC bool // support: true, do not support: false
	SINGLE_VPC   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