Documentation
¶
Index ¶
- Constants
- Variables
- type Addon
- type AutoScaling
- type BasicNodePool
- type CRAuthorizationToken
- type Client
- func (client *Client) CancelUpgradeCluster(clusterId string) error
- func (client *Client) CreateCluster(region common.Region, args *ClusterCreationArgs) (cluster ClusterCommonResponse, err error)
- func (client *Client) CreateClusterToken(clusterId string, request *ClusterTokenReqeust) (*ClusterTokenResponse, error)
- func (client *Client) CreateDelicatedKubernetesCluster(request *DelicatedKubernetesClusterCreationRequest) (*ClusterCommonResponse, error)
- func (client *Client) CreateKubernetesCluster(region common.Region, args *KubernetesCreationArgs) (cluster ClusterCommonResponse, err error)
- func (client *Client) CreateKubernetesMultiAZCluster(region common.Region, args *KubernetesMultiAZCreationArgs) (cluster ClusterCommonResponse, err error)
- func (client *Client) CreateManagedKubernetesCluster(request *ManagedKubernetesClusterCreationRequest) (*ClusterCommonResponse, error)
- func (client *Client) CreateNodePool(request *CreateNodePoolRequest, clusterId string) (*CreateNodePoolResponse, error)
- func (client *Client) CreateServerlessKubernetesCluster(args *ServerlessCreationArgs) (*ClusterCommonResponse, error)
- func (client *Client) DeleteCluster(clusterID string) error
- func (client *Client) DeleteKubernetesCluster(clusterId string) error
- func (client *Client) DeleteKubernetesClusterNodes(clusterId string, request *DeleteKubernetesClusterNodesRequest) (*common.Response, error)
- func (client *Client) DeleteNodePool(clusterId, nodePoolId string) error
- func (client *Client) DescribeCluster(id string) (cluster ClusterType, err error)
- func (client *Client) DescribeClusterNodePools(clusterId string) (*[]NodePoolDetail, error)
- func (client *Client) DescribeClusterToken(clusterId, token string) (*ClusterTokenResponse, error)
- func (client *Client) DescribeClusterTokens(clusterId string) ([]*ClusterTokenResponse, error)
- func (client *Client) DescribeClusterUserConfig(clusterId string, privateIpAddress bool) (*ClusterConfig, error)
- func (client *Client) DescribeClusters(nameFilter string) (clusters []ClusterType, err error)
- func (client *Client) DescribeKubernetesCluster(id string) (cluster KubernetesCluster, err error)
- func (client *Client) DescribeKubernetesClusterDetail(clusterId string) (*KubernetesClusterDetail, error)
- func (client *Client) DescribeNodePoolDetail(clusterId, nodePoolId string) (*NodePoolDetail, error)
- func (client *Client) DescribeServerlessKubernetesCluster(clusterId string) (*ServerlessClusterResponse, error)
- func (client *Client) DescribeServerlessKubernetesClusters() ([]*ServerlessClusterResponse, error)
- func (client *Client) ForceDeleteNodePool(clusterId, nodePoolId string) error
- func (client *Client) GetCRAuthorizationToken() (crtoken CRAuthorizationToken, err error)
- func (client *Client) GetCRRepoInfo(repoNamespace, repoName string) (str string, err error)
- func (client *Client) GetClusterCerts(id string) (certs ClusterCerts, err error)
- func (client *Client) GetClusterConfig(id string) (config ClusterConfig, err error)
- func (client *Client) GetClusterEndpoints(id string) (clusterEndpoints ClusterEndpoints, err error)
- func (client *Client) GetKubernetesClusterNodes(id string, pagination common.Pagination, nodepoolId string) (nodes []KubernetesNodeType, paginationResult *PaginationResult, err error)
- func (client *Client) GetProjectClient(clusterId string) (projectClient *ProjectClient, err error)
- func (client *Client) Invoke(region common.Region, method string, path string, query url.Values, ...) error
- func (client *Client) ModifyCluster(clusterId string, args *ModifyClusterArgs) error
- func (client *Client) ModifyClusterName(clusterID, clusterName string) error
- func (client *Client) QueryUpgradeClusterResult(clusterId string) (*UpgradeClusterResult, error)
- func (client *Client) ResizeCluster(clusterID string, args *ClusterResizeArgs) error
- func (client *Client) ResizeKubernetes(clusterID string, args *KubernetesCreationArgs) error
- func (client *Client) ResizeKubernetesCluster(clusterID string, args *KubernetesClusterResizeArgs) error
- func (client *Client) RevokeToken(token string) error
- func (client *Client) ScaleKubernetesCluster(clusterID string, args *KubernetesClusterScaleArgs) error
- func (client *Client) ScaleOutKubernetesCluster(clusterId string, request *ScaleOutKubernetesClusterRequest) (*ClusterCommonResponse, error)
- func (client *Client) SetDebug(debug bool)
- func (client *Client) SetEndpoint(endpoint string)
- func (client *Client) SetSecureTransport(secureTransport string)
- func (client *Client) SetSourceIp(sourceIp string)
- func (client *Client) SetTransport(transport http.RoundTripper)
- func (client *Client) SetUserAgent(userAgent string)
- func (client *Client) UpdateNodePool(clusterId string, nodePoolId string, request *UpdateNodePoolRequest) (*Response, error)
- func (client *Client) UpgradeCluster(clusterId string, args *UpgradeClusterArgs) error
- func (client *Client) WaitForClusterAsyn(clusterId string, status ClusterState, timeout int) error
- type ClusterArgs
- type ClusterCerts
- type ClusterCommonResponse
- type ClusterConfig
- type ClusterCreationArgs
- type ClusterEndpoints
- type ClusterResizeArgs
- type ClusterState
- type ClusterTokenReqeust
- type ClusterTokenResponse
- type ClusterType
- type Container
- type CreateNodePoolRequest
- type CreateNodePoolResponse
- type DataDisk
- type Definition
- type DeleteKubernetesClusterNodesRequest
- type DelicatedKubernetesClusterCreationRequest
- type DriverOptions
- type Effect
- type Event
- type GetKubernetesClusterNodesResponse
- type GetProjectResponse
- type GetProjectsResponse
- type GetServiceResponse
- type GetServicesResponse
- type GetSwarmClusterNodesResponse
- type GetVolumeResponse
- type GetVolumesResponse
- type KubeletConfiguration
- type KubernetesCluster
- type KubernetesClusterDetail
- type KubernetesClusterMetaData
- type KubernetesClusterParameter
- type KubernetesClusterProfile
- type KubernetesClusterResizeArgs
- type KubernetesClusterScaleArgs
- type KubernetesClusterType
- type KubernetesConfig
- type KubernetesCreationArgs
- type KubernetesMultiAZCreationArgs
- type KubernetesNodeType
- type KubernetesStackArgs
- type Label
- type Labels
- type MaintenanceTime
- type MaintenanceWindow
- type ManagedKubernetesClusterCreationRequest
- type Management
- type MasterArgs
- type ModifyClusterArgs
- type ModifyClusterNameArgs
- type NASOpts
- type NetworkModeType
- type NodeConfig
- type NodePoolDataDisk
- type NodePoolDetail
- type NodePoolInfo
- type NodePoolStatus
- type NodePoolsDetail
- type NodeStatus
- type OSSOpts
- type PaginationResult
- type Port
- type Project
- type ProjectClient
- func (client *ProjectClient) ClusterId() string
- func (client *ProjectClient) ConfirmBlueGreenProject(name string, force bool) (err error)
- func (client *ProjectClient) CreateProject(args *ProjectCreationArgs) (err error)
- func (client *ProjectClient) CreateVolume(args *VolumeCreationArgs) (err error)
- func (client *ProjectClient) DeleteProject(name string, forceDelete, deleteVolume bool) (err error)
- func (client *ProjectClient) DeleteVolume(name string) (err error)
- func (client *ProjectClient) Endpoint() string
- func (client *ProjectClient) GetProject(name string) (project GetProjectResponse, err error)
- func (client *ProjectClient) GetProjects(q string, services, containers bool) (projects GetProjectsResponse, err error)
- func (client *ProjectClient) GetService(serviceId string) (service GetServiceResponse, err error)
- func (client *ProjectClient) GetServices(q string, containers bool) (services GetServicesResponse, err error)
- func (client *ProjectClient) GetSwarmClusterNodes() (project GetSwarmClusterNodesResponse, err error)
- func (client *ProjectClient) GetVolume(name string) (volume GetVolumeResponse, err error)
- func (client *ProjectClient) GetVolumes() (volumes GetVolumesResponse, err error)
- func (client *ProjectClient) Invoke(method string, path string, query url.Values, args interface{}, ...) error
- func (client *ProjectClient) KillProject(name string, signal ...string) (err error)
- func (client *ProjectClient) KillService(serviceId string, signal ...string) (err error)
- func (client *ProjectClient) RollBackBlueGreenProject(name string, force bool) (err error)
- func (client *ProjectClient) ScaleService(args *ScaleServiceArgs) (err error)
- func (client *ProjectClient) SetDebug(debug bool)
- func (client *ProjectClient) SetTransport(transport http.RoundTripper)
- func (client *ProjectClient) SetUserAgent(userAgent string)
- func (client *ProjectClient) StartProject(name string) (err error)
- func (client *ProjectClient) StartService(serviceId string) (err error)
- func (client *ProjectClient) StopProject(name string, timeout ...time.Duration) (err error)
- func (client *ProjectClient) StopService(serviceId string, timeout ...time.Duration) (err error)
- func (client *ProjectClient) UpdateProject(args *ProjectUpdationArgs) (err error)
- type ProjectCreationArgs
- type ProjectUpdationArgs
- type ProxyMode
- type Request
- type Response
- type RolloutPolicy
- type Runtime
- type ScaleOutKubernetesClusterRequest
- type ScaleServiceArgs
- type ScaleType
- type ScalingGroup
- type ServerlessClusterResponse
- type ServerlessCreationArgs
- type Service
- type SpotPrice
- type SwarmNodeType
- type TEEConfig
- type Tag
- type Taint
- type TaskState
- type UpdateNodePoolRequest
- type UpgradeClusterArgs
- type UpgradeClusterResult
- type UpgradeConf
- type UpgradeStatus
- type UpgradeTask
- type VolumeCreationArgs
- type VolumeCreationResponse
- type VolumeDriverType
- type VolumeRef
- type WeeklyPeriod
- type WorkerArgs
Constants ¶
const ( // CRMDefaultEndpoint is the default API endpoint of CRM services CSDefaultEndpoint = "https://cs.aliyuncs.com" CSAPIVersion = "2015-12-15" )
const ( Initial = ClusterState("initial") Running = ClusterState("running") Updating = ClusterState("updating") Scaling = ClusterState("scaling") Failed = ClusterState("failed") Deleting = ClusterState("deleting") DeleteFailed = ClusterState("deleteFailed") Deleted = ClusterState("deleted") InActive = ClusterState("inactive") ClusterTypeKubernetes = "Kubernetes" ClusterTypeManagedKubernetes = "ManagedKubernetes" ClusterTypeServerlessKubernetes = "Ask" ProfileServerlessKubernetes = "Serverless" )
const ( ClassicNetwork = NetworkModeType("classic") VPCNetwork = NetworkModeType("vpc") )
const ( // task status Task_Status_Running = "running" Task_Status_Success = "Success" Task_Status_Failed = "Failed" // upgrade state UpgradeStep_NotStart = "not_start" UpgradeStep_Prechecking = "prechecking" UpgradeStep_Upgrading = "upgrading" UpgradeStep_Pause = "pause" UpgradeStep_Success = "success" )
const ( CRDefaultEndpoint = "https://cr.cn-hangzhou.aliyuncs.com" CRAPIVersion = "2016-06-07" )
const ClusterDefaultTimeout = 300
const DefaultPreCheckSleepTime = 20
const DefaultPreSleepTime = 220
const DefaultWaitForInterval = 10
Variables ¶
var ( DelicatedKubernetes = KubernetesClusterType("Kubernetes") ManagedKubernetes = KubernetesClusterType("ManagedKubernetes") )
var ( IPTables = "iptables" IPVS = "ipvs" )
var ( TaintNoExecute = "NoExecute" TaintNoSchedule = "NoSchedule" TaintPreferNoSchedule = "PreferNoSchedule" )
var NodeStableClusterState = []ClusterState{Running, Updating, Failed, DeleteFailed, Deleted, InActive}
var NodeUnstableClusterState = []ClusterState{Initial, Scaling, Deleting}
var (
Profile4Serverless = KubernetesClusterProfile("Serverless")
)
Functions ¶
This section is empty.
Types ¶
type Addon ¶
type Addon struct {
Name string `json:"name"`
Version string `json:"version"`
Config string `json:"config"`
Disabled bool `json:"disabled"` // 是否禁止默认安装
}
addon
type AutoScaling ¶
type AutoScaling struct {
Enable *bool `json:"enable"`
MaxInstances *int64 `json:"max_instances"`
MinInstances *int64 `json:"min_instances"`
Type *string `json:"type"`
// eip
IsBindEip *bool `json:"is_bond_eip"`
// value: PayByBandwidth / PayByTraffic
EipInternetChargeType *string `json:"eip_internet_charge_type"`
// default 5
EipBandWidth *int64 `json:"eip_bandwidth"`
}
type BasicNodePool ¶
type BasicNodePool struct {
NodePoolInfo `json:"nodepool_info"`
NodePoolStatus `json:"status"`
}
type CRAuthorizationToken ¶
type Client ¶
type Client struct {
AccessKeyId string
AccessKeySecret string
SecurityToken string
Version string
// contains filtered or unexported fields
}
The Client type encapsulates operations with an OSS region.
func NewClientForAussumeRole ¶
func (*Client) CancelUpgradeCluster ¶
cancel upgrade cluster
func (*Client) CreateCluster ¶
func (client *Client) CreateCluster(region common.Region, args *ClusterCreationArgs) (cluster ClusterCommonResponse, err error)
Deprecated
func (*Client) CreateClusterToken ¶
func (client *Client) CreateClusterToken(clusterId string, request *ClusterTokenReqeust) (*ClusterTokenResponse, error)
func (*Client) CreateDelicatedKubernetesCluster ¶
func (client *Client) CreateDelicatedKubernetesCluster(request *DelicatedKubernetesClusterCreationRequest) (*ClusterCommonResponse, error)
Create DelicatedKubernetes Cluster
func (*Client) CreateKubernetesCluster ¶
func (client *Client) CreateKubernetesCluster(region common.Region, args *KubernetesCreationArgs) (cluster ClusterCommonResponse, err error)
Deprecated
func (*Client) CreateKubernetesMultiAZCluster ¶
func (client *Client) CreateKubernetesMultiAZCluster(region common.Region, args *KubernetesMultiAZCreationArgs) (cluster ClusterCommonResponse, err error)
Deprecated
func (*Client) CreateManagedKubernetesCluster ¶
func (client *Client) CreateManagedKubernetesCluster(request *ManagedKubernetesClusterCreationRequest) (*ClusterCommonResponse, error)
Create ManagedKubernetes Cluster
func (*Client) CreateNodePool ¶
func (client *Client) CreateNodePool(request *CreateNodePoolRequest, clusterId string) (*CreateNodePoolResponse, error)
func (*Client) CreateServerlessKubernetesCluster ¶
func (client *Client) CreateServerlessKubernetesCluster(args *ServerlessCreationArgs) (*ClusterCommonResponse, error)
create Serverless cluster
func (*Client) DeleteCluster ¶
Deprecated
func (*Client) DeleteKubernetesCluster ¶
DeleteKubernetesCluster
func (*Client) DeleteKubernetesClusterNodes ¶
func (client *Client) DeleteKubernetesClusterNodes(clusterId string, request *DeleteKubernetesClusterNodesRequest) (*common.Response, error)
DeleteClusterNodes
func (*Client) DeleteNodePool ¶
Deprecated
func (*Client) DescribeCluster ¶
func (client *Client) DescribeCluster(id string) (cluster ClusterType, err error)
func (*Client) DescribeClusterNodePools ¶
func (client *Client) DescribeClusterNodePools(clusterId string) (*[]NodePoolDetail, error)
func (*Client) DescribeClusterToken ¶
func (client *Client) DescribeClusterToken(clusterId, token string) (*ClusterTokenResponse, error)
func (*Client) DescribeClusterTokens ¶
func (client *Client) DescribeClusterTokens(clusterId string) ([]*ClusterTokenResponse, error)
func (*Client) DescribeClusterUserConfig ¶
func (client *Client) DescribeClusterUserConfig(clusterId string, privateIpAddress bool) (*ClusterConfig, error)
new api for get cluster kube user config
func (*Client) DescribeClusters ¶
func (client *Client) DescribeClusters(nameFilter string) (clusters []ClusterType, err error)
func (*Client) DescribeKubernetesCluster ¶
func (client *Client) DescribeKubernetesCluster(id string) (cluster KubernetesCluster, err error)
Deprecated
func (*Client) DescribeKubernetesClusterDetail ¶
func (client *Client) DescribeKubernetesClusterDetail(clusterId string) (*KubernetesClusterDetail, error)
查询集群详情
func (*Client) DescribeNodePoolDetail ¶
func (client *Client) DescribeNodePoolDetail(clusterId, nodePoolId string) (*NodePoolDetail, error)
func (*Client) DescribeServerlessKubernetesCluster ¶
func (client *Client) DescribeServerlessKubernetesCluster(clusterId string) (*ServerlessClusterResponse, error)
describe Serverless cluster
func (*Client) DescribeServerlessKubernetesClusters ¶
func (client *Client) DescribeServerlessKubernetesClusters() ([]*ServerlessClusterResponse, error)
describe Serverless clsuters
func (*Client) ForceDeleteNodePool ¶
func (*Client) GetCRAuthorizationToken ¶
func (client *Client) GetCRAuthorizationToken() (crtoken CRAuthorizationToken, err error)
func (*Client) GetCRRepoInfo ¶
func (*Client) GetClusterCerts ¶
func (client *Client) GetClusterCerts(id string) (certs ClusterCerts, err error)
func (*Client) GetClusterConfig ¶
func (client *Client) GetClusterConfig(id string) (config ClusterConfig, err error)
deprecated Please use new api DescribeClusterUserConfig
func (*Client) GetClusterEndpoints ¶
func (client *Client) GetClusterEndpoints(id string) (clusterEndpoints ClusterEndpoints, err error)
func (*Client) GetKubernetesClusterNodes ¶
func (client *Client) GetKubernetesClusterNodes(id string, pagination common.Pagination, nodepoolId string) (nodes []KubernetesNodeType, paginationResult *PaginationResult, err error)
GetKubernetesClusterNodes is used to get cluster nodes or node pool nodes
func (*Client) GetProjectClient ¶
func (client *Client) GetProjectClient(clusterId string) (projectClient *ProjectClient, err error)
func (*Client) Invoke ¶
func (client *Client) Invoke(region common.Region, method string, path string, query url.Values, args interface{}, response interface{}) error
Invoke sends the raw HTTP request for ECS services
func (*Client) ModifyCluster ¶
func (client *Client) ModifyCluster(clusterId string, args *ModifyClusterArgs) error
modify cluster
func (*Client) ModifyClusterName ¶
Deprecated
func (*Client) QueryUpgradeClusterResult ¶
func (client *Client) QueryUpgradeClusterResult(clusterId string) (*UpgradeClusterResult, error)
func (*Client) ResizeCluster ¶
func (client *Client) ResizeCluster(clusterID string, args *ClusterResizeArgs) error
Deprecated
func (*Client) ResizeKubernetes ¶
func (client *Client) ResizeKubernetes(clusterID string, args *KubernetesCreationArgs) error
deprecated use ScaleKubernetesCluster instead
func (*Client) ResizeKubernetesCluster ¶
func (client *Client) ResizeKubernetesCluster(clusterID string, args *KubernetesClusterResizeArgs) error
deprecated use ScaleKubernetesCluster instead
func (*Client) RevokeToken ¶
func (*Client) ScaleKubernetesCluster ¶
func (client *Client) ScaleKubernetesCluster(clusterID string, args *KubernetesClusterScaleArgs) error
Deprecated
func (*Client) ScaleOutKubernetesCluster ¶
func (client *Client) ScaleOutKubernetesCluster(clusterId string, request *ScaleOutKubernetesClusterRequest) (*ClusterCommonResponse, error)
ScaleKubernetesCluster
func (*Client) SetEndpoint ¶
SetEndpoint sets customer endpoint
func (*Client) SetSecureTransport ¶
SetSecureTransport set the secure transport
func (*Client) SetSourceIp ¶
SetSourceIp set the source ip
func (*Client) SetTransport ¶
func (client *Client) SetTransport(transport http.RoundTripper)
SetTransport sets transport to the http client
func (*Client) SetUserAgent ¶
SetUserAgent sets user agent to log the request/response message
func (*Client) UpdateNodePool ¶
func (*Client) UpgradeCluster ¶
func (client *Client) UpgradeCluster(clusterId string, args *UpgradeClusterArgs) error
upgrade cluster
func (*Client) WaitForClusterAsyn ¶
func (client *Client) WaitForClusterAsyn(clusterId string, status ClusterState, timeout int) error
WaitForCluster waits for instance to given status when instance.NotFound wait until timeout
type ClusterArgs ¶
type ClusterArgs struct {
DisableRollback bool `json:"disable_rollback"`
TimeoutMins int `json:"timeout_mins"`
Name string `json:"name"`
ClusterType KubernetesClusterType `json:"cluster_type"`
Profile string `json:"profile"`
KubernetesVersion string `json:"kubernetes_version"`
DeletionProtection bool `json:"deletion_protection"`
EnableRRSA bool `json:"enable_rrsa"`
NodeCidrMask string `json:"node_cidr_mask"`
UserCa string `json:"user_ca"`
OsType string `json:"os_type"`
Platform string `json:"platform"`
UserData string `json:"user_data"`
NodePortRange string `json:"node_port_range"`
NodeNameMode string `json:"node_name_mode"`
//ImageId
ImageId string `json:"image_id"`
PodVswitchIds []string `json:"pod_vswitch_ids"` // eni多网卡模式下,需要传额外的vswitchid给addon
LoginPassword string `json:"login_password"` //和KeyPair 二选一
KeyPair string `json:"key_pair"` ////LoginPassword 二选一
RegionId common.Region `json:"region_id"`
VpcId string `json:"vpcid"`
ContainerCidr string `json:"container_cidr"`
ServiceCidr string `json:"service_cidr"`
CloudMonitorFlags bool `json:"cloud_monitor_flags"`
SecurityGroupId string `json:"security_group_id"`
IsEnterpriseSecurityGroup bool `json:"is_enterprise_security_group"`
EndpointPublicAccess bool `json:"endpoint_public_access"`
LoadBalancerSpec string `json:"load_balancer_spec"` //api server slb实例规格
ProxyMode ProxyMode `json:"proxy_mode"`
SnatEntry bool `json:"snat_entry"`
ResourceGroupId string `json:"resource_group_id"`
Addons []Addon `json:"addons"`
Tags []Tag `json:"tags"`
Taints []Taint `json:"taints"`
ApiAudiences string `json:"api_audiences,omitempty"`
ServiceAccountIssuer string `json:"service_account_issuer,omitempty"`
CustomSAN string `json:"custom_san,omitempty"`
ClusterSpec string `json:"cluster_spec"`
Timezone string `json:"timezone"`
ClusterDomain string `json:"cluster_domain"`
RdsInstances []string `json:"rds_instances"`
EncryptionProviderKey string `json:"encryption_provider_key"`
MaintenanceWindow MaintenanceWindow `json:"maintenance_window"`
//controlplane log parms
ControlplaneLogProject string `json:"controlplane_log_project"`
ControlplaneLogTTL string `json:"controlplane_log_ttl"`
ControlplaneComponents []string `json:"controlplane_log_components"`
// Operating system hardening
SocEnabled bool `json:"soc_enabled"`
CisEnabled bool `json:"cis_enabled"`
}
type ClusterCerts ¶
type ClusterCommonResponse ¶
type ClusterConfig ¶
type ClusterConfig struct {
Config string `json:"config"`
}
type ClusterCreationArgs ¶
type ClusterCreationArgs struct {
Name string `json:"name"`
Size int64 `json:"size"`
NetworkMode NetworkModeType `json:"network_mode"`
SubnetCIDR string `json:"subnet_cidr,omitempty"`
InstanceType string `json:"instance_type"`
VPCID string `json:"vpc_id,omitempty"`
VSwitchID string `json:"vswitch_id,omitempty"`
Password string `json:"password"`
DataDiskSize int64 `json:"data_disk_size"`
DataDiskCategory ecs.DiskCategory `json:"data_disk_category"`
ECSImageID string `json:"ecs_image_id,omitempty"`
IOOptimized ecs.IoOptimized `json:"io_optimized"`
ReleaseEipFlag bool `json:"release_eip_flag"`
NeedSLB bool `json:"need_slb"`
}
type ClusterEndpoints ¶
type ClusterEndpoints struct {
ApiServerEndpoint string `json:"api_server_endpoint"`
DashboardEndpoint string `json:"dashboard_endpoint"`
MiranaEndpoint string `json:"mirana_endpoint"`
ReverseTunnelEndpoint string `json:"reverse_tunnel_endpoint"`
IntranetApiServerEndpoint string `json:"intranet_api_server_endpoint"`
}
type ClusterResizeArgs ¶
type ClusterResizeArgs struct {
Size int64 `json:"size"`
InstanceType string `json:"instance_type"`
Password string `json:"password"`
DataDiskSize int64 `json:"data_disk_size"`
DataDiskCategory ecs.DiskCategory `json:"data_disk_category"`
ECSImageID string `json:"ecs_image_id,omitempty"`
IOOptimized ecs.IoOptimized `json:"io_optimized"`
}
Deprecated
type ClusterState ¶
type ClusterState string
type ClusterTokenReqeust ¶
type ClusterTokenResponse ¶
type ClusterType ¶
type ClusterType struct {
AgentVersion string `json:"agent_version"`
ClusterID string `json:"cluster_id"`
Name string `json:"name"`
Created time.Time `json:"created"`
ExternalLoadbalancerID string `json:"external_loadbalancer_id"`
MasterURL string `json:"master_url"`
NetworkMode NetworkModeType `json:"network_mode"`
RegionID common.Region `json:"region_id"`
SecurityGroupID string `json:"security_group_id"`
Size int64 `json:"size"`
State ClusterState `json:"state"`
Updated time.Time `json:"updated"`
VPCID string `json:"vpc_id"`
VSwitchID string `json:"vswitch_id"`
NodeStatus string `json:"node_status"`
DockerVersion string `json:"docker_version"`
ClusterType string `json:"cluster_type"`
Profile string `json:"profile"`
}
type Container ¶
type Container struct {
Name string `json:"name"`
Node string `json:"node"`
VMID string `json:"vm_id"`
IP string `json:"ip"`
Running bool `json:"running"`
Status string `json:"status"`
Health string `json:"health"`
StatusExt string `json:"status_ext"`
FailCount int `json:"fail_count"`
Ports map[string][]Port `json:"ports"`
}
type CreateNodePoolRequest ¶
type CreateNodePoolRequest struct {
RegionId common.Region `json:"region_id"`
Count int64 `json:"count"`
NodePoolInfo `json:"nodepool_info"`
ScalingGroup `json:"scaling_group"`
KubernetesConfig `json:"kubernetes_config"`
AutoScaling `json:"auto_scaling"`
TEEConfig `json:"tee_config"`
Management `json:"management"`
NodeConfig *NodeConfig `json:"node_config,omitempty"`
}
type CreateNodePoolResponse ¶
type DataDisk ¶
type DataDisk struct {
Category string `json:"category"`
KMSKeyId string `json:"kms_key_id"`
Encrypted string `json:"encrypted"` // true|false
Device string `json:"device"` // could be /dev/xvd[a-z]. If not specification, will use default value.
Size string `json:"size"`
DiskName string `json:"name"`
AutoSnapshotPolicyId string `json:"auto_snapshot_policy_id"`
PerformanceLevel string `json:"performance_Level"`
}
datadiks
type Definition ¶
type Definition struct {
Environment []string `json:"environment"`
Image string `json:"image"`
KernelMemory int `json:"kernel_memory"`
Labels Labels `json:"labels"`
MemLimit int `json:"mem_limit"`
MemswapLimit int `json:"memswap_limit"`
MemswapReservation int `json:"memswap_reservation"`
OomKillDisable bool `json:"oom_kill_disable"`
Restart string `json:"restart"`
ShmSize int `json:"shm_size"`
Volumes []string `json:"volumes"`
}
type DeleteKubernetesClusterNodesRequest ¶
type DeleteKubernetesClusterNodesRequest struct {
ReleaseNode bool `json:"release_node"` //if set to true, the ecs instance will be released
Nodes []string `json:"nodes"` //the format is regionId.instanceId|Ip ,for example cn-hangzhou.192.168.1.2 or cn-hangzhou.i-abc
DrainNode bool `json:"drain_node"` //same as Nodes
}
DeleteClusterNodes
type DelicatedKubernetesClusterCreationRequest ¶
type DelicatedKubernetesClusterCreationRequest struct {
ClusterArgs
MasterArgs
WorkerArgs
}
DelicatedKubernetes
type DriverOptions ¶
type DriverOptions interface {
// contains filtered or unexported methods
}
type GetKubernetesClusterNodesResponse ¶
type GetKubernetesClusterNodesResponse struct {
Response
Page PaginationResult `json:"page"`
Nodes []KubernetesNodeType `json:"nodes"`
}
type GetProjectResponse ¶
type GetProjectResponse Project
type GetProjectsResponse ¶
type GetProjectsResponse []Project
type GetServiceResponse ¶
type GetServiceResponse Service
type GetServicesResponse ¶
type GetServicesResponse []Service
type GetSwarmClusterNodesResponse ¶
type GetSwarmClusterNodesResponse []SwarmNodeType
type GetVolumeResponse ¶
type GetVolumesResponse ¶
type GetVolumesResponse struct {
Volumes []GetVolumeResponse `json:"Volumes"`
}
type KubeletConfiguration ¶
type KubeletConfiguration struct {
CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"`
EventBurst *int64 `json:"eventBurst,omitempty"`
EventRecordQPS *int64 `json:"eventRecordQPS,omitempty"`
EvictionHard map[string]interface{} `json:"evictionHard,omitempty"`
EvictionSoft map[string]interface{} `json:"evictionSoft,omitempty"`
EvictionSoftGracePeriod map[string]interface{} `json:"evictionSoftGracePeriod,omitempty"`
KubeAPIBurst *int64 `json:"kubeAPIBurst,omitempty"`
KubeAPIQPS *int64 `json:"kubeAPIQPS,omitempty"`
KubeReserved map[string]interface{} `json:"kubeReserved,omitempty"`
RegistryBurst *int64 `json:"registryBurst,omitempty"`
RegistryPullQPS *int64 `json:"registryPullQPS,omitempty"`
SerializeImagePulls *bool `json:"serializeImagePulls,omitempty"`
SystemReserved map[string]interface{} `json:"systemReserved,omitempty"`
}
type KubernetesCluster ¶
type KubernetesCluster struct {
ClusterType
AgentVersion string `json:"agent_version"`
ClusterID string `json:"cluster_id"`
Name string `json:"name"`
Created time.Time `json:"created"`
MasterURL string `json:"master_url"`
NetworkMode NetworkModeType `json:"network_mode"`
RegionID common.Region `json:"region_id"`
SecurityGroupID string `json:"security_group_id"`
Size int64 `json:"size"`
State ClusterState `json:"state"`
Updated time.Time `json:"updated"`
VPCID string `json:"vpc_id"`
VSwitchID string `json:"vswitch_id"`
NodeStatus string `json:"node_status"`
DockerVersion string `json:"docker_version"`
ZoneId string `json:"zone_id"`
RawMetaData string `json:"meta_data,omitempty"`
MetaData KubernetesClusterMetaData
InitVersion string `json:"init_version"`
CurrentVersion string `json:"current_version"`
ExternalLoadbalancerId string `json:"external_loadbalancer_id"`
Parameters KubernetesClusterParameter `json:"parameters"`
}
Deprecated
type KubernetesClusterDetail ¶
type KubernetesClusterDetail struct {
RegionId common.Region `json:"region_id"`
Name string `json:"name"`
ClusterId string `json:"cluster_id"`
Size int64 `json:"size"`
ClusterType KubernetesClusterType `json:"cluster_type"`
Profile string `json:"profile"`
VpcId string `json:"vpc_id"`
VSwitchIds string `json:"vswitch_id"`
SecurityGroupId string `json:"security_group_id"`
IngressLoadbalancerId string `json:"external_loadbalancer_id"`
ResourceGroupId string `json:"resource_group_id"`
NetworkMode string `json:"network_mode"`
ContainerCIDR string `json:"subnet_cidr"`
Tags []Tag `json:"tags"`
State string `json:"state"`
InitVersion string `json:"init_version"`
CurrentVersion string `json:"current_version"`
PrivateZone bool `json:"private_zone"`
DeletionProtection bool `json:"deletion_protection"`
EnableRRSA bool `json:"enable_rrsa"`
MetaData string `json:"meta_data"`
Created time.Time `json:"created"`
Updated time.Time `json:"updated"`
WorkerRamRoleName string `json:"worker_ram_role_name"`
ClusterSpec string `json:"cluster_spec"`
OSType string `json:"os_type"`
MasterURL string `json:"master_url"`
MaintenanceWindow MaintenanceWindow `json:"maintenance_window"`
Parameters map[string]interface{} `json:"parameters"`
}
Cluster definition
func (*KubernetesClusterDetail) GetMetaData ¶
func (c *KubernetesClusterDetail) GetMetaData() map[string]interface{}
GetMetaData
type KubernetesClusterParameter ¶
type KubernetesClusterParameter struct {
ServiceCidr string `json:"ServiceCIDR"`
ContainerCidr string `json:"ContainerCIDR"`
DockerVersion string `json:"DockerVersion"`
EtcdVersion string `json:"EtcdVersion"`
KubernetesVersion string `json:"KubernetesVersion"`
VPCID string `json:"VpcId"`
ImageId string `json:"ImageId"`
KeyPair string `json:"KeyPair"`
MasterSystemDiskCategory ecs.DiskCategory `json:"MasterSystemDiskCategory"`
MasterSystemDiskSize string `json:"MasterSystemDiskSize"`
MasterImageId string `json:"MasterImageId"`
MasterInstanceChargeType string `json:"MasterInstanceChargeType"`
MasterPeriodUnit string `json:"MasterPeriodUnit"`
MasterPeriod string `json:"MasterPeriod"`
MasterAutoRenew *bool
RawMasterAutoRenew string `json:"MasterAutoRenew"`
MasterAutoRenewPeriod string `json:"MasterAutoRenewPeriod"`
WorkerSystemDiskCategory ecs.DiskCategory `json:"WorkerSystemDiskCategory"`
WorkerSystemDiskSize string `json:"WorkerSystemDiskSize"`
WorkerImageId string `json:"WorkerImageId"`
WorkerDataDisk *bool
RawWorkerDataDisk string `json:"WorkerDataDisk"`
WorkerDataDiskCategory ecs.DiskCategory `json:"WorkerDataDiskCategory"`
WorkerDataDiskSize string `json:"WorkerDataDiskSize"`
WorkerInstanceChargeType string `json:"WorkerInstanceChargeType"`
WorkerPeriodUnit string `json:"WorkerPeriodUnit"`
WorkerPeriod string `json:"WorkerPeriod"`
WorkerAutoRenew *bool
RawWorkerAutoRenew string `json:"WorkerAutoRenew"`
WorkerAutoRenewPeriod string `json:"WorkerAutoRenewPeriod"`
ZoneId string `json:"ZoneId"`
NodeCIDRMask string `json:"NodeCIDRMask"`
LoggingType string `json:"LoggingType"`
SLSProjectName string `json:"SLSProjectName"`
PublicSLB *bool
RawPublicSLB string `json:"PublicSLB"`
// Single AZ
MasterInstanceType string `json:"MasterInstanceType"`
WorkerInstanceType string `json:"WorkerInstanceType"`
NumOfNodes string `json:"NumOfNodes"`
VSwitchID string `json:"VSwitchId"`
// Multi AZ
MasterInstanceTypeA string `json:"MasterInstanceTypeA"`
MasterInstanceTypeB string `json:"MasterInstanceTypeB"`
MasterInstanceTypeC string `json:"MasterInstanceTypeC"`
WorkerInstanceTypeA string `json:"WorkerInstanceTypeA"`
WorkerInstanceTypeB string `json:"WorkerInstanceTypeB"`
WorkerInstanceTypeC string `json:"WorkerInstanceTypeC"`
NumOfNodesA string `json:"NumOfNodesA"`
NumOfNodesB string `json:"NumOfNodesB"`
NumOfNodesC string `json:"NumOfNodesC"`
VSwitchIdA string `json:"VSwitchIdA"`
VSwitchIdB string `json:"VSwitchIdB"`
VSwitchIdC string `json:"VSwitchIdC"`
}
deprecated
type KubernetesClusterProfile ¶
type KubernetesClusterProfile string
type KubernetesClusterResizeArgs ¶
type KubernetesClusterResizeArgs struct {
DisableRollback bool `json:"disable_rollback"`
TimeoutMins int64 `json:"timeout_mins"`
LoginPassword string `json:"login_password,omitempty"`
// Single AZ
WorkerInstanceType string `json:"worker_instance_type"`
WorkerInstanceTypes []string `json:"worker_instance_types"`
NumOfNodes int64 `json:"num_of_nodes"`
// Multi AZ
WorkerInstanceTypeA string `json:"worker_instance_type_a"`
WorkerInstanceTypeB string `json:"worker_instance_type_b"`
WorkerInstanceTypeC string `json:"worker_instance_type_c"`
NumOfNodesA int64 `json:"num_of_nodes_a"`
NumOfNodesB int64 `json:"num_of_nodes_b"`
NumOfNodesC int64 `json:"num_of_nodes_c"`
}
Deprecated
type KubernetesClusterScaleArgs ¶
type KubernetesClusterScaleArgs struct {
LoginPassword string `json:"login_password,omitempty"`
KeyPair string `json:"key_pair,omitempty"`
WorkerInstanceTypes []string `json:"worker_instance_types"`
WorkerSystemDiskSize int64 `json:"worker_system_disk_size"`
WorkerSystemDiskCategory ecs.DiskCategory `json:"worker_system_disk_category"`
WorkerDataDisk bool `json:"worker_data_disk"`
Count int `json:"count"`
// Edge worker related args
IsEdgeWorker bool `json:"is_edge_worker"`
EnsRegionId string `json:"ens_region_id"`
EnsInternetChargeType string `json:"ens_internet_charge_type"`
//data disk
WorkerDataDiskCategory ecs.DiskCategory `json:"worker_data_disk_category"`
WorkerDataDiskSize int64 `json:"worker_data_disk_size"`
WorkerDataDiskEncrypted string `json:"worker_data_disk_encrypted"`
WorkerDataDiskKMSKeyId string `json:"worker_data_disk_kms_key_id"`
}
Deprecated
type KubernetesConfig ¶
type KubernetesConfig struct {
NodeNameMode string `json:"node_name_mode"`
Taints []Taint `json:"taints"`
Labels []Label `json:"labels"`
CpuPolicy string `json:"cpu_policy"`
UserData *string `json:"user_data"`
Runtime string `json:"runtime,omitempty"`
RuntimeVersion string `json:"runtime_version"`
CmsEnabled *bool `json:"cms_enabled"`
OverwriteHostname *bool `json:"overwrite_hostname"`
Unschedulable *bool `json:"unschedulable"`
}
type KubernetesCreationArgs ¶
type KubernetesCreationArgs struct {
DisableRollback bool `json:"disable_rollback"`
Name string `json:"name"`
TimeoutMins int64 `json:"timeout_mins"`
ZoneId string `json:"zoneid,omitempty"`
VPCID string `json:"vpcid,omitempty"`
RegionId string `json:"region_id,omitempty"`
VSwitchId string `json:"vswitchid,omitempty"`
VSwitchIds []string `json:"vswitch_ids,omitempty"`
ImageId string `json:"image_id"`
ContainerCIDR string `json:"container_cidr,omitempty"`
ServiceCIDR string `json:"service_cidr,omitempty"`
MasterInstanceType string `json:"master_instance_type,omitempty"`
MasterSystemDiskSize int64 `json:"master_system_disk_size,omitempty"`
MasterSystemDiskCategory ecs.DiskCategory `json:"master_system_disk_category,omitempty"`
MasterInstanceChargeType string `json:"master_instance_charge_type"`
MasterPeriodUnit string `json:"master_period_unit"`
MasterPeriod int `json:"master_period"`
MasterAutoRenew bool `json:"master_auto_renew"`
MasterAutoRenewPeriod int `json:"master_auto_renew_period"`
WorkerInstanceType string `json:"worker_instance_type,omitempty"`
WorkerInstanceTypes []string `json:"worker_instance_types,omitempty"`
WorkerSystemDiskSize int64 `json:"worker_system_disk_size,omitempty"`
WorkerSystemDiskCategory ecs.DiskCategory `json:"worker_system_disk_category,omitempty"`
WorkerDataDisk bool `json:"worker_data_disk"`
WorkerDataDiskCategory ecs.DiskCategory `json:"worker_data_disk_category,omitempty"`
WorkerDataDiskSize int64 `json:"worker_data_disk_size,omitempty"`
WorkerInstanceChargeType string `json:"worker_instance_charge_type"`
WorkerPeriodUnit string `json:"worker_period_unit"`
WorkerPeriod int `json:"worker_period"`
WorkerAutoRenew bool `json:"worker_auto_renew"`
WorkerAutoRenewPeriod int `json:"worker_auto_renew_period"`
LoginPassword string `json:"login_password,omitempty"`
KeyPair string `json:"key_pair,omitempty"`
UserCA string `json:"user_ca,omitempty"`
NumOfNodes int64 `json:"num_of_nodes,omitempty"`
SNatEntry bool `json:"snat_entry"`
SSHFlags bool `json:"ssh_flags"`
CloudMonitorFlags bool `json:"cloud_monitor_flags"`
NodeCIDRMask string `json:"node_cidr_mask,omitempty"`
LoggingType string `json:"logging_type,omitempty"`
SLSProjectName string `json:"sls_project_name,omitempty"`
PublicSLB bool `json:"public_slb"`
ClusterType string `json:"cluster_type"`
Network string `json:"network,omitempty"`
KubernetesVersion string `json:"kubernetes_version,omitempty"`
StackParams KubernetesStackArgs `json:"stack_params,omitempty"`
}
Deprecated
type KubernetesMultiAZCreationArgs ¶
type KubernetesMultiAZCreationArgs struct {
DisableRollback bool `json:"disable_rollback"`
Name string `json:"name"`
TimeoutMins int64 `json:"timeout_mins"`
ClusterType string `json:"cluster_type"`
MultiAZ bool `json:"multi_az"`
VPCID string `json:"vpcid,omitempty"`
ImageId string `json:"image_id"`
ContainerCIDR string `json:"container_cidr"`
ServiceCIDR string `json:"service_cidr"`
VSwitchIdA string `json:"vswitch_id_a,omitempty"`
VSwitchIdB string `json:"vswitch_id_b,omitempty"`
VSwitchIdC string `json:"vswitch_id_c,omitempty"`
MasterInstanceTypeA string `json:"master_instance_type_a,omitempty"`
MasterInstanceTypeB string `json:"master_instance_type_b,omitempty"`
MasterInstanceTypeC string `json:"master_instance_type_c,omitempty"`
MasterSystemDiskCategory ecs.DiskCategory `json:"master_system_disk_category"`
MasterSystemDiskSize int64 `json:"master_system_disk_size"`
MasterInstanceChargeType string `json:"master_instance_charge_type"`
MasterPeriodUnit string `json:"master_period_unit"`
MasterPeriod int `json:"master_period"`
MasterAutoRenew bool `json:"master_auto_renew"`
MasterAutoRenewPeriod int `json:"master_auto_renew_period"`
WorkerInstanceTypeA string `json:"worker_instance_type_a,omitempty"`
WorkerInstanceTypeB string `json:"worker_instance_type_b,omitempty"`
WorkerInstanceTypeC string `json:"worker_instance_type_c,omitempty"`
WorkerSystemDiskCategory ecs.DiskCategory `json:"worker_system_disk_category"`
WorkerSystemDiskSize int64 `json:"worker_system_disk_size"`
WorkerDataDisk bool `json:"worker_data_disk"`
WorkerDataDiskCategory ecs.DiskCategory `json:"worker_data_disk_category"`
WorkerDataDiskSize int64 `json:"worker_data_disk_size"`
WorkerInstanceChargeType string `json:"worker_instance_charge_type"`
WorkerPeriodUnit string `json:"worker_period_unit"`
WorkerPeriod int `json:"worker_period"`
WorkerAutoRenew bool `json:"worker_auto_renew"`
WorkerAutoRenewPeriod int `json:"worker_auto_renew_period"`
NumOfNodesA int64 `json:"num_of_nodes_a"`
NumOfNodesB int64 `json:"num_of_nodes_b"`
NumOfNodesC int64 `json:"num_of_nodes_c"`
LoginPassword string `json:"login_password,omitempty"`
KeyPair string `json:"key_pair,omitempty"`
UserCA string `json:"user_ca,omitempty"`
SSHFlags bool `json:"ssh_flags"`
CloudMonitorFlags bool `json:"cloud_monitor_flags"`
NodeCIDRMask string `json:"node_cidr_mask,omitempty"`
LoggingType string `json:"logging_type,omitempty"`
SLSProjectName string `json:"sls_project_name,omitempty"`
PublicSLB bool `json:"public_slb"`
KubernetesVersion string `json:"kubernetes_version,omitempty"`
Network string `json:"network,omitempty"`
}
Deprecated
type KubernetesNodeType ¶
type KubernetesNodeType struct {
InstanceType string `json:"instance_type"`
IpAddress []string `json:"ip_address"`
InstanceChargeType string `json:"instance_charge_type"`
InstanceRole string `json:"instance_role"`
CreationTime string `json:"creation_time"`
InstanceName string `json:"instance_name"`
InstanceTypeFamily string `json:"instance_type_family"`
HostName string `json:"host_name"`
ImageId string `json:"image_id"`
InstanceId string `json:"instance_id"`
NodeName string `json:"node_name"`
}
type KubernetesStackArgs ¶
type KubernetesStackArgs struct {
VPCID string `json:"VpcId,omitempty"`
VSwitchID string `json:"VSwitchId,omitempty"`
MasterInstanceType string `json:"MasterInstanceType,omitempty"`
WorkerInstanceType string `json:"WorkerInstanceType,omitempty"`
NumOfNodes int64 `json:"NumOfNodes,omitempty"`
Password string `json:"LoginPassword,omitempty"`
DockerVersion string `json:"DockerVersion,omitempty"`
KubernetesVersion string `json:"KubernetesVersion,omitempty"`
ZoneId string `json:"ZoneId,omitempty"`
ContainerCIDR string `json:"ContainerCIDR,omitempty"`
ServiceCIDR string `json:"ServiceCIDR,omitempty"`
SSHFlags bool `json:"SSHFlags,omitempty"`
MasterSystemDiskSize int64 `json:"MasterSystemDiskSize,omitempty"`
MasterSystemDiskCategory ecs.DiskCategory `json:"MasterSystemDiskCategory,omitempty"`
WorkerSystemDiskSize int64 `json:"WorkerSystemDiskSize,omitempty"`
WorkerSystemDiskCategory ecs.DiskCategory `json:"WorkerSystemDiskCategory,omitempty"`
ImageID string `json:"ImageId,omitempty"`
CloudMonitorFlags bool `json:"CloudMonitorFlags,omitempty"`
SNatEntry bool `json:"SNatEntry,omitempty"`
}
Deprecated
type MaintenanceTime ¶
type MaintenanceTime string
type MaintenanceWindow ¶
type MaintenanceWindow struct {
Enable bool `json:"enable"`
MaintenanceTime MaintenanceTime `json:"maintenance_time"`
Duration string `json:"duration"`
Recurrence string `json:"recurrence,omitempty"`
WeeklyPeriod WeeklyPeriod `json:"weekly_period"`
}
maintenance window
type ManagedKubernetesClusterCreationRequest ¶
type ManagedKubernetesClusterCreationRequest struct {
ClusterArgs
WorkerArgs
}
ManagedKubernetes
type Management ¶
type Management struct {
Enable *bool `json:"enable"`
AutoRepair *bool `json:"auto_repair"`
UpgradeConf UpgradeConf `json:"upgrade_config"`
}
托管节点池配置
type MasterArgs ¶
type MasterArgs struct {
MasterCount int `json:"master_count"`
MasterVSwitchIds []string `json:"master_vswitch_ids"`
MasterInstanceTypes []string `json:"master_instance_types"`
MasterInstanceChargeType string `json:"master_instance_charge_type"`
MasterPeriod int `json:"master_period"`
MasterPeriodUnit string `json:"master_period_unit"`
MasterAutoRenew bool `json:"master_auto_renew"`
MasterAutoRenewPeriod int `json:"master_auto_renew_period"`
MasterSystemDiskCategory ecs.DiskCategory `json:"master_system_disk_category"`
MasterSystemDiskSize int64 `json:"master_system_disk_size"`
MasterSystemDiskPerformanceLevel string `json:"master_system_disk_performance_level"`
MasterDataDisks []DataDisk `json:"master_data_disks"` //支持多个数据盘
//support hpc/scc
MasterHpcClusterId string `json:"master_hpc_cluster_id"`
MasterDeploymentSetId string `json:"master_deploymentset_id"`
//master node deletion protection
MasterDeletionProtection *bool `json:"master_deletion_protection"`
// disk snapshot policy
MasterSnapshotPolicyId string `json:"master_system_disk_snapshot_policy_id"`
}
type ModifyClusterArgs ¶
type ModifyClusterArgs struct {
DeletionProtection bool `json:"deletion_protection"`
ResourceGroupId string `json:"resource_group_id"`
MaintenanceWindow MaintenanceWindow `json:"maintenance_window"`
EnableRRSA bool `json:"enable_rrsa"`
}
modify cluster,include DeletionProtection and so on
type ModifyClusterNameArgs ¶
type ModifyClusterNameArgs struct {
Name string `json:"name"`
}
type NetworkModeType ¶
type NetworkModeType string
type NodeConfig ¶
type NodeConfig struct {
KubeletConfiguration *KubeletConfiguration `json:"kubelet_configuration,omitempty"`
RolloutPolicy *RolloutPolicy `json:"rollout_policy,omitempty"`
}
type NodePoolDataDisk ¶
type NodePoolDataDisk struct {
Category string `json:"category"`
KMSKeyId string `json:"kms_key_id"`
Encrypted string `json:"encrypted"` // true|false
Device string `json:"device"` // could be /dev/xvd[a-z]. If not specification, will use default value.
Size int `json:"size"`
DiskName string `json:"name"`
AutoSnapshotPolicyId string `json:"auto_snapshot_policy_id"`
PerformanceLevel string `json:"performance_Level"`
}
type NodePoolDetail ¶
type NodePoolDetail struct {
BasicNodePool
KubernetesConfig `json:"kubernetes_config"`
ScalingGroup `json:"scaling_group"`
AutoScaling `json:"auto_scaling"`
TEEConfig `json:"tee_config"`
Management `json:"management"`
}
type NodePoolInfo ¶
type NodePoolInfo struct {
NodePoolId string `json:"nodepool_id"`
RegionId common.Region `json:"region_id"`
Name *string `json:"name"`
Created time.Time `json:"created"`
Updated time.Time `json:"updated"`
IsDefault *bool `json:"is_default"`
NodePoolType string `json:"type"`
ResourceGroupId *string `json:"resource_group_id"`
}
type NodePoolStatus ¶
type NodePoolStatus struct {
TotalNodes int `json:"total_nodes"`
OfflineNodes int `json:"offline_nodes"`
ServingNodes int `json:"serving_nodes"`
//DesiredNodes int `json:"desired_nodes"`
RemovingNodes int `json:"removing_nodes"`
FailedNodes int `json:"failed_nodes"`
InitialNodes int `json:"initial_nodes"`
HealthyNodes int `json:"healthy_nodes"`
State string `json:"state"`
}
type NodePoolsDetail ¶
type NodePoolsDetail struct {
Response
NodePools []NodePoolDetail `json:"nodepools"`
}
type NodeStatus ¶
type PaginationResult ¶
type Project ¶
type Project struct {
Name string `json:"name"`
Description string `json:"description"`
Template string `json:"template"`
Version string `json:"version"`
Created string `json:"created"`
Updated string `json:"updated"`
DesiredState string `json:"desired_state"`
CurrentState string `json:"current_state"`
Environment map[string]string `json:"environment"`
Services []Service `json:"services"`
}
type ProjectClient ¶
type ProjectClient struct {
// contains filtered or unexported fields
}
func NewProjectClient ¶
func NewProjectClient(clusterId, endpoint string, clusterCerts ClusterCerts) (client *ProjectClient, err error)
func (*ProjectClient) ClusterId ¶
func (client *ProjectClient) ClusterId() string
func (*ProjectClient) ConfirmBlueGreenProject ¶
func (client *ProjectClient) ConfirmBlueGreenProject(name string, force bool) (err error)
func (*ProjectClient) CreateProject ¶
func (client *ProjectClient) CreateProject(args *ProjectCreationArgs) (err error)
func (*ProjectClient) CreateVolume ¶
func (client *ProjectClient) CreateVolume(args *VolumeCreationArgs) (err error)
func (*ProjectClient) DeleteProject ¶
func (client *ProjectClient) DeleteProject(name string, forceDelete, deleteVolume bool) (err error)
func (*ProjectClient) DeleteVolume ¶
func (client *ProjectClient) DeleteVolume(name string) (err error)
func (*ProjectClient) Endpoint ¶
func (client *ProjectClient) Endpoint() string
func (*ProjectClient) GetProject ¶
func (client *ProjectClient) GetProject(name string) (project GetProjectResponse, err error)
func (*ProjectClient) GetProjects ¶
func (client *ProjectClient) GetProjects(q string, services, containers bool) (projects GetProjectsResponse, err error)
func (*ProjectClient) GetService ¶
func (client *ProjectClient) GetService(serviceId string) (service GetServiceResponse, err error)
func (*ProjectClient) GetServices ¶
func (client *ProjectClient) GetServices(q string, containers bool) (services GetServicesResponse, err error)
func (*ProjectClient) GetSwarmClusterNodes ¶
func (client *ProjectClient) GetSwarmClusterNodes() (project GetSwarmClusterNodesResponse, err error)
func (*ProjectClient) GetVolume ¶
func (client *ProjectClient) GetVolume(name string) (volume GetVolumeResponse, err error)
func (*ProjectClient) GetVolumes ¶
func (client *ProjectClient) GetVolumes() (volumes GetVolumesResponse, err error)
func (*ProjectClient) KillProject ¶
func (client *ProjectClient) KillProject(name string, signal ...string) (err error)
func (*ProjectClient) KillService ¶
func (client *ProjectClient) KillService(serviceId string, signal ...string) (err error)
func (*ProjectClient) RollBackBlueGreenProject ¶
func (client *ProjectClient) RollBackBlueGreenProject(name string, force bool) (err error)
func (*ProjectClient) ScaleService ¶
func (client *ProjectClient) ScaleService(args *ScaleServiceArgs) (err error)
func (*ProjectClient) SetDebug ¶
func (client *ProjectClient) SetDebug(debug bool)
SetDebug sets debug mode to log the request/response message
func (*ProjectClient) SetTransport ¶
func (client *ProjectClient) SetTransport(transport http.RoundTripper)
SetTransport sets transport to the http client
func (*ProjectClient) SetUserAgent ¶
func (client *ProjectClient) SetUserAgent(userAgent string)
SetUserAgent sets user agent to log the request/response message
func (*ProjectClient) StartProject ¶
func (client *ProjectClient) StartProject(name string) (err error)
func (*ProjectClient) StartService ¶
func (client *ProjectClient) StartService(serviceId string) (err error)
func (*ProjectClient) StopProject ¶
func (client *ProjectClient) StopProject(name string, timeout ...time.Duration) (err error)
func (*ProjectClient) StopService ¶
func (client *ProjectClient) StopService(serviceId string, timeout ...time.Duration) (err error)
func (*ProjectClient) UpdateProject ¶
func (client *ProjectClient) UpdateProject(args *ProjectUpdationArgs) (err error)
type ProjectCreationArgs ¶
type ProjectUpdationArgs ¶
type RolloutPolicy ¶
type RolloutPolicy struct {
}
type Runtime ¶
type Runtime struct {
Name string `json:"name"`
Version string `json:"version"`
RuntimeClass []string `json:"runtimeClass,omitempty"`
Exist bool `json:"exist"`
AvailableNetworkComponents []string `json:"availableNetworkComponents,omitempty"`
}
runtime
type ScaleOutKubernetesClusterRequest ¶
type ScaleOutKubernetesClusterRequest struct {
LoginPassword string `json:"login_password"` //和KeyPair 二选一
KeyPair string `json:"key_pair"` ////LoginPassword 二选一
WorkerVSwitchIds []string `json:"worker_vswitch_ids"`
WorkerInstanceTypes []string `json:"worker_instance_types"`
WorkerInstanceChargeType string `json:"worker_instance_charge_type"`
WorkerPeriod int `json:"worker_period"`
WorkerPeriodUnit string `json:"worker_period_unit"`
WorkerAutoRenew bool `json:"worker_auto_renew"`
WorkerAutoRenewPeriod int `json:"worker_auto_renew_period"`
WorkerSystemDiskCategory ecs.DiskCategory `json:"worker_system_disk_category"`
WorkerSystemDiskSize int64 `json:"worker_system_disk_size"`
WorkerSnapshotPolicyId string `json:"worker_system_disk_snapshot_policy_id"`
WorkerSystemDiskPerformanceLevel string `json:"worker_system_disk_performance_level"`
WorkerDataDisk bool `json:"worker_data_disk"`
WorkerDataDisks []DataDisk `json:"worker_data_disks"` //支持多个数据盘
Tags []Tag `json:"tags"`
Taints []Taint `json:"taints"`
ImageId string `json:"image_id"`
UserData string `json:"user_data"`
Count int64 `json:"count"`
CpuPolicy string `json:"cpu_policy"`
Runtime Runtime `json:"runtime"`
CloudMonitorFlags bool `json:"cloud_monitor_flags"`
RdsInstances []string ` json:"rds_instances"`
}
type ScaleServiceArgs ¶
type ScalingGroup ¶
type ScalingGroup struct {
VpcId string `json:"vpc_id"`
VswitchIds []string `json:"vswitch_ids"`
InstanceTypes []string `json:"instance_types"`
LoginPassword *string `json:"login_password"`
KeyPair *string `json:"key_pair"`
SecurityGroupId string `json:"security_group_id"`
SecurityGroupIds []string `json:"security_group_ids"`
SystemDiskCategory ecs.DiskCategory `json:"system_disk_category"`
SystemDiskSize *int64 `json:"system_disk_size"`
SystemDiskPerformanceLevel *string `json:"system_disk_performance_level"`
SystemDiskEncryptAlgorithm *string `json:"system_disk_encrypt_algorithm"`
SystemDiskEncrypted *bool `json:"system_disk_encrypted"`
SystemDiskKMSKeyId *string `json:"system_disk_kms_key_id"`
DataDisks []NodePoolDataDisk `json:"data_disks"` //支持多个数据盘
Tags []Tag `json:"tags"`
ImageId *string `json:"image_id"`
Platform *string `json:"platform"`
OSType *string `json:"os_type"`
ImageType *string `json:"image_type"`
InstanceChargeType *string `json:"instance_charge_type"`
Period *int `json:"period"`
PeriodUnit *string `json:"period_unit"`
AutoRenew *bool `json:"auto_renew"`
AutoRenewPeriod *int `json:"auto_renew_period"`
// spot实例
SpotStrategy *string `json:"spot_strategy"`
SpotPriceLimit []SpotPrice `json:"spot_price_limit"`
RdsInstances []string `json:"rds_instances"`
ScalingPolicy *string `json:"scaling_policy"`
ScalingGroupId *string `json:"scaling_group_id"`
WorkerSnapshotPolicyId *string `json:"worker_system_disk_snapshot_policy_id"`
// 公网ip
InternetChargeType *string `json:"internet_charge_type"`
InternetMaxBandwidthOut *int `json:"internet_max_bandwidth_out"`
// Operating system hardening
SocEnabled *bool `json:"soc_enabled"`
CisEnabled *bool `json:"cis_enabled"`
// ipv6
SupportIPv6 *bool `json:"support_ipv6"`
// deploymentset
DeploymentSetId *string `json:"deploymentset_id"`
DesiredSize *int64 `json:"desired_size,omitempty"`
PolarDBIds []string `json:"polardb_ids"`
}
type ServerlessClusterResponse ¶
type ServerlessClusterResponse struct {
ClusterId string `json:"cluster_id"`
Name string `json:"name"`
ClusterType KubernetesClusterType `json:"cluster_type"`
RegionId string `json:"region_id"`
State ClusterState `json:"state"`
VpcId string `json:"vpc_id"`
VSwitchId string `json:"vswitch_id"`
SecurityGroupId string `json:"security_group_id"`
Tags []Tag `json:"tags"`
Created time.Time `json:"created"`
Updated time.Time `json:"updated"`
InitVersion string `json:"init_version"`
CurrentVersion string `json:"current_version"`
PrivateZone bool `json:"private_zone"`
DeletionProtection bool `json:"deletion_protection"`
EnableRRSA bool `json:"enable_rrsa"`
ResourceGroupId string `json:"resource_group_id"`
ClusterSpec string `json:"cluster_spec"`
Profile string `json:"profile"`
MetaData string `json:"meta_data"`
}
type ServerlessCreationArgs ¶
type ServerlessCreationArgs struct {
ClusterType KubernetesClusterType `json:"cluster_type"`
Profile KubernetesClusterProfile `json:"profile"`
Name string `json:"name"`
RegionId string `json:"region_id"`
VpcId string `json:"vpcid"`
VSwitchId string `json:"vswitch_id"`
VswitchIds []string `json:"vswitch_ids"`
EndpointPublicAccess bool `json:"public_slb"`
PrivateZone bool `json:"private_zone"`
NatGateway bool `json:"nat_gateway"`
KubernetesVersion string `json:"kubernetes_version"`
DeletionProtection bool `json:"deletion_protection"`
EnableRRSA bool `json:"enable_rrsa"`
SecurityGroupId string `json:"security_group_id"`
Tags []Tag `json:"tags"`
Addons []Addon `json:"addons"`
ResourceGroupId string `json:"resource_group_id"`
ClusterSpec string `json:"cluster_spec"`
LoadBalancerSpec string `json:"load_balancer_spec"` //api server slb实例规格
ServiceCIDR string `json:"service_cidr"`
TimeZone string `json:"timezone"`
ServiceDiscoveryTypes []string `json:"service_discovery_types"`
ZoneID string `json:"zone_id"`
LoggingType string `json:"logging_type"`
SLSProjectName string `json:"sls_project_name"`
SnatEntry bool `json:"snat_entry"`
}
func (*ServerlessCreationArgs) Validate ¶
func (this *ServerlessCreationArgs) Validate() error
type Service ¶
type Service struct {
ID string `json:"id"`
Name string `json:"name"`
Project string `json:"project"`
ComposeVersion string `json:"compose_version"`
Containers map[string]Container `json:"containers"`
Created time.Time `json:"created"`
CurrentState string `json:"current_state"`
Definition Definition `json:"definition"`
DesiredState string `json:"desired_state"`
Extensions map[string]interface{} `json:"extensions"`
Hash string `json:"hash"`
Updated time.Time `json:"updated"`
Version string `json:"version"`
}
type SwarmNodeType ¶
type Taint ¶
type Taint struct {
Key string `json:"key"`
Value string `json:"value"`
Effect Effect `json:"effect"`
}
taint
type UpdateNodePoolRequest ¶
type UpdateNodePoolRequest struct {
RegionId common.Region `json:"region_id"`
Count int64 `json:"count"`
NodePoolInfo `json:"nodepool_info"`
ScalingGroup `json:"scaling_group"`
KubernetesConfig `json:"kubernetes_config"`
AutoScaling `json:"auto_scaling"`
Management `json:"management"`
NodeConfig *NodeConfig `json:"node_config,omitempty"`
}
type UpgradeClusterArgs ¶
type UpgradeClusterArgs struct {
Version string `json:"version"`
}
type UpgradeClusterResult ¶
type UpgradeClusterResult struct {
Status TaskState `json:"status"`
PrecheckReportId string `json:"precheck_report_id"`
UpgradeStep string `json:"upgrade_step"`
ErrorMessage string `json:"error_message"`
*UpgradeTask `json:"upgrade_task,omitempty"`
}
type UpgradeConf ¶
type UpgradeStatus ¶
type UpgradeTask ¶
type UpgradeTask struct {
FieldRetries int `json:"retries,omitempty"`
FieldCreatedAt time.Time `json:"created_at"`
FieldMessage string `json:"message,omitempty"`
FieldStatus string `json:"status"` // empty|running|success|failed
FieldFinishedAt time.Time `json:"finished_at,omitempty"`
UpgradeStatus UpgradeStatus `json:"upgrade_status"`
}
type VolumeCreationArgs ¶
type VolumeCreationArgs struct {
Name string `json:"name"`
Driver VolumeDriverType `json:"driver"`
DriverOpts DriverOptions `json:"driverOpts"`
}
type VolumeCreationResponse ¶
type VolumeDriverType ¶
type VolumeDriverType string
const ( OSSFSDriver VolumeDriverType = "ossfs" NASDriver VolumeDriverType = "nas" )
type WeeklyPeriod ¶
type WeeklyPeriod string
type WorkerArgs ¶
type WorkerArgs struct {
WorkerVSwitchIds []string `json:"worker_vswitch_ids"`
WorkerInstanceTypes []string `json:"worker_instance_types"`
NumOfNodes int64 `json:"num_of_nodes"`
WorkerInstanceChargeType string `json:"worker_instance_charge_type"`
WorkerPeriod int `json:"worker_period"`
WorkerPeriodUnit string `json:"worker_period_unit"`
WorkerAutoRenew bool `json:"worker_auto_renew"`
WorkerAutoRenewPeriod int `json:"worker_auto_renew_period"`
WorkerSystemDiskCategory ecs.DiskCategory `json:"worker_system_disk_category"`
WorkerSystemDiskSize int64 `json:"worker_system_disk_size"`
WorkerSystemDiskPerformanceLevel string `json:"worker_system_disk_performance_level"`
WorkerDataDisk bool `json:"worker_data_disk"`
WorkerDataDisks []DataDisk `json:"worker_data_disks"` //支持多个数据盘
WorkerHpcClusterId string `json:"worker_hpc_cluster_id"`
WorkerDeploymentSetId string `json:"worker_deploymentset_id"`
//worker node deletion protection
WorkerDeletionProtection *bool `json:"worker_deletion_protection"`
//Runtime only for worker nodes
Runtime Runtime `json:"runtime"`
// disk snapshot policy
WorkerSnapshotPolicyId string `json:"worker_system_disk_snapshot_policy_id"`
}