1
0
mirror of https://github.com/rancher/types.git synced 2025-09-25 12:21:24 +00:00

Updated generated code

This commit is contained in:
Darren Shepherd
2017-12-05 09:32:54 -07:00
parent 5579f880d0
commit 00384d0e99
282 changed files with 1674 additions and 1280 deletions

View File

@@ -1,8 +0,0 @@
package client
const (
AmazonEC2ConfigType = "amazonEC2Config"
)
type AmazonEC2Config struct {
}

View File

@@ -1,12 +0,0 @@
package client
const (
AttachedVolumeType = "attachedVolume"
AttachedVolumeFieldDevicePath = "devicePath"
AttachedVolumeFieldName = "name"
)
type AttachedVolume struct {
DevicePath string `json:"devicePath,omitempty"`
Name string `json:"name,omitempty"`
}

View File

@@ -1,12 +0,0 @@
package client
const (
AuthConfigType = "authConfig"
AuthConfigFieldOptions = "options"
AuthConfigFieldStrategy = "strategy"
)
type AuthConfig struct {
Options map[string]string `json:"options,omitempty"`
Strategy string `json:"strategy,omitempty"`
}

View File

@@ -1,8 +0,0 @@
package client
const (
AzureConfigType = "azureConfig"
)
type AzureConfig struct {
}

View File

@@ -1,8 +0,0 @@
package client
const (
AzureKubernetesServiceConfigType = "azureKubernetesServiceConfig"
)
type AzureKubernetesServiceConfig struct {
}

View File

@@ -1,34 +0,0 @@
package client
import (
"github.com/rancher/norman/clientbase"
)
type Client struct {
clientbase.APIBaseClient
Cluster ClusterOperations
ClusterNode ClusterNodeOperations
Machine MachineOperations
MachineDriver MachineDriverOperations
MachineTemplate MachineTemplateOperations
}
func NewClient(opts *clientbase.ClientOpts) (*Client, error) {
baseClient, err := clientbase.NewAPIClient(opts)
if err != nil {
return nil, err
}
client := &Client{
APIBaseClient: baseClient,
}
client.Cluster = newClusterClient(client)
client.ClusterNode = newClusterNodeClient(client)
client.Machine = newMachineClient(client)
client.MachineDriver = newMachineDriverClient(client)
client.MachineTemplate = newMachineTemplateClient(client)
return client, nil
}

View File

@@ -1,109 +0,0 @@
package client
import (
"github.com/rancher/norman/types"
)
const (
ClusterType = "cluster"
ClusterFieldAnnotations = "annotations"
ClusterFieldAzureKubernetesServiceConfig = "azureKubernetesServiceConfig"
ClusterFieldCreated = "created"
ClusterFieldDescription = "description"
ClusterFieldGoogleKubernetesEngineConfig = "googleKubernetesEngineConfig"
ClusterFieldId = "id"
ClusterFieldLabels = "labels"
ClusterFieldName = "name"
ClusterFieldOwnerReferences = "ownerReferences"
ClusterFieldRancherKubernetesEngineConfig = "rancherKubernetesEngineConfig"
ClusterFieldRemoved = "removed"
ClusterFieldResourcePath = "resourcePath"
ClusterFieldState = "state"
ClusterFieldStatus = "status"
ClusterFieldTransitioning = "transitioning"
ClusterFieldTransitioningMessage = "transitioningMessage"
ClusterFieldUuid = "uuid"
)
type Cluster struct {
types.Resource
Annotations map[string]string `json:"annotations,omitempty"`
AzureKubernetesServiceConfig *AzureKubernetesServiceConfig `json:"azureKubernetesServiceConfig,omitempty"`
Created string `json:"created,omitempty"`
Description string `json:"description,omitempty"`
GoogleKubernetesEngineConfig *GoogleKubernetesEngineConfig `json:"googleKubernetesEngineConfig,omitempty"`
Id string `json:"id,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
OwnerReferences []OwnerReference `json:"ownerReferences,omitempty"`
RancherKubernetesEngineConfig *RancherKubernetesEngineConfig `json:"rancherKubernetesEngineConfig,omitempty"`
Removed string `json:"removed,omitempty"`
ResourcePath string `json:"resourcePath,omitempty"`
State string `json:"state,omitempty"`
Status *ClusterStatus `json:"status,omitempty"`
Transitioning string `json:"transitioning,omitempty"`
TransitioningMessage string `json:"transitioningMessage,omitempty"`
Uuid string `json:"uuid,omitempty"`
}
type ClusterCollection struct {
types.Collection
Data []Cluster `json:"data,omitempty"`
client *ClusterClient
}
type ClusterClient struct {
apiClient *Client
}
type ClusterOperations interface {
List(opts *types.ListOpts) (*ClusterCollection, error)
Create(opts *Cluster) (*Cluster, error)
Update(existing *Cluster, updates interface{}) (*Cluster, error)
ByID(id string) (*Cluster, error)
Delete(container *Cluster) error
}
func newClusterClient(apiClient *Client) *ClusterClient {
return &ClusterClient{
apiClient: apiClient,
}
}
func (c *ClusterClient) Create(container *Cluster) (*Cluster, error) {
resp := &Cluster{}
err := c.apiClient.Ops.DoCreate(ClusterType, container, resp)
return resp, err
}
func (c *ClusterClient) Update(existing *Cluster, updates interface{}) (*Cluster, error) {
resp := &Cluster{}
err := c.apiClient.Ops.DoUpdate(ClusterType, &existing.Resource, updates, resp)
return resp, err
}
func (c *ClusterClient) List(opts *types.ListOpts) (*ClusterCollection, error) {
resp := &ClusterCollection{}
err := c.apiClient.Ops.DoList(ClusterType, opts, resp)
resp.client = c
return resp, err
}
func (cc *ClusterCollection) Next() (*ClusterCollection, error) {
if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" {
resp := &ClusterCollection{}
err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp)
resp.client = cc.client
return resp, err
}
return nil, nil
}
func (c *ClusterClient) ByID(id string) (*Cluster, error) {
resp := &Cluster{}
err := c.apiClient.Ops.DoByID(ClusterType, id, resp)
return resp, err
}
func (c *ClusterClient) Delete(container *Cluster) error {
return c.apiClient.Ops.DoResourceDelete(ClusterType, &container.Resource)
}

View File

@@ -1,12 +0,0 @@
package client
const (
ClusterComponentStatusType = "clusterComponentStatus"
ClusterComponentStatusFieldConditions = "conditions"
ClusterComponentStatusFieldName = "name"
)
type ClusterComponentStatus struct {
Conditions []ComponentCondition `json:"conditions,omitempty"`
Name string `json:"name,omitempty"`
}

View File

@@ -1,18 +0,0 @@
package client
const (
ClusterConditionType = "clusterCondition"
ClusterConditionFieldLastTransitionTime = "lastTransitionTime"
ClusterConditionFieldLastUpdateTime = "lastUpdateTime"
ClusterConditionFieldReason = "reason"
ClusterConditionFieldStatus = "status"
ClusterConditionFieldType = "type"
)
type ClusterCondition struct {
LastTransitionTime string `json:"lastTransitionTime,omitempty"`
LastUpdateTime string `json:"lastUpdateTime,omitempty"`
Reason string `json:"reason,omitempty"`
Status string `json:"status,omitempty"`
Type string `json:"type,omitempty"`
}

View File

@@ -1,115 +0,0 @@
package client
import (
"github.com/rancher/norman/types"
)
const (
ClusterNodeType = "clusterNode"
ClusterNodeFieldAnnotations = "annotations"
ClusterNodeFieldClusterName = "clusterName"
ClusterNodeFieldConfigSource = "configSource"
ClusterNodeFieldCreated = "created"
ClusterNodeFieldExternalID = "externalID"
ClusterNodeFieldLabels = "labels"
ClusterNodeFieldName = "name"
ClusterNodeFieldNodeName = "nodeName"
ClusterNodeFieldOwnerReferences = "ownerReferences"
ClusterNodeFieldPodCIDR = "podCIDR"
ClusterNodeFieldProviderID = "providerID"
ClusterNodeFieldRemoved = "removed"
ClusterNodeFieldResourcePath = "resourcePath"
ClusterNodeFieldState = "state"
ClusterNodeFieldStatus = "status"
ClusterNodeFieldTaints = "taints"
ClusterNodeFieldTransitioning = "transitioning"
ClusterNodeFieldTransitioningMessage = "transitioningMessage"
ClusterNodeFieldUnschedulable = "unschedulable"
ClusterNodeFieldUuid = "uuid"
)
type ClusterNode struct {
types.Resource
Annotations map[string]string `json:"annotations,omitempty"`
ClusterName string `json:"clusterName,omitempty"`
ConfigSource *NodeConfigSource `json:"configSource,omitempty"`
Created string `json:"created,omitempty"`
ExternalID string `json:"externalID,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
NodeName string `json:"nodeName,omitempty"`
OwnerReferences []OwnerReference `json:"ownerReferences,omitempty"`
PodCIDR string `json:"podCIDR,omitempty"`
ProviderID string `json:"providerID,omitempty"`
Removed string `json:"removed,omitempty"`
ResourcePath string `json:"resourcePath,omitempty"`
State string `json:"state,omitempty"`
Status *ClusterNodeStatus `json:"status,omitempty"`
Taints []Taint `json:"taints,omitempty"`
Transitioning string `json:"transitioning,omitempty"`
TransitioningMessage string `json:"transitioningMessage,omitempty"`
Unschedulable *bool `json:"unschedulable,omitempty"`
Uuid string `json:"uuid,omitempty"`
}
type ClusterNodeCollection struct {
types.Collection
Data []ClusterNode `json:"data,omitempty"`
client *ClusterNodeClient
}
type ClusterNodeClient struct {
apiClient *Client
}
type ClusterNodeOperations interface {
List(opts *types.ListOpts) (*ClusterNodeCollection, error)
Create(opts *ClusterNode) (*ClusterNode, error)
Update(existing *ClusterNode, updates interface{}) (*ClusterNode, error)
ByID(id string) (*ClusterNode, error)
Delete(container *ClusterNode) error
}
func newClusterNodeClient(apiClient *Client) *ClusterNodeClient {
return &ClusterNodeClient{
apiClient: apiClient,
}
}
func (c *ClusterNodeClient) Create(container *ClusterNode) (*ClusterNode, error) {
resp := &ClusterNode{}
err := c.apiClient.Ops.DoCreate(ClusterNodeType, container, resp)
return resp, err
}
func (c *ClusterNodeClient) Update(existing *ClusterNode, updates interface{}) (*ClusterNode, error) {
resp := &ClusterNode{}
err := c.apiClient.Ops.DoUpdate(ClusterNodeType, &existing.Resource, updates, resp)
return resp, err
}
func (c *ClusterNodeClient) List(opts *types.ListOpts) (*ClusterNodeCollection, error) {
resp := &ClusterNodeCollection{}
err := c.apiClient.Ops.DoList(ClusterNodeType, opts, resp)
resp.client = c
return resp, err
}
func (cc *ClusterNodeCollection) Next() (*ClusterNodeCollection, error) {
if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" {
resp := &ClusterNodeCollection{}
err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp)
resp.client = cc.client
return resp, err
}
return nil, nil
}
func (c *ClusterNodeClient) ByID(id string) (*ClusterNode, error) {
resp := &ClusterNode{}
err := c.apiClient.Ops.DoByID(ClusterNodeType, id, resp)
return resp, err
}
func (c *ClusterNodeClient) Delete(container *ClusterNode) error {
return c.apiClient.Ops.DoResourceDelete(ClusterNodeType, &container.Resource)
}

View File

@@ -1,32 +0,0 @@
package client
const (
ClusterNodeStatusType = "clusterNodeStatus"
ClusterNodeStatusFieldAddresses = "addresses"
ClusterNodeStatusFieldAllocatable = "allocatable"
ClusterNodeStatusFieldCapacity = "capacity"
ClusterNodeStatusFieldConditions = "conditions"
ClusterNodeStatusFieldDaemonEndpoints = "daemonEndpoints"
ClusterNodeStatusFieldImages = "images"
ClusterNodeStatusFieldLimits = "limits"
ClusterNodeStatusFieldNodeInfo = "nodeInfo"
ClusterNodeStatusFieldPhase = "phase"
ClusterNodeStatusFieldRequested = "requested"
ClusterNodeStatusFieldVolumesAttached = "volumesAttached"
ClusterNodeStatusFieldVolumesInUse = "volumesInUse"
)
type ClusterNodeStatus struct {
Addresses []NodeAddress `json:"addresses,omitempty"`
Allocatable map[string]string `json:"allocatable,omitempty"`
Capacity map[string]string `json:"capacity,omitempty"`
Conditions []NodeCondition `json:"conditions,omitempty"`
DaemonEndpoints *NodeDaemonEndpoints `json:"daemonEndpoints,omitempty"`
Images []ContainerImage `json:"images,omitempty"`
Limits map[string]string `json:"limits,omitempty"`
NodeInfo *NodeSystemInfo `json:"nodeInfo,omitempty"`
Phase string `json:"phase,omitempty"`
Requested map[string]string `json:"requested,omitempty"`
VolumesAttached []AttachedVolume `json:"volumesAttached,omitempty"`
VolumesInUse []string `json:"volumesInUse,omitempty"`
}

View File

@@ -1,18 +0,0 @@
package client
const (
ClusterSpecType = "clusterSpec"
ClusterSpecFieldAzureKubernetesServiceConfig = "azureKubernetesServiceConfig"
ClusterSpecFieldDescription = "description"
ClusterSpecFieldDisplayName = "displayName"
ClusterSpecFieldGoogleKubernetesEngineConfig = "googleKubernetesEngineConfig"
ClusterSpecFieldRancherKubernetesEngineConfig = "rancherKubernetesEngineConfig"
)
type ClusterSpec struct {
AzureKubernetesServiceConfig *AzureKubernetesServiceConfig `json:"azureKubernetesServiceConfig,omitempty"`
Description string `json:"description,omitempty"`
DisplayName string `json:"displayName,omitempty"`
GoogleKubernetesEngineConfig *GoogleKubernetesEngineConfig `json:"googleKubernetesEngineConfig,omitempty"`
RancherKubernetesEngineConfig *RancherKubernetesEngineConfig `json:"rancherKubernetesEngineConfig,omitempty"`
}

View File

@@ -1,28 +0,0 @@
package client
const (
ClusterStatusType = "clusterStatus"
ClusterStatusFieldAPIEndpoint = "apiEndpoint"
ClusterStatusFieldAllocatable = "allocatable"
ClusterStatusFieldAppliedSpec = "appliedSpec"
ClusterStatusFieldCACert = "caCert"
ClusterStatusFieldCapacity = "capacity"
ClusterStatusFieldComponentStatuses = "componentStatuses"
ClusterStatusFieldConditions = "conditions"
ClusterStatusFieldLimits = "limits"
ClusterStatusFieldRequested = "requested"
ClusterStatusFieldServiceAccountToken = "serviceAccountToken"
)
type ClusterStatus struct {
APIEndpoint string `json:"apiEndpoint,omitempty"`
Allocatable map[string]string `json:"allocatable,omitempty"`
AppliedSpec *ClusterSpec `json:"appliedSpec,omitempty"`
CACert string `json:"caCert,omitempty"`
Capacity map[string]string `json:"capacity,omitempty"`
ComponentStatuses []ClusterComponentStatus `json:"componentStatuses,omitempty"`
Conditions []ClusterCondition `json:"conditions,omitempty"`
Limits map[string]string `json:"limits,omitempty"`
Requested map[string]string `json:"requested,omitempty"`
ServiceAccountToken string `json:"serviceAccountToken,omitempty"`
}

View File

@@ -1,16 +0,0 @@
package client
const (
ComponentConditionType = "componentCondition"
ComponentConditionFieldError = "error"
ComponentConditionFieldMessage = "message"
ComponentConditionFieldStatus = "status"
ComponentConditionFieldType = "type"
)
type ComponentCondition struct {
Error string `json:"error,omitempty"`
Message string `json:"message,omitempty"`
Status string `json:"status,omitempty"`
Type string `json:"type,omitempty"`
}

View File

@@ -1,8 +0,0 @@
package client
const (
DigitalOceanConfigType = "digitalOceanConfig"
)
type DigitalOceanConfig struct {
}

View File

@@ -1,12 +0,0 @@
package client
const (
ETCDServiceType = "etcdService"
ETCDServiceFieldExtraArgs = "extraArgs"
ETCDServiceFieldImage = "image"
)
type ETCDService struct {
ExtraArgs map[string]string `json:"extraArgs,omitempty"`
Image string `json:"image,omitempty"`
}

View File

@@ -1,32 +0,0 @@
package client
const (
GoogleKubernetesEngineConfigType = "googleKubernetesEngineConfig"
GoogleKubernetesEngineConfigFieldClusterIpv4Cidr = "clusterIpv4Cidr"
GoogleKubernetesEngineConfigFieldCredential = "credential"
GoogleKubernetesEngineConfigFieldDescription = "description"
GoogleKubernetesEngineConfigFieldDiskSizeGb = "diskSizeGb"
GoogleKubernetesEngineConfigFieldEnableAlphaFeature = "enableAlphaFeature"
GoogleKubernetesEngineConfigFieldLabels = "labels"
GoogleKubernetesEngineConfigFieldMachineType = "machineType"
GoogleKubernetesEngineConfigFieldMasterVersion = "masterVersion"
GoogleKubernetesEngineConfigFieldNodeCount = "nodeCount"
GoogleKubernetesEngineConfigFieldNodeVersion = "nodeVersion"
GoogleKubernetesEngineConfigFieldProjectID = "projectId"
GoogleKubernetesEngineConfigFieldZone = "zone"
)
type GoogleKubernetesEngineConfig struct {
ClusterIpv4Cidr string `json:"clusterIpv4Cidr,omitempty"`
Credential string `json:"credential,omitempty"`
Description string `json:"description,omitempty"`
DiskSizeGb *int64 `json:"diskSizeGb,omitempty"`
EnableAlphaFeature *bool `json:"enableAlphaFeature,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
MachineType string `json:"machineType,omitempty"`
MasterVersion string `json:"masterVersion,omitempty"`
NodeCount *int64 `json:"nodeCount,omitempty"`
NodeVersion string `json:"nodeVersion,omitempty"`
ProjectID string `json:"projectId,omitempty"`
Zone string `json:"zone,omitempty"`
}

View File

@@ -1,14 +0,0 @@
package client
const (
KubeAPIServiceType = "kubeAPIService"
KubeAPIServiceFieldExtraArgs = "extraArgs"
KubeAPIServiceFieldImage = "image"
KubeAPIServiceFieldServiceClusterIPRange = "serviceClusterIpRange"
)
type KubeAPIService struct {
ExtraArgs map[string]string `json:"extraArgs,omitempty"`
Image string `json:"image,omitempty"`
ServiceClusterIPRange string `json:"serviceClusterIpRange,omitempty"`
}

View File

@@ -1,16 +0,0 @@
package client
const (
KubeControllerServiceType = "kubeControllerService"
KubeControllerServiceFieldClusterCIDR = "clusterCidr"
KubeControllerServiceFieldExtraArgs = "extraArgs"
KubeControllerServiceFieldImage = "image"
KubeControllerServiceFieldServiceClusterIPRange = "serviceClusterIpRange"
)
type KubeControllerService struct {
ClusterCIDR string `json:"clusterCidr,omitempty"`
ExtraArgs map[string]string `json:"extraArgs,omitempty"`
Image string `json:"image,omitempty"`
ServiceClusterIPRange string `json:"serviceClusterIpRange,omitempty"`
}

View File

@@ -1,18 +0,0 @@
package client
const (
KubeletServiceType = "kubeletService"
KubeletServiceFieldClusterDNSServer = "clusterDnsServer"
KubeletServiceFieldClusterDomain = "clusterDomain"
KubeletServiceFieldExtraArgs = "extraArgs"
KubeletServiceFieldImage = "image"
KubeletServiceFieldInfraContainerImage = "infraContainerImage"
)
type KubeletService struct {
ClusterDNSServer string `json:"clusterDnsServer,omitempty"`
ClusterDomain string `json:"clusterDomain,omitempty"`
ExtraArgs map[string]string `json:"extraArgs,omitempty"`
Image string `json:"image,omitempty"`
InfraContainerImage string `json:"infraContainerImage,omitempty"`
}

View File

@@ -1,12 +0,0 @@
package client
const (
KubeproxyServiceType = "kubeproxyService"
KubeproxyServiceFieldExtraArgs = "extraArgs"
KubeproxyServiceFieldImage = "image"
)
type KubeproxyService struct {
ExtraArgs map[string]string `json:"extraArgs,omitempty"`
Image string `json:"image,omitempty"`
}

View File

@@ -1,139 +0,0 @@
package client
import (
"github.com/rancher/norman/types"
)
const (
MachineType = "machine"
MachineFieldAmazonEC2Config = "amazonEc2Config"
MachineFieldAnnotations = "annotations"
MachineFieldAuthCertificateAuthority = "authCertificateAuthority"
MachineFieldAuthKey = "authKey"
MachineFieldAzureConfig = "azureConfig"
MachineFieldClusterId = "clusterId"
MachineFieldCreated = "created"
MachineFieldDescription = "description"
MachineFieldDigitalOceanConfig = "digitalOceanConfig"
MachineFieldDockerVersion = "dockerVersion"
MachineFieldDriver = "driver"
MachineFieldEngineEnv = "engineEnv"
MachineFieldEngineInsecureRegistry = "engineInsecureRegistry"
MachineFieldEngineInstallURL = "engineInstallURL"
MachineFieldEngineLabel = "engineLabel"
MachineFieldEngineOpt = "engineOpt"
MachineFieldEngineRegistryMirror = "engineRegistryMirror"
MachineFieldEngineStorageDriver = "engineStorageDriver"
MachineFieldExternalID = "externalId"
MachineFieldHostname = "hostname"
MachineFieldId = "id"
MachineFieldLabels = "labels"
MachineFieldMachineTemplateId = "machineTemplateId"
MachineFieldName = "name"
MachineFieldOwnerReferences = "ownerReferences"
MachineFieldRemoved = "removed"
MachineFieldResourcePath = "resourcePath"
MachineFieldState = "state"
MachineFieldStatus = "status"
MachineFieldTransitioning = "transitioning"
MachineFieldTransitioningMessage = "transitioningMessage"
MachineFieldUuid = "uuid"
)
type Machine struct {
types.Resource
AmazonEC2Config *AmazonEC2Config `json:"amazonEc2Config,omitempty"`
Annotations map[string]string `json:"annotations,omitempty"`
AuthCertificateAuthority string `json:"authCertificateAuthority,omitempty"`
AuthKey string `json:"authKey,omitempty"`
AzureConfig *AzureConfig `json:"azureConfig,omitempty"`
ClusterId string `json:"clusterId,omitempty"`
Created string `json:"created,omitempty"`
Description string `json:"description,omitempty"`
DigitalOceanConfig *DigitalOceanConfig `json:"digitalOceanConfig,omitempty"`
DockerVersion string `json:"dockerVersion,omitempty"`
Driver string `json:"driver,omitempty"`
EngineEnv map[string]string `json:"engineEnv,omitempty"`
EngineInsecureRegistry []string `json:"engineInsecureRegistry,omitempty"`
EngineInstallURL string `json:"engineInstallURL,omitempty"`
EngineLabel map[string]string `json:"engineLabel,omitempty"`
EngineOpt map[string]string `json:"engineOpt,omitempty"`
EngineRegistryMirror []string `json:"engineRegistryMirror,omitempty"`
EngineStorageDriver string `json:"engineStorageDriver,omitempty"`
ExternalID string `json:"externalId,omitempty"`
Hostname string `json:"hostname,omitempty"`
Id string `json:"id,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
MachineTemplateId string `json:"machineTemplateId,omitempty"`
Name string `json:"name,omitempty"`
OwnerReferences []OwnerReference `json:"ownerReferences,omitempty"`
Removed string `json:"removed,omitempty"`
ResourcePath string `json:"resourcePath,omitempty"`
State string `json:"state,omitempty"`
Status *MachineStatus `json:"status,omitempty"`
Transitioning string `json:"transitioning,omitempty"`
TransitioningMessage string `json:"transitioningMessage,omitempty"`
Uuid string `json:"uuid,omitempty"`
}
type MachineCollection struct {
types.Collection
Data []Machine `json:"data,omitempty"`
client *MachineClient
}
type MachineClient struct {
apiClient *Client
}
type MachineOperations interface {
List(opts *types.ListOpts) (*MachineCollection, error)
Create(opts *Machine) (*Machine, error)
Update(existing *Machine, updates interface{}) (*Machine, error)
ByID(id string) (*Machine, error)
Delete(container *Machine) error
}
func newMachineClient(apiClient *Client) *MachineClient {
return &MachineClient{
apiClient: apiClient,
}
}
func (c *MachineClient) Create(container *Machine) (*Machine, error) {
resp := &Machine{}
err := c.apiClient.Ops.DoCreate(MachineType, container, resp)
return resp, err
}
func (c *MachineClient) Update(existing *Machine, updates interface{}) (*Machine, error) {
resp := &Machine{}
err := c.apiClient.Ops.DoUpdate(MachineType, &existing.Resource, updates, resp)
return resp, err
}
func (c *MachineClient) List(opts *types.ListOpts) (*MachineCollection, error) {
resp := &MachineCollection{}
err := c.apiClient.Ops.DoList(MachineType, opts, resp)
resp.client = c
return resp, err
}
func (cc *MachineCollection) Next() (*MachineCollection, error) {
if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" {
resp := &MachineCollection{}
err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp)
resp.client = cc.client
return resp, err
}
return nil, nil
}
func (c *MachineClient) ByID(id string) (*Machine, error) {
resp := &Machine{}
err := c.apiClient.Ops.DoByID(MachineType, id, resp)
return resp, err
}
func (c *MachineClient) Delete(container *Machine) error {
return c.apiClient.Ops.DoResourceDelete(MachineType, &container.Resource)
}

View File

@@ -1,18 +0,0 @@
package client
const (
MachineConditionType = "machineCondition"
MachineConditionFieldLastTransitionTime = "lastTransitionTime"
MachineConditionFieldLastUpdateTime = "lastUpdateTime"
MachineConditionFieldReason = "reason"
MachineConditionFieldStatus = "status"
MachineConditionFieldType = "type"
)
type MachineCondition struct {
LastTransitionTime string `json:"lastTransitionTime,omitempty"`
LastUpdateTime string `json:"lastUpdateTime,omitempty"`
Reason string `json:"reason,omitempty"`
Status string `json:"status,omitempty"`
Type string `json:"type,omitempty"`
}

View File

@@ -1,117 +0,0 @@
package client
import (
"github.com/rancher/norman/types"
)
const (
MachineDriverType = "machineDriver"
MachineDriverFieldActivateOnCreate = "activateOnCreate"
MachineDriverFieldAnnotations = "annotations"
MachineDriverFieldBuiltin = "builtin"
MachineDriverFieldChecksum = "checksum"
MachineDriverFieldCreated = "created"
MachineDriverFieldDefaultActive = "defaultActive"
MachineDriverFieldDescription = "description"
MachineDriverFieldExternalID = "externalId"
MachineDriverFieldId = "id"
MachineDriverFieldLabels = "labels"
MachineDriverFieldName = "name"
MachineDriverFieldOwnerReferences = "ownerReferences"
MachineDriverFieldRemoved = "removed"
MachineDriverFieldResourcePath = "resourcePath"
MachineDriverFieldState = "state"
MachineDriverFieldStatus = "status"
MachineDriverFieldTransitioning = "transitioning"
MachineDriverFieldTransitioningMessage = "transitioningMessage"
MachineDriverFieldUIURL = "uiUrl"
MachineDriverFieldURL = "url"
MachineDriverFieldUuid = "uuid"
)
type MachineDriver struct {
types.Resource
ActivateOnCreate *bool `json:"activateOnCreate,omitempty"`
Annotations map[string]string `json:"annotations,omitempty"`
Builtin *bool `json:"builtin,omitempty"`
Checksum string `json:"checksum,omitempty"`
Created string `json:"created,omitempty"`
DefaultActive *bool `json:"defaultActive,omitempty"`
Description string `json:"description,omitempty"`
ExternalID string `json:"externalId,omitempty"`
Id string `json:"id,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
OwnerReferences []OwnerReference `json:"ownerReferences,omitempty"`
Removed string `json:"removed,omitempty"`
ResourcePath string `json:"resourcePath,omitempty"`
State string `json:"state,omitempty"`
Status *MachineDriverStatus `json:"status,omitempty"`
Transitioning string `json:"transitioning,omitempty"`
TransitioningMessage string `json:"transitioningMessage,omitempty"`
UIURL string `json:"uiUrl,omitempty"`
URL string `json:"url,omitempty"`
Uuid string `json:"uuid,omitempty"`
}
type MachineDriverCollection struct {
types.Collection
Data []MachineDriver `json:"data,omitempty"`
client *MachineDriverClient
}
type MachineDriverClient struct {
apiClient *Client
}
type MachineDriverOperations interface {
List(opts *types.ListOpts) (*MachineDriverCollection, error)
Create(opts *MachineDriver) (*MachineDriver, error)
Update(existing *MachineDriver, updates interface{}) (*MachineDriver, error)
ByID(id string) (*MachineDriver, error)
Delete(container *MachineDriver) error
}
func newMachineDriverClient(apiClient *Client) *MachineDriverClient {
return &MachineDriverClient{
apiClient: apiClient,
}
}
func (c *MachineDriverClient) Create(container *MachineDriver) (*MachineDriver, error) {
resp := &MachineDriver{}
err := c.apiClient.Ops.DoCreate(MachineDriverType, container, resp)
return resp, err
}
func (c *MachineDriverClient) Update(existing *MachineDriver, updates interface{}) (*MachineDriver, error) {
resp := &MachineDriver{}
err := c.apiClient.Ops.DoUpdate(MachineDriverType, &existing.Resource, updates, resp)
return resp, err
}
func (c *MachineDriverClient) List(opts *types.ListOpts) (*MachineDriverCollection, error) {
resp := &MachineDriverCollection{}
err := c.apiClient.Ops.DoList(MachineDriverType, opts, resp)
resp.client = c
return resp, err
}
func (cc *MachineDriverCollection) Next() (*MachineDriverCollection, error) {
if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" {
resp := &MachineDriverCollection{}
err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp)
resp.client = cc.client
return resp, err
}
return nil, nil
}
func (c *MachineDriverClient) ByID(id string) (*MachineDriver, error) {
resp := &MachineDriver{}
err := c.apiClient.Ops.DoByID(MachineDriverType, id, resp)
return resp, err
}
func (c *MachineDriverClient) Delete(container *MachineDriver) error {
return c.apiClient.Ops.DoResourceDelete(MachineDriverType, &container.Resource)
}

View File

@@ -1,18 +0,0 @@
package client
const (
MachineDriverConditionType = "machineDriverCondition"
MachineDriverConditionFieldLastTransitionTime = "lastTransitionTime"
MachineDriverConditionFieldLastUpdateTime = "lastUpdateTime"
MachineDriverConditionFieldReason = "reason"
MachineDriverConditionFieldStatus = "status"
MachineDriverConditionFieldType = "type"
)
type MachineDriverCondition struct {
LastTransitionTime string `json:"lastTransitionTime,omitempty"`
LastUpdateTime string `json:"lastUpdateTime,omitempty"`
Reason string `json:"reason,omitempty"`
Status string `json:"status,omitempty"`
Type string `json:"type,omitempty"`
}

View File

@@ -1,26 +0,0 @@
package client
const (
MachineDriverSpecType = "machineDriverSpec"
MachineDriverSpecFieldActivateOnCreate = "activateOnCreate"
MachineDriverSpecFieldBuiltin = "builtin"
MachineDriverSpecFieldChecksum = "checksum"
MachineDriverSpecFieldDefaultActive = "defaultActive"
MachineDriverSpecFieldDescription = "description"
MachineDriverSpecFieldDisplayName = "displayName"
MachineDriverSpecFieldExternalID = "externalId"
MachineDriverSpecFieldUIURL = "uiUrl"
MachineDriverSpecFieldURL = "url"
)
type MachineDriverSpec struct {
ActivateOnCreate *bool `json:"activateOnCreate,omitempty"`
Builtin *bool `json:"builtin,omitempty"`
Checksum string `json:"checksum,omitempty"`
DefaultActive *bool `json:"defaultActive,omitempty"`
Description string `json:"description,omitempty"`
DisplayName string `json:"displayName,omitempty"`
ExternalID string `json:"externalId,omitempty"`
UIURL string `json:"uiUrl,omitempty"`
URL string `json:"url,omitempty"`
}

View File

@@ -1,10 +0,0 @@
package client
const (
MachineDriverStatusType = "machineDriverStatus"
MachineDriverStatusFieldConditions = "conditions"
)
type MachineDriverStatus struct {
Conditions []MachineDriverCondition `json:"conditions,omitempty"`
}

View File

@@ -1,48 +0,0 @@
package client
const (
MachineSpecType = "machineSpec"
MachineSpecFieldAmazonEC2Config = "amazonEc2Config"
MachineSpecFieldAuthCertificateAuthority = "authCertificateAuthority"
MachineSpecFieldAuthKey = "authKey"
MachineSpecFieldAzureConfig = "azureConfig"
MachineSpecFieldClusterId = "clusterId"
MachineSpecFieldDescription = "description"
MachineSpecFieldDigitalOceanConfig = "digitalOceanConfig"
MachineSpecFieldDisplayName = "displayName"
MachineSpecFieldDockerVersion = "dockerVersion"
MachineSpecFieldDriver = "driver"
MachineSpecFieldEngineEnv = "engineEnv"
MachineSpecFieldEngineInsecureRegistry = "engineInsecureRegistry"
MachineSpecFieldEngineInstallURL = "engineInstallURL"
MachineSpecFieldEngineLabel = "engineLabel"
MachineSpecFieldEngineOpt = "engineOpt"
MachineSpecFieldEngineRegistryMirror = "engineRegistryMirror"
MachineSpecFieldEngineStorageDriver = "engineStorageDriver"
MachineSpecFieldExternalID = "externalId"
MachineSpecFieldHostname = "hostname"
MachineSpecFieldMachineTemplateId = "machineTemplateId"
)
type MachineSpec struct {
AmazonEC2Config *AmazonEC2Config `json:"amazonEc2Config,omitempty"`
AuthCertificateAuthority string `json:"authCertificateAuthority,omitempty"`
AuthKey string `json:"authKey,omitempty"`
AzureConfig *AzureConfig `json:"azureConfig,omitempty"`
ClusterId string `json:"clusterId,omitempty"`
Description string `json:"description,omitempty"`
DigitalOceanConfig *DigitalOceanConfig `json:"digitalOceanConfig,omitempty"`
DisplayName string `json:"displayName,omitempty"`
DockerVersion string `json:"dockerVersion,omitempty"`
Driver string `json:"driver,omitempty"`
EngineEnv map[string]string `json:"engineEnv,omitempty"`
EngineInsecureRegistry []string `json:"engineInsecureRegistry,omitempty"`
EngineInstallURL string `json:"engineInstallURL,omitempty"`
EngineLabel map[string]string `json:"engineLabel,omitempty"`
EngineOpt map[string]string `json:"engineOpt,omitempty"`
EngineRegistryMirror []string `json:"engineRegistryMirror,omitempty"`
EngineStorageDriver string `json:"engineStorageDriver,omitempty"`
ExternalID string `json:"externalId,omitempty"`
Hostname string `json:"hostname,omitempty"`
MachineTemplateId string `json:"machineTemplateId,omitempty"`
}

View File

@@ -1,10 +0,0 @@
package client
const (
MachineStatusType = "machineStatus"
MachineStatusFieldConditions = "conditions"
)
type MachineStatus struct {
Conditions []MachineCondition `json:"conditions,omitempty"`
}

View File

@@ -1,113 +0,0 @@
package client
import (
"github.com/rancher/norman/types"
)
const (
MachineTemplateType = "machineTemplate"
MachineTemplateFieldAnnotations = "annotations"
MachineTemplateFieldCreated = "created"
MachineTemplateFieldDescription = "description"
MachineTemplateFieldDriver = "driver"
MachineTemplateFieldFlavorPrefix = "flavorPrefix"
MachineTemplateFieldId = "id"
MachineTemplateFieldLabels = "labels"
MachineTemplateFieldName = "name"
MachineTemplateFieldOwnerReferences = "ownerReferences"
MachineTemplateFieldPublicValues = "publicValues"
MachineTemplateFieldRemoved = "removed"
MachineTemplateFieldResourcePath = "resourcePath"
MachineTemplateFieldSecretId = "secretId"
MachineTemplateFieldSecretValues = "secretValues"
MachineTemplateFieldState = "state"
MachineTemplateFieldStatus = "status"
MachineTemplateFieldTransitioning = "transitioning"
MachineTemplateFieldTransitioningMessage = "transitioningMessage"
MachineTemplateFieldUuid = "uuid"
)
type MachineTemplate struct {
types.Resource
Annotations map[string]string `json:"annotations,omitempty"`
Created string `json:"created,omitempty"`
Description string `json:"description,omitempty"`
Driver string `json:"driver,omitempty"`
FlavorPrefix string `json:"flavorPrefix,omitempty"`
Id string `json:"id,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
OwnerReferences []OwnerReference `json:"ownerReferences,omitempty"`
PublicValues map[string]string `json:"publicValues,omitempty"`
Removed string `json:"removed,omitempty"`
ResourcePath string `json:"resourcePath,omitempty"`
SecretId string `json:"secretId,omitempty"`
SecretValues map[string]string `json:"secretValues,omitempty"`
State string `json:"state,omitempty"`
Status *MachineTemplateStatus `json:"status,omitempty"`
Transitioning string `json:"transitioning,omitempty"`
TransitioningMessage string `json:"transitioningMessage,omitempty"`
Uuid string `json:"uuid,omitempty"`
}
type MachineTemplateCollection struct {
types.Collection
Data []MachineTemplate `json:"data,omitempty"`
client *MachineTemplateClient
}
type MachineTemplateClient struct {
apiClient *Client
}
type MachineTemplateOperations interface {
List(opts *types.ListOpts) (*MachineTemplateCollection, error)
Create(opts *MachineTemplate) (*MachineTemplate, error)
Update(existing *MachineTemplate, updates interface{}) (*MachineTemplate, error)
ByID(id string) (*MachineTemplate, error)
Delete(container *MachineTemplate) error
}
func newMachineTemplateClient(apiClient *Client) *MachineTemplateClient {
return &MachineTemplateClient{
apiClient: apiClient,
}
}
func (c *MachineTemplateClient) Create(container *MachineTemplate) (*MachineTemplate, error) {
resp := &MachineTemplate{}
err := c.apiClient.Ops.DoCreate(MachineTemplateType, container, resp)
return resp, err
}
func (c *MachineTemplateClient) Update(existing *MachineTemplate, updates interface{}) (*MachineTemplate, error) {
resp := &MachineTemplate{}
err := c.apiClient.Ops.DoUpdate(MachineTemplateType, &existing.Resource, updates, resp)
return resp, err
}
func (c *MachineTemplateClient) List(opts *types.ListOpts) (*MachineTemplateCollection, error) {
resp := &MachineTemplateCollection{}
err := c.apiClient.Ops.DoList(MachineTemplateType, opts, resp)
resp.client = c
return resp, err
}
func (cc *MachineTemplateCollection) Next() (*MachineTemplateCollection, error) {
if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" {
resp := &MachineTemplateCollection{}
err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp)
resp.client = cc.client
return resp, err
}
return nil, nil
}
func (c *MachineTemplateClient) ByID(id string) (*MachineTemplate, error) {
resp := &MachineTemplate{}
err := c.apiClient.Ops.DoByID(MachineTemplateType, id, resp)
return resp, err
}
func (c *MachineTemplateClient) Delete(container *MachineTemplate) error {
return c.apiClient.Ops.DoResourceDelete(MachineTemplateType, &container.Resource)
}

View File

@@ -1,18 +0,0 @@
package client
const (
MachineTemplateConditionType = "machineTemplateCondition"
MachineTemplateConditionFieldLastTransitionTime = "lastTransitionTime"
MachineTemplateConditionFieldLastUpdateTime = "lastUpdateTime"
MachineTemplateConditionFieldReason = "reason"
MachineTemplateConditionFieldStatus = "status"
MachineTemplateConditionFieldType = "type"
)
type MachineTemplateCondition struct {
LastTransitionTime string `json:"lastTransitionTime,omitempty"`
LastUpdateTime string `json:"lastUpdateTime,omitempty"`
Reason string `json:"reason,omitempty"`
Status string `json:"status,omitempty"`
Type string `json:"type,omitempty"`
}

View File

@@ -1,22 +0,0 @@
package client
const (
MachineTemplateSpecType = "machineTemplateSpec"
MachineTemplateSpecFieldDescription = "description"
MachineTemplateSpecFieldDisplayName = "displayName"
MachineTemplateSpecFieldDriver = "driver"
MachineTemplateSpecFieldFlavorPrefix = "flavorPrefix"
MachineTemplateSpecFieldPublicValues = "publicValues"
MachineTemplateSpecFieldSecretId = "secretId"
MachineTemplateSpecFieldSecretValues = "secretValues"
)
type MachineTemplateSpec struct {
Description string `json:"description,omitempty"`
DisplayName string `json:"displayName,omitempty"`
Driver string `json:"driver,omitempty"`
FlavorPrefix string `json:"flavorPrefix,omitempty"`
PublicValues map[string]string `json:"publicValues,omitempty"`
SecretId string `json:"secretId,omitempty"`
SecretValues map[string]string `json:"secretValues,omitempty"`
}

View File

@@ -1,10 +0,0 @@
package client
const (
MachineTemplateStatusType = "machineTemplateStatus"
MachineTemplateStatusFieldConditions = "conditions"
)
type MachineTemplateStatus struct {
Conditions []MachineTemplateCondition `json:"conditions,omitempty"`
}

View File

@@ -1,12 +0,0 @@
package client
const (
NetworkConfigType = "networkConfig"
NetworkConfigFieldOptions = "options"
NetworkConfigFieldPlugin = "plugin"
)
type NetworkConfig struct {
Options map[string]string `json:"options,omitempty"`
Plugin string `json:"plugin,omitempty"`
}

View File

@@ -1,22 +0,0 @@
package client
const (
RancherKubernetesEngineConfigType = "rancherKubernetesEngineConfig"
RancherKubernetesEngineConfigFieldAddons = "addons"
RancherKubernetesEngineConfigFieldAuthentication = "auth"
RancherKubernetesEngineConfigFieldNetwork = "network"
RancherKubernetesEngineConfigFieldNodes = "nodes"
RancherKubernetesEngineConfigFieldSSHKeyPath = "sshKeyPath"
RancherKubernetesEngineConfigFieldServices = "services"
RancherKubernetesEngineConfigFieldSystemImages = "systemImages"
)
type RancherKubernetesEngineConfig struct {
Addons string `json:"addons,omitempty"`
Authentication *AuthConfig `json:"auth,omitempty"`
Network *NetworkConfig `json:"network,omitempty"`
Nodes []RKEConfigNode `json:"nodes,omitempty"`
SSHKeyPath string `json:"sshKeyPath,omitempty"`
Services *RKEConfigServices `json:"services,omitempty"`
SystemImages map[string]string `json:"systemImages,omitempty"`
}

View File

@@ -1,24 +0,0 @@
package client
const (
RKEConfigNodeType = "rkeConfigNode"
RKEConfigNodeFieldAddress = "address"
RKEConfigNodeFieldDockerSocket = "dockerSocket"
RKEConfigNodeFieldHostnameOverride = "hostnameOverride"
RKEConfigNodeFieldInternalAddress = "internalAddress"
RKEConfigNodeFieldRole = "role"
RKEConfigNodeFieldSSHKey = "sshKey"
RKEConfigNodeFieldSSHKeyPath = "sshKeyPath"
RKEConfigNodeFieldUser = "user"
)
type RKEConfigNode struct {
Address string `json:"address,omitempty"`
DockerSocket string `json:"dockerSocket,omitempty"`
HostnameOverride string `json:"hostnameOverride,omitempty"`
InternalAddress string `json:"internalAddress,omitempty"`
Role []string `json:"role,omitempty"`
SSHKey string `json:"sshKey,omitempty"`
SSHKeyPath string `json:"sshKeyPath,omitempty"`
User string `json:"user,omitempty"`
}

View File

@@ -1,20 +0,0 @@
package client
const (
RKEConfigServicesType = "rkeConfigServices"
RKEConfigServicesFieldEtcd = "etcd"
RKEConfigServicesFieldKubeAPI = "kubeApi"
RKEConfigServicesFieldKubeController = "kubeController"
RKEConfigServicesFieldKubelet = "kubelet"
RKEConfigServicesFieldKubeproxy = "kubeproxy"
RKEConfigServicesFieldScheduler = "scheduler"
)
type RKEConfigServices struct {
Etcd *ETCDService `json:"etcd,omitempty"`
KubeAPI *KubeAPIService `json:"kubeApi,omitempty"`
KubeController *KubeControllerService `json:"kubeController,omitempty"`
Kubelet *KubeletService `json:"kubelet,omitempty"`
Kubeproxy *KubeproxyService `json:"kubeproxy,omitempty"`
Scheduler *SchedulerService `json:"scheduler,omitempty"`
}

View File

@@ -1,12 +0,0 @@
package client
const (
SchedulerServiceType = "schedulerService"
SchedulerServiceFieldExtraArgs = "extraArgs"
SchedulerServiceFieldImage = "image"
)
type SchedulerService struct {
ExtraArgs map[string]string `json:"extraArgs,omitempty"`
Image string `json:"image,omitempty"`
}

View File

@@ -0,0 +1,10 @@
package client
const (
AttachedVolumeType = "attachedVolume"
AttachedVolumeFieldName = "name"
)
type AttachedVolume struct {
Name string `json:"name,omitempty"`
}

View File

@@ -0,0 +1,26 @@
package client
import (
"github.com/rancher/norman/clientbase"
)
type Client struct {
clientbase.APIBaseClient
Node NodeOperations
}
func NewClient(opts *clientbase.ClientOpts) (*Client, error) {
baseClient, err := clientbase.NewAPIClient(opts)
if err != nil {
return nil, err
}
client := &Client{
APIBaseClient: baseClient,
}
client.Node = newNodeClient(client)
return client, nil
}

View File

@@ -0,0 +1,10 @@
package client
const (
CPUInfoType = "cpuInfo"
CPUInfoFieldCount = "count"
)
type CPUInfo struct {
Count *int64 `json:"count,omitempty"`
}

View File

@@ -0,0 +1,12 @@
package client
const (
KubernetesInfoType = "kubernetesInfo"
KubernetesInfoFieldKubeProxyVersion = "kubeProxyVersion"
KubernetesInfoFieldKubeletVersion = "kubeletVersion"
)
type KubernetesInfo struct {
KubeProxyVersion string `json:"kubeProxyVersion,omitempty"`
KubeletVersion string `json:"kubeletVersion,omitempty"`
}

View File

@@ -0,0 +1,10 @@
package client
const (
MemoryInfoType = "memoryInfo"
MemoryInfoFieldMemTotalKiB = "memTotalKiB"
)
type MemoryInfo struct {
MemTotalKiB *int64 `json:"memTotalKiB,omitempty"`
}

View File

@@ -0,0 +1,127 @@
package client
import (
"github.com/rancher/norman/types"
)
const (
NodeType = "node"
NodeFieldAllocatable = "allocatable"
NodeFieldAnnotations = "annotations"
NodeFieldCapacity = "capacity"
NodeFieldConfigSource = "configSource"
NodeFieldCreated = "created"
NodeFieldExternalId = "externalId"
NodeFieldFinalizers = "finalizers"
NodeFieldHostname = "hostname"
NodeFieldIPAddress = "ipAddress"
NodeFieldInfo = "info"
NodeFieldLabels = "labels"
NodeFieldName = "name"
NodeFieldOwnerReferences = "ownerReferences"
NodeFieldPhase = "phase"
NodeFieldPodCIDR = "podCIDR"
NodeFieldProviderID = "providerID"
NodeFieldRemoved = "removed"
NodeFieldResourcePath = "resourcePath"
NodeFieldState = "state"
NodeFieldTaints = "taints"
NodeFieldTransitioning = "transitioning"
NodeFieldTransitioningMessage = "transitioningMessage"
NodeFieldUnschedulable = "unschedulable"
NodeFieldUuid = "uuid"
NodeFieldVolumesAttached = "volumesAttached"
NodeFieldVolumesInUse = "volumesInUse"
)
type Node struct {
types.Resource
Allocatable map[string]string `json:"allocatable,omitempty"`
Annotations map[string]string `json:"annotations,omitempty"`
Capacity map[string]string `json:"capacity,omitempty"`
ConfigSource *NodeConfigSource `json:"configSource,omitempty"`
Created string `json:"created,omitempty"`
ExternalId string `json:"externalId,omitempty"`
Finalizers []string `json:"finalizers,omitempty"`
Hostname string `json:"hostname,omitempty"`
IPAddress string `json:"ipAddress,omitempty"`
Info *NodeInfo `json:"info,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
OwnerReferences []OwnerReference `json:"ownerReferences,omitempty"`
Phase string `json:"phase,omitempty"`
PodCIDR string `json:"podCIDR,omitempty"`
ProviderID string `json:"providerID,omitempty"`
Removed string `json:"removed,omitempty"`
ResourcePath string `json:"resourcePath,omitempty"`
State string `json:"state,omitempty"`
Taints []Taint `json:"taints,omitempty"`
Transitioning string `json:"transitioning,omitempty"`
TransitioningMessage string `json:"transitioningMessage,omitempty"`
Unschedulable *bool `json:"unschedulable,omitempty"`
Uuid string `json:"uuid,omitempty"`
VolumesAttached map[string]AttachedVolume `json:"volumesAttached,omitempty"`
VolumesInUse []string `json:"volumesInUse,omitempty"`
}
type NodeCollection struct {
types.Collection
Data []Node `json:"data,omitempty"`
client *NodeClient
}
type NodeClient struct {
apiClient *Client
}
type NodeOperations interface {
List(opts *types.ListOpts) (*NodeCollection, error)
Create(opts *Node) (*Node, error)
Update(existing *Node, updates interface{}) (*Node, error)
ByID(id string) (*Node, error)
Delete(container *Node) error
}
func newNodeClient(apiClient *Client) *NodeClient {
return &NodeClient{
apiClient: apiClient,
}
}
func (c *NodeClient) Create(container *Node) (*Node, error) {
resp := &Node{}
err := c.apiClient.Ops.DoCreate(NodeType, container, resp)
return resp, err
}
func (c *NodeClient) Update(existing *Node, updates interface{}) (*Node, error) {
resp := &Node{}
err := c.apiClient.Ops.DoUpdate(NodeType, &existing.Resource, updates, resp)
return resp, err
}
func (c *NodeClient) List(opts *types.ListOpts) (*NodeCollection, error) {
resp := &NodeCollection{}
err := c.apiClient.Ops.DoList(NodeType, opts, resp)
resp.client = c
return resp, err
}
func (cc *NodeCollection) Next() (*NodeCollection, error) {
if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" {
resp := &NodeCollection{}
err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp)
resp.client = cc.client
return resp, err
}
return nil, nil
}
func (c *NodeClient) ByID(id string) (*Node, error) {
resp := &Node{}
err := c.apiClient.Ops.DoByID(NodeType, id, resp)
return resp, err
}
func (c *NodeClient) Delete(container *Node) error {
return c.apiClient.Ops.DoResourceDelete(NodeType, &container.Resource)
}

View File

@@ -0,0 +1,16 @@
package client
const (
NodeInfoType = "nodeInfo"
NodeInfoFieldCPU = "cpu"
NodeInfoFieldKubernetes = "kubernetes"
NodeInfoFieldMemory = "memory"
NodeInfoFieldOS = "os"
)
type NodeInfo struct {
CPU *CPUInfo `json:"cpu,omitempty"`
Kubernetes *KubernetesInfo `json:"kubernetes,omitempty"`
Memory *MemoryInfo `json:"memory,omitempty"`
OS *OSInfo `json:"os,omitempty"`
}

View File

@@ -3,7 +3,7 @@ package client
const (
NodeSpecType = "nodeSpec"
NodeSpecFieldConfigSource = "configSource"
NodeSpecFieldExternalID = "externalID"
NodeSpecFieldExternalId = "externalId"
NodeSpecFieldPodCIDR = "podCIDR"
NodeSpecFieldProviderID = "providerID"
NodeSpecFieldTaints = "taints"
@@ -12,7 +12,7 @@ const (
type NodeSpec struct {
ConfigSource *NodeConfigSource `json:"configSource,omitempty"`
ExternalID string `json:"externalID,omitempty"`
ExternalId string `json:"externalId,omitempty"`
PodCIDR string `json:"podCIDR,omitempty"`
ProviderID string `json:"providerID,omitempty"`
Taints []Taint `json:"taints,omitempty"`

View File

@@ -0,0 +1,26 @@
package client
const (
NodeStatusType = "nodeStatus"
NodeStatusFieldAllocatable = "allocatable"
NodeStatusFieldCapacity = "capacity"
NodeStatusFieldConditions = "conditions"
NodeStatusFieldHostname = "hostname"
NodeStatusFieldIPAddress = "ipAddress"
NodeStatusFieldInfo = "info"
NodeStatusFieldPhase = "phase"
NodeStatusFieldVolumesAttached = "volumesAttached"
NodeStatusFieldVolumesInUse = "volumesInUse"
)
type NodeStatus struct {
Allocatable map[string]string `json:"allocatable,omitempty"`
Capacity map[string]string `json:"capacity,omitempty"`
Conditions []NodeCondition `json:"conditions,omitempty"`
Hostname string `json:"hostname,omitempty"`
IPAddress string `json:"ipAddress,omitempty"`
Info *NodeInfo `json:"info,omitempty"`
Phase string `json:"phase,omitempty"`
VolumesAttached map[string]AttachedVolume `json:"volumesAttached,omitempty"`
VolumesInUse []string `json:"volumesInUse,omitempty"`
}

View File

@@ -4,6 +4,7 @@ const (
ObjectMetaType = "objectMeta"
ObjectMetaFieldAnnotations = "annotations"
ObjectMetaFieldCreated = "created"
ObjectMetaFieldFinalizers = "finalizers"
ObjectMetaFieldLabels = "labels"
ObjectMetaFieldName = "name"
ObjectMetaFieldNamespace = "namespace"
@@ -16,6 +17,7 @@ const (
type ObjectMeta struct {
Annotations map[string]string `json:"annotations,omitempty"`
Created string `json:"created,omitempty"`
Finalizers []string `json:"finalizers,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`

View File

@@ -0,0 +1,14 @@
package client
const (
OSInfoType = "osInfo"
OSInfoFieldDockerVersion = "dockerVersion"
OSInfoFieldKernelVersion = "kernelVersion"
OSInfoFieldOperatingSystem = "operatingSystem"
)
type OSInfo struct {
DockerVersion string `json:"dockerVersion,omitempty"`
KernelVersion string `json:"kernelVersion,omitempty"`
OperatingSystem string `json:"operatingSystem,omitempty"`
}