cloud

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2021 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Pending     = "Pending"
	TaskId      = "TaskId"
	ClusterName = "ClusterName"
)
View Source
const (
	ALIYUN             = "aliyun"
	VPCStatusPending   = "Pending"
	VPCStatusAvailable = "Available"
)

Variables

This section is empty.

Functions

func RegisterProviderDriver

func RegisterProviderDriver(name string, f ProviderDriverFunc)

Types

type AddSecurityGroupRuleRequest

type AddSecurityGroupRuleRequest struct {
	RegionId        string
	VpcId           string
	SecurityGroupId string
	IpProtocol      string
	PortRange       string
	GroupId         string
	CidrIp          string
	PrefixListId    string
}

type AddSecurityGroupRuleResponse

type AddSecurityGroupRuleResponse struct {
}

type AvailableZone

type AvailableZone struct {
	ZoneId string
	Status string
}

type CreateSecurityGroupRequest

type CreateSecurityGroupRequest struct {
	RegionId          string
	SecurityGroupName string
	VpcId             string
	SecurityGroupType string
}

type CreateSecurityGroupResponse

type CreateSecurityGroupResponse struct {
	SecurityGroupId string
	RequestId       string
}

type CreateSwitchRequest

type CreateSwitchRequest struct {
	RegionId    string
	ZoneId      string
	CidrBlock   string
	VSwitchName string
	VpcId       string
}

type CreateSwitchResponse

type CreateSwitchResponse struct {
	SwitchId  string
	RequestId string
}

type CreateVpcRequest

type CreateVpcRequest struct {
	RegionId  string
	VpcName   string
	CidrBlock string
}

type CreateVpcResponse

type CreateVpcResponse struct {
	//RouterId       *string `json:"VRouterId,omitempty" xml:"VRouterId,omitempty"`
	//RouteTableId    *string `json:"RouteTableId,omitempty" xml:"RouteTableId,omitempty"`
	VpcId     string
	RequestId string
}

type DescribeAvailableResourceRequest

type DescribeAvailableResourceRequest struct {
	RegionId string
	ZoneId   string
}

type DescribeAvailableResourceResponse

type DescribeAvailableResourceResponse struct {
	InstanceTypes map[string][]InstanceType
}

type DescribeGroupRulesRequest

type DescribeGroupRulesRequest struct {
	RegionId        string
	SecurityGroupId string
}

type DescribeGroupRulesResponse

type DescribeGroupRulesResponse struct {
	Rules []SecurityGroupRule
}

type DescribeImagesRequest

type DescribeImagesRequest struct {
	RegionId string
}

type DescribeImagesResponse

type DescribeImagesResponse struct {
	Images []Image
}

type DescribeInstanceTypesRequest

type DescribeInstanceTypesRequest struct {
	TypeName []string
}

type DescribeInstanceTypesResponse

type DescribeInstanceTypesResponse struct {
	Infos []InstanceInfo
}

type DescribeSwitchesRequest

type DescribeSwitchesRequest struct {
	VpcId string
}

type DescribeSwitchesResponse

type DescribeSwitchesResponse struct {
	Switches []Switch
}

type DescribeVpcsRequest

type DescribeVpcsRequest struct {
	RegionId string
}

type DescribeVpcsResponse

type DescribeVpcsResponse struct {
	Vpcs []VPC
}

type DiskConf

type DiskConf struct {
	Category         string `json:"category"`
	Size             int    `json:"size"`
	PerformanceLevel string `json:"performance_level"`
}

type Disks

type Disks struct {
	SystemDisk DiskConf   `json:"system_disk"`
	DataDisk   []DiskConf `json:"data_disk"`
}

type GetOrdersRequest

type GetOrdersRequest struct {
	StartTime time.Time
	EndTime   time.Time
	PageNum   int
	PageSize  int
}

type GetOrdersResponse

type GetOrdersResponse struct {
	Orders []Order
}

type GetRegionsResponse

type GetRegionsResponse struct {
	Regions []Region
}

type GetSecurityGroupRequest

type GetSecurityGroupRequest struct {
	VpcId    string
	RegionId string
}

type GetSecurityGroupResponse

type GetSecurityGroupResponse struct {
	Groups []SecurityGroup
}

type GetSwitchRequest

type GetSwitchRequest struct {
	SwitchId string
}

type GetSwitchResponse

type GetSwitchResponse struct {
	Switch Switch
}

type GetVpcRequest

type GetVpcRequest struct {
	VpcId    string
	RegionId string
	VpcName  string
}

type GetVpcResponse

type GetVpcResponse struct {
	Vpc VPC
}

type GetZonesRequest

type GetZonesRequest struct {
	RegionId string
}

type GetZonesResponse

type GetZonesResponse struct {
	Zones []Zone
}

type Image

type Image struct {
	OsType  string
	OsName  string
	ImageId string
}

type Instance

type Instance struct {
	Id       string   `json:"id"`
	CostWay  string   `json:"cost_way"`
	Provider string   `json:"provider"`
	IpInner  string   `json:"ip_inner"`
	IpOuter  string   `json:"ip_outer"`
	Network  *Network `json:"network"`
	ImageId  string   `json:"image_id"`
	Status   string   `json:"status"`
}

type InstanceInfo

type InstanceInfo struct {
	Core        int
	Memory      int
	Family      string
	InsTypeName string
}

type InstanceType

type InstanceType struct {
	Status         string
	StatusCategory string
	Value          string
}

type Network

type Network struct {
	VpcId                   string `json:"vpc_id"`
	SubnetId                string `json:"subnet_id"`
	SecurityGroup           string `json:"security_group"`
	InternetChargeType      string `json:"internet_charge_type"`
	InternetMaxBandwidthOut int    `json:"internet_max_bandwidth_out"`
}

type Order

type Order struct {
	OrderId        string
	OrderTime      time.Time
	Product        string
	Quantity       int32
	UsageStartTime time.Time
	UsageEndTime   time.Time
	RegionId       string
	ChargeType     string
	PayStatus      int8
	Currency       string
	Cost           float32
	Extend         map[string]interface{}
}

type Params

type Params struct {
	Provider     string
	InstanceType string
	ImageId      string
	Network      *Network
	Zone         string
	Region       string
	Disks        *Disks
	Password     string
	Tags         []Tag
}

type Provider

type Provider interface {
	BatchCreate(m Params, num int) (instanceIds []string, err error)
	ProviderType() string
	GetInstances(ids []string) (instances []Instance, err error)
	GetInstancesByTags(region string, tags []Tag) (instances []Instance, err error)
	GetInstancesByCluster(regionId, clusterName string) (instances []Instance, err error)
	BatchDelete(ids []string, regionId string) error
	StartInstance(id string) error
	StopInstance(id string) error
	CreateVPC(req CreateVpcRequest) (CreateVpcResponse, error)
	GetVPC(req GetVpcRequest) (GetVpcResponse, error)
	CreateSwitch(req CreateSwitchRequest) (CreateSwitchResponse, error)
	GetSwitch(req GetSwitchRequest) (GetSwitchResponse, error)
	CreateSecurityGroup(req CreateSecurityGroupRequest) (CreateSecurityGroupResponse, error)
	AddIngressSecurityGroupRule(req AddSecurityGroupRuleRequest) error
	AddEgressSecurityGroupRule(req AddSecurityGroupRuleRequest) error
	GetSecurityGroup(req GetSecurityGroupRequest) (GetSecurityGroupResponse, error)
	GetRegions() (GetRegionsResponse, error)
	GetZones(req GetZonesRequest) (GetZonesResponse, error)
	DescribeAvailableResource(req DescribeAvailableResourceRequest) (DescribeAvailableResourceResponse, error)
	DescribeInstanceTypes(req DescribeInstanceTypesRequest) (DescribeInstanceTypesResponse, error)
	DescribeImages(req DescribeImagesRequest) (DescribeImagesResponse, error)
	DescribeVpcs(req DescribeVpcsRequest) (DescribeVpcsResponse, error)
	DescribeSwitches(req DescribeSwitchesRequest) (DescribeSwitchesResponse, error)
	DescribeGroupRules(req DescribeGroupRulesRequest) (DescribeGroupRulesResponse, error)
	GetOrders(req GetOrdersRequest) (GetOrdersResponse, error)
}

type ProviderDriverFunc

type ProviderDriverFunc func(keyId ...string) (Provider, error)

type ProviderType

type ProviderType int
const (
	InvalidProvider ProviderType = iota
	AliyunProvider
	HuaWeiProvider
)

type Region

type Region struct {
	RegionId  string
	LocalName string
}

type SecurityGroup

type SecurityGroup struct {
	SecurityGroupId   string
	SecurityGroupType string
	SecurityGroupName string
	CreateAt          string
	VpcId             string
	RegionId          string
}

type SecurityGroupRule

type SecurityGroupRule struct {
	VpcId           string
	SecurityGroupId string
	PortRange       string
	Protocol        string
	Direction       string
	GroupId         string
	CidrIp          string
	PrefixListId    string
	CreateAt        string
}

type Switch

type Switch struct {
	VpcId                   string
	SwitchId                string
	Name                    string
	IsDefault               int
	AvailableIpAddressCount int
	VStatus                 string
	CreateAt                string
	ZoneId                  string
	CidrBlock               string
}

type Tag

type Tag struct {
	Key   string
	Value string
}

type VPC

type VPC struct {
	VpcId     string
	VpcName   string
	CidrBlock string
	SwitchIds []string
	RegionId  string
	Status    string
	CreateAt  string
}

type Zone

type Zone struct {
	ZoneId    string
	LocalName string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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