1
0
mirror of https://github.com/rancher/types.git synced 2025-09-03 06:04:24 +00:00

Update generated code

This commit is contained in:
Darren Shepherd
2017-11-14 21:49:10 -07:00
parent 85da50f4b0
commit c7ac48602e
53 changed files with 1304 additions and 134 deletions

View File

@@ -9,15 +9,16 @@ const (
ClusterFieldAPIVersion = "apiVersion"
ClusterFieldAnnotations = "annotations"
ClusterFieldAzureKubernetesServiceConfig = "azureKubernetesServiceConfig"
ClusterFieldCreated = "created"
ClusterFieldCreationTimestamp = "creationTimestamp"
ClusterFieldDeletionTimestamp = "deletionTimestamp"
ClusterFieldGoogleKubernetesEngineConfig = "googleKubernetesEngineConfig"
ClusterFieldKind = "kind"
ClusterFieldLabels = "labels"
ClusterFieldName = "name"
ClusterFieldNamespace = "namespace"
ClusterFieldRancherKubernetesEngineConfig = "rancherKubernetesEngineConfig"
ClusterFieldRemoved = "removed"
ClusterFieldUuid = "uuid"
ClusterFieldStatus = "status"
ClusterFieldUID = "uid"
)
type Cluster struct {
@@ -25,15 +26,16 @@ type Cluster struct {
APIVersion string `json:"apiVersion,omitempty"`
Annotations map[string]string `json:"annotations,omitempty"`
AzureKubernetesServiceConfig *AzureKubernetesServiceConfig `json:"azureKubernetesServiceConfig,omitempty"`
Created string `json:"created,omitempty"`
CreationTimestamp string `json:"creationTimestamp,omitempty"`
DeletionTimestamp string `json:"deletionTimestamp,omitempty"`
GoogleKubernetesEngineConfig *GoogleKubernetesEngineConfig `json:"googleKubernetesEngineConfig,omitempty"`
Kind string `json:"kind,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
RancherKubernetesEngineConfig *RancherKubernetesEngineConfig `json:"rancherKubernetesEngineConfig,omitempty"`
Removed string `json:"removed,omitempty"`
Uuid string `json:"uuid,omitempty"`
Status *ClusterStatus `json:"status,omitempty"`
UID string `json:"uid,omitempty"`
}
type ClusterCollection struct {
types.Collection

View File

@@ -5,41 +5,43 @@ import (
)
const (
ClusterNodeType = "clusterNode"
ClusterNodeFieldAPIVersion = "apiVersion"
ClusterNodeFieldAnnotations = "annotations"
ClusterNodeFieldConfigSource = "configSource"
ClusterNodeFieldCreated = "created"
ClusterNodeFieldExternalID = "externalID"
ClusterNodeFieldKind = "kind"
ClusterNodeFieldLabels = "labels"
ClusterNodeFieldName = "name"
ClusterNodeFieldNamespace = "namespace"
ClusterNodeFieldPodCIDR = "podCIDR"
ClusterNodeFieldProviderID = "providerID"
ClusterNodeFieldRemoved = "removed"
ClusterNodeFieldTaints = "taints"
ClusterNodeFieldUnschedulable = "unschedulable"
ClusterNodeFieldUuid = "uuid"
ClusterNodeType = "clusterNode"
ClusterNodeFieldAPIVersion = "apiVersion"
ClusterNodeFieldAnnotations = "annotations"
ClusterNodeFieldConfigSource = "configSource"
ClusterNodeFieldCreationTimestamp = "creationTimestamp"
ClusterNodeFieldDeletionTimestamp = "deletionTimestamp"
ClusterNodeFieldExternalID = "externalID"
ClusterNodeFieldKind = "kind"
ClusterNodeFieldLabels = "labels"
ClusterNodeFieldName = "name"
ClusterNodeFieldNamespace = "namespace"
ClusterNodeFieldPodCIDR = "podCIDR"
ClusterNodeFieldProviderID = "providerID"
ClusterNodeFieldStatus = "status"
ClusterNodeFieldTaints = "taints"
ClusterNodeFieldUID = "uid"
ClusterNodeFieldUnschedulable = "unschedulable"
)
type ClusterNode struct {
types.Resource
APIVersion string `json:"apiVersion,omitempty"`
Annotations map[string]string `json:"annotations,omitempty"`
ConfigSource *NodeConfigSource `json:"configSource,omitempty"`
Created string `json:"created,omitempty"`
ExternalID string `json:"externalID,omitempty"`
Kind string `json:"kind,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
PodCIDR string `json:"podCIDR,omitempty"`
ProviderID string `json:"providerID,omitempty"`
Removed string `json:"removed,omitempty"`
Taints []Taint `json:"taints,omitempty"`
Unschedulable bool `json:"unschedulable,omitempty"`
Uuid string `json:"uuid,omitempty"`
APIVersion string `json:"apiVersion,omitempty"`
Annotations map[string]string `json:"annotations,omitempty"`
ConfigSource *NodeConfigSource `json:"configSource,omitempty"`
CreationTimestamp string `json:"creationTimestamp,omitempty"`
DeletionTimestamp string `json:"deletionTimestamp,omitempty"`
ExternalID string `json:"externalID,omitempty"`
Kind string `json:"kind,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
PodCIDR string `json:"podCIDR,omitempty"`
ProviderID string `json:"providerID,omitempty"`
Status NodeStatus `json:"status,omitempty"`
Taints []Taint `json:"taints,omitempty"`
UID string `json:"uid,omitempty"`
Unschedulable bool `json:"unschedulable,omitempty"`
}
type ClusterNodeCollection struct {
types.Collection

View File

@@ -1,22 +1,22 @@
package client
const (
ObjectMetaType = "objectMeta"
ObjectMetaFieldAnnotations = "annotations"
ObjectMetaFieldCreated = "created"
ObjectMetaFieldLabels = "labels"
ObjectMetaFieldName = "name"
ObjectMetaFieldNamespace = "namespace"
ObjectMetaFieldRemoved = "removed"
ObjectMetaFieldUuid = "uuid"
ObjectMetaType = "objectMeta"
ObjectMetaFieldAnnotations = "annotations"
ObjectMetaFieldCreationTimestamp = "creationTimestamp"
ObjectMetaFieldDeletionTimestamp = "deletionTimestamp"
ObjectMetaFieldLabels = "labels"
ObjectMetaFieldName = "name"
ObjectMetaFieldNamespace = "namespace"
ObjectMetaFieldUID = "uid"
)
type ObjectMeta struct {
Annotations map[string]string `json:"annotations,omitempty"`
Created string `json:"created,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
Removed string `json:"removed,omitempty"`
Uuid string `json:"uuid,omitempty"`
Annotations map[string]string `json:"annotations,omitempty"`
CreationTimestamp string `json:"creationTimestamp,omitempty"`
DeletionTimestamp string `json:"deletionTimestamp,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
UID string `json:"uid,omitempty"`
}

View File

@@ -0,0 +1,12 @@
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 +1,12 @@
package client
const (
CapabilitiesType = "capabilities"
CapabilitiesFieldCapAdd = "capAdd"
CapabilitiesFieldCapDrop = "capDrop"
CapabilitiesType = "capabilities"
CapabilitiesFieldAdd = "add"
CapabilitiesFieldDrop = "drop"
)
type Capabilities struct {
CapAdd []string `json:"capAdd,omitempty"`
CapDrop []string `json:"capDrop,omitempty"`
Add []string `json:"add,omitempty"`
Drop []string `json:"drop,omitempty"`
}

View File

@@ -7,7 +7,13 @@ import (
type Client struct {
clientbase.APIBaseClient
Pod PodOperations
Pod PodOperations
Namespace NamespaceOperations
Node NodeOperations
ReplicaSet ReplicaSetOperations
Deployment DeploymentOperations
PersistentVolumeClaim PersistentVolumeClaimOperations
StatefulSet StatefulSetOperations
}
func NewClient(opts *clientbase.ClientOpts) (*Client, error) {
@@ -21,6 +27,12 @@ func NewClient(opts *clientbase.ClientOpts) (*Client, error) {
}
client.Pod = newPodClient(client)
client.Namespace = newNamespaceClient(client)
client.Node = newNodeClient(client)
client.ReplicaSet = newReplicaSetClient(client)
client.Deployment = newDeploymentClient(client)
client.PersistentVolumeClaim = newPersistentVolumeClaimClient(client)
client.StatefulSet = newStatefulSetClient(client)
return client, nil
}

View File

@@ -2,65 +2,65 @@ package client
const (
ContainerType = "container"
ContainerFieldAdd = "add"
ContainerFieldAllowPrivilegeEscalation = "allowPrivilegeEscalation"
ContainerFieldCapAdd = "capAdd"
ContainerFieldCapDrop = "capDrop"
ContainerFieldArgs = "args"
ContainerFieldCommand = "command"
ContainerFieldEntrypoint = "entrypoint"
ContainerFieldDrop = "drop"
ContainerFieldEnvironment = "environment"
ContainerFieldEnvironmentFrom = "environmentFrom"
ContainerFieldHealthcheck = "healthcheck"
ContainerFieldImage = "image"
ContainerFieldImagePullPolicy = "imagePullPolicy"
ContainerFieldInitContainer = "initContainer"
ContainerFieldLivenessProbe = "livenessProbe"
ContainerFieldName = "name"
ContainerFieldPorts = "ports"
ContainerFieldPostStart = "postStart"
ContainerFieldPreStop = "preStop"
ContainerFieldPrivileged = "privileged"
ContainerFieldPullPolicy = "pullPolicy"
ContainerFieldReadOnly = "readOnly"
ContainerFieldReadycheck = "readycheck"
ContainerFieldReadOnlyRootFilesystem = "readOnlyRootFilesystem"
ContainerFieldReadinessProbe = "readinessProbe"
ContainerFieldResources = "resources"
ContainerFieldRunAsNonRoot = "runAsNonRoot"
ContainerFieldRunAsUser = "runAsUser"
ContainerFieldScheduling = "scheduling"
ContainerFieldStdin = "stdin"
ContainerFieldStdinOnce = "stdinOnce"
ContainerFieldTTY = "tty"
ContainerFieldTerminationMessagePath = "terminationMessagePath"
ContainerFieldTerminationMessagePolicy = "terminationMessagePolicy"
ContainerFieldUid = "uid"
ContainerFieldVolumeMounts = "volumeMounts"
ContainerFieldWorkingDir = "workingDir"
)
type Container struct {
Add []string `json:"add,omitempty"`
AllowPrivilegeEscalation *bool `json:"allowPrivilegeEscalation,omitempty"`
CapAdd []string `json:"capAdd,omitempty"`
CapDrop []string `json:"capDrop,omitempty"`
Args []string `json:"args,omitempty"`
Command []string `json:"command,omitempty"`
Entrypoint []string `json:"entrypoint,omitempty"`
Drop []string `json:"drop,omitempty"`
Environment map[string]string `json:"environment,omitempty"`
EnvironmentFrom []EnvironmentFrom `json:"environmentFrom,omitempty"`
Healthcheck *Probe `json:"healthcheck,omitempty"`
Image string `json:"image,omitempty"`
ImagePullPolicy string `json:"imagePullPolicy,omitempty"`
InitContainer bool `json:"initContainer,omitempty"`
LivenessProbe *Probe `json:"livenessProbe,omitempty"`
Name string `json:"name,omitempty"`
Ports []ContainerPort `json:"ports,omitempty"`
PostStart *Handler `json:"postStart,omitempty"`
PreStop *Handler `json:"preStop,omitempty"`
Privileged *bool `json:"privileged,omitempty"`
PullPolicy string `json:"pullPolicy,omitempty"`
ReadOnly *bool `json:"readOnly,omitempty"`
Readycheck *Probe `json:"readycheck,omitempty"`
ReadOnlyRootFilesystem *bool `json:"readOnlyRootFilesystem,omitempty"`
ReadinessProbe *Probe `json:"readinessProbe,omitempty"`
Resources *Resources `json:"resources,omitempty"`
RunAsNonRoot *bool `json:"runAsNonRoot,omitempty"`
RunAsUser *int64 `json:"runAsUser,omitempty"`
Scheduling *Scheduling `json:"scheduling,omitempty"`
Stdin bool `json:"stdin,omitempty"`
StdinOnce bool `json:"stdinOnce,omitempty"`
TTY bool `json:"tty,omitempty"`
TerminationMessagePath string `json:"terminationMessagePath,omitempty"`
TerminationMessagePolicy string `json:"terminationMessagePolicy,omitempty"`
Uid *int64 `json:"uid,omitempty"`
VolumeMounts []VolumeMount `json:"volumeMounts,omitempty"`
WorkingDir string `json:"workingDir,omitempty"`
}

View File

@@ -0,0 +1,12 @@
package client
const (
ContainerImageType = "containerImage"
ContainerImageFieldNames = "names"
ContainerImageFieldSizeBytes = "sizeBytes"
)
type ContainerImage struct {
Names []string `json:"names,omitempty"`
SizeBytes int64 `json:"sizeBytes,omitempty"`
}

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,10 @@
package client
const (
DaemonEndpointType = "daemonEndpoint"
DaemonEndpointFieldPort = "port"
)
type DaemonEndpoint struct {
Port int64 `json:"port,omitempty"`
}

View File

@@ -0,0 +1,18 @@
package client
const (
DeployParamsType = "deployParams"
DeployParamsFieldMinReadySeconds = "minReadySeconds"
DeployParamsFieldPodManagementPolicy = "podManagementPolicy"
DeployParamsFieldProgressDeadlineSeconds = "progressDeadlineSeconds"
DeployParamsFieldReplicas = "replicas"
DeployParamsFieldRevisionHistoryLimit = "revisionHistoryLimit"
)
type DeployParams struct {
MinReadySeconds int64 `json:"minReadySeconds,omitempty"`
PodManagementPolicy string `json:"podManagementPolicy,omitempty"`
ProgressDeadlineSeconds *int64 `json:"progressDeadlineSeconds,omitempty"`
Replicas *int64 `json:"replicas,omitempty"`
RevisionHistoryLimit *int64 `json:"revisionHistoryLimit,omitempty"`
}

View File

@@ -0,0 +1,103 @@
package client
import (
"github.com/rancher/norman/types"
)
const (
DeploymentType = "deployment"
DeploymentFieldAPIVersion = "apiVersion"
DeploymentFieldAnnotations = "annotations"
DeploymentFieldCreationTimestamp = "creationTimestamp"
DeploymentFieldDeletionTimestamp = "deletionTimestamp"
DeploymentFieldDeploy = "deploy"
DeploymentFieldKind = "kind"
DeploymentFieldLabels = "labels"
DeploymentFieldName = "name"
DeploymentFieldNamespace = "namespace"
DeploymentFieldPaused = "paused"
DeploymentFieldStatus = "status"
DeploymentFieldStrategy = "strategy"
DeploymentFieldTemplate = "template"
DeploymentFieldUID = "uid"
)
type Deployment struct {
types.Resource
APIVersion string `json:"apiVersion,omitempty"`
Annotations map[string]string `json:"annotations,omitempty"`
CreationTimestamp string `json:"creationTimestamp,omitempty"`
DeletionTimestamp string `json:"deletionTimestamp,omitempty"`
Deploy *DeployParams `json:"deploy,omitempty"`
Kind string `json:"kind,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
Paused bool `json:"paused,omitempty"`
Status DeploymentStatus `json:"status,omitempty"`
Strategy DeploymentStrategy `json:"strategy,omitempty"`
Template PodTemplateSpec `json:"template,omitempty"`
UID string `json:"uid,omitempty"`
}
type DeploymentCollection struct {
types.Collection
Data []Deployment `json:"data,omitempty"`
client *DeploymentClient
}
type DeploymentClient struct {
apiClient *Client
}
type DeploymentOperations interface {
List(opts *types.ListOpts) (*DeploymentCollection, error)
Create(opts *Deployment) (*Deployment, error)
Update(existing *Deployment, updates interface{}) (*Deployment, error)
ByID(id string) (*Deployment, error)
Delete(container *Deployment) error
}
func newDeploymentClient(apiClient *Client) *DeploymentClient {
return &DeploymentClient{
apiClient: apiClient,
}
}
func (c *DeploymentClient) Create(container *Deployment) (*Deployment, error) {
resp := &Deployment{}
err := c.apiClient.Ops.DoCreate(DeploymentType, container, resp)
return resp, err
}
func (c *DeploymentClient) Update(existing *Deployment, updates interface{}) (*Deployment, error) {
resp := &Deployment{}
err := c.apiClient.Ops.DoUpdate(DeploymentType, &existing.Resource, updates, resp)
return resp, err
}
func (c *DeploymentClient) List(opts *types.ListOpts) (*DeploymentCollection, error) {
resp := &DeploymentCollection{}
err := c.apiClient.Ops.DoList(DeploymentType, opts, resp)
resp.client = c
return resp, err
}
func (cc *DeploymentCollection) Next() (*DeploymentCollection, error) {
if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" {
resp := &DeploymentCollection{}
err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp)
resp.client = cc.client
return resp, err
}
return nil, nil
}
func (c *DeploymentClient) ByID(id string) (*Deployment, error) {
resp := &Deployment{}
err := c.apiClient.Ops.DoByID(DeploymentType, id, resp)
return resp, err
}
func (c *DeploymentClient) Delete(container *Deployment) error {
return c.apiClient.Ops.DoResourceDelete(DeploymentType, &container.Resource)
}

View File

@@ -0,0 +1,20 @@
package client
const (
DeploymentConditionType = "deploymentCondition"
DeploymentConditionFieldLastTransitionTime = "lastTransitionTime"
DeploymentConditionFieldLastUpdateTime = "lastUpdateTime"
DeploymentConditionFieldMessage = "message"
DeploymentConditionFieldReason = "reason"
DeploymentConditionFieldStatus = "status"
DeploymentConditionFieldType = "type"
)
type DeploymentCondition struct {
LastTransitionTime string `json:"lastTransitionTime,omitempty"`
LastUpdateTime string `json:"lastUpdateTime,omitempty"`
Message string `json:"message,omitempty"`
Reason string `json:"reason,omitempty"`
Status string `json:"status,omitempty"`
Type string `json:"type,omitempty"`
}

View File

@@ -0,0 +1,16 @@
package client
const (
DeploymentSpecType = "deploymentSpec"
DeploymentSpecFieldDeploy = "deploy"
DeploymentSpecFieldPaused = "paused"
DeploymentSpecFieldStrategy = "strategy"
DeploymentSpecFieldTemplate = "template"
)
type DeploymentSpec struct {
Deploy *DeployParams `json:"deploy,omitempty"`
Paused bool `json:"paused,omitempty"`
Strategy DeploymentStrategy `json:"strategy,omitempty"`
Template PodTemplateSpec `json:"template,omitempty"`
}

View File

@@ -0,0 +1,24 @@
package client
const (
DeploymentStatusType = "deploymentStatus"
DeploymentStatusFieldAvailableReplicas = "availableReplicas"
DeploymentStatusFieldCollisionCount = "collisionCount"
DeploymentStatusFieldConditions = "conditions"
DeploymentStatusFieldObservedGeneration = "observedGeneration"
DeploymentStatusFieldReadyReplicas = "readyReplicas"
DeploymentStatusFieldReplicas = "replicas"
DeploymentStatusFieldUnavailableReplicas = "unavailableReplicas"
DeploymentStatusFieldUpdatedReplicas = "updatedReplicas"
)
type DeploymentStatus struct {
AvailableReplicas int64 `json:"availableReplicas,omitempty"`
CollisionCount *int64 `json:"collisionCount,omitempty"`
Conditions []DeploymentCondition `json:"conditions,omitempty"`
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
ReadyReplicas int64 `json:"readyReplicas,omitempty"`
Replicas int64 `json:"replicas,omitempty"`
UnavailableReplicas int64 `json:"unavailableReplicas,omitempty"`
UpdatedReplicas int64 `json:"updatedReplicas,omitempty"`
}

View File

@@ -0,0 +1,12 @@
package client
const (
DeploymentStrategyType = "deploymentStrategy"
DeploymentStrategyFieldRollingUpdate = "rollingUpdate"
DeploymentStrategyFieldType = "type"
)
type DeploymentStrategy struct {
RollingUpdate *RollingUpdateDeployment `json:"rollingUpdate,omitempty"`
Type string `json:"type,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,95 @@
package client
import (
"github.com/rancher/norman/types"
)
const (
NamespaceType = "namespace"
NamespaceFieldAPIVersion = "apiVersion"
NamespaceFieldAnnotations = "annotations"
NamespaceFieldCreationTimestamp = "creationTimestamp"
NamespaceFieldDeletionTimestamp = "deletionTimestamp"
NamespaceFieldKind = "kind"
NamespaceFieldLabels = "labels"
NamespaceFieldName = "name"
NamespaceFieldNamespace = "namespace"
NamespaceFieldStatus = "status"
NamespaceFieldUID = "uid"
)
type Namespace struct {
types.Resource
APIVersion string `json:"apiVersion,omitempty"`
Annotations map[string]string `json:"annotations,omitempty"`
CreationTimestamp string `json:"creationTimestamp,omitempty"`
DeletionTimestamp string `json:"deletionTimestamp,omitempty"`
Kind string `json:"kind,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
Status NamespaceStatus `json:"status,omitempty"`
UID string `json:"uid,omitempty"`
}
type NamespaceCollection struct {
types.Collection
Data []Namespace `json:"data,omitempty"`
client *NamespaceClient
}
type NamespaceClient struct {
apiClient *Client
}
type NamespaceOperations interface {
List(opts *types.ListOpts) (*NamespaceCollection, error)
Create(opts *Namespace) (*Namespace, error)
Update(existing *Namespace, updates interface{}) (*Namespace, error)
ByID(id string) (*Namespace, error)
Delete(container *Namespace) error
}
func newNamespaceClient(apiClient *Client) *NamespaceClient {
return &NamespaceClient{
apiClient: apiClient,
}
}
func (c *NamespaceClient) Create(container *Namespace) (*Namespace, error) {
resp := &Namespace{}
err := c.apiClient.Ops.DoCreate(NamespaceType, container, resp)
return resp, err
}
func (c *NamespaceClient) Update(existing *Namespace, updates interface{}) (*Namespace, error) {
resp := &Namespace{}
err := c.apiClient.Ops.DoUpdate(NamespaceType, &existing.Resource, updates, resp)
return resp, err
}
func (c *NamespaceClient) List(opts *types.ListOpts) (*NamespaceCollection, error) {
resp := &NamespaceCollection{}
err := c.apiClient.Ops.DoList(NamespaceType, opts, resp)
resp.client = c
return resp, err
}
func (cc *NamespaceCollection) Next() (*NamespaceCollection, error) {
if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" {
resp := &NamespaceCollection{}
err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp)
resp.client = cc.client
return resp, err
}
return nil, nil
}
func (c *NamespaceClient) ByID(id string) (*Namespace, error) {
resp := &Namespace{}
err := c.apiClient.Ops.DoByID(NamespaceType, id, resp)
return resp, err
}
func (c *NamespaceClient) Delete(container *Namespace) error {
return c.apiClient.Ops.DoResourceDelete(NamespaceType, &container.Resource)
}

View File

@@ -0,0 +1,8 @@
package client
const (
NamespaceSpecType = "namespaceSpec"
)
type NamespaceSpec struct {
}

View File

@@ -0,0 +1,8 @@
package client
const (
NamespaceStatusType = "namespaceStatus"
)
type NamespaceStatus struct {
}

View File

@@ -0,0 +1,107 @@
package client
import (
"github.com/rancher/norman/types"
)
const (
NodeType = "node"
NodeFieldAPIVersion = "apiVersion"
NodeFieldAnnotations = "annotations"
NodeFieldConfigSource = "configSource"
NodeFieldCreationTimestamp = "creationTimestamp"
NodeFieldDeletionTimestamp = "deletionTimestamp"
NodeFieldExternalID = "externalID"
NodeFieldKind = "kind"
NodeFieldLabels = "labels"
NodeFieldName = "name"
NodeFieldNamespace = "namespace"
NodeFieldPodCIDR = "podCIDR"
NodeFieldProviderID = "providerID"
NodeFieldStatus = "status"
NodeFieldTaints = "taints"
NodeFieldUID = "uid"
NodeFieldUnschedulable = "unschedulable"
)
type Node struct {
types.Resource
APIVersion string `json:"apiVersion,omitempty"`
Annotations map[string]string `json:"annotations,omitempty"`
ConfigSource *NodeConfigSource `json:"configSource,omitempty"`
CreationTimestamp string `json:"creationTimestamp,omitempty"`
DeletionTimestamp string `json:"deletionTimestamp,omitempty"`
ExternalID string `json:"externalID,omitempty"`
Kind string `json:"kind,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
PodCIDR string `json:"podCIDR,omitempty"`
ProviderID string `json:"providerID,omitempty"`
Status NodeStatus `json:"status,omitempty"`
Taints []Taint `json:"taints,omitempty"`
UID string `json:"uid,omitempty"`
Unschedulable bool `json:"unschedulable,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,12 @@
package client
const (
NodeAddressType = "nodeAddress"
NodeAddressFieldAddress = "address"
NodeAddressFieldType = "type"
)
type NodeAddress struct {
Address string `json:"address,omitempty"`
Type string `json:"type,omitempty"`
}

View File

@@ -0,0 +1,20 @@
package client
const (
NodeConditionType = "nodeCondition"
NodeConditionFieldLastHeartbeatTime = "lastHeartbeatTime"
NodeConditionFieldLastTransitionTime = "lastTransitionTime"
NodeConditionFieldMessage = "message"
NodeConditionFieldReason = "reason"
NodeConditionFieldStatus = "status"
NodeConditionFieldType = "type"
)
type NodeCondition struct {
LastHeartbeatTime string `json:"lastHeartbeatTime,omitempty"`
LastTransitionTime string `json:"lastTransitionTime,omitempty"`
Message string `json:"message,omitempty"`
Reason string `json:"reason,omitempty"`
Status string `json:"status,omitempty"`
Type string `json:"type,omitempty"`
}

View File

@@ -0,0 +1,14 @@
package client
const (
NodeConfigSourceType = "nodeConfigSource"
NodeConfigSourceFieldAPIVersion = "apiVersion"
NodeConfigSourceFieldConfigMapRef = "configMapRef"
NodeConfigSourceFieldKind = "kind"
)
type NodeConfigSource struct {
APIVersion string `json:"apiVersion,omitempty"`
ConfigMapRef *ObjectReference `json:"configMapRef,omitempty"`
Kind string `json:"kind,omitempty"`
}

View File

@@ -0,0 +1,10 @@
package client
const (
NodeDaemonEndpointsType = "nodeDaemonEndpoints"
NodeDaemonEndpointsFieldKubeletEndpoint = "kubeletEndpoint"
)
type NodeDaemonEndpoints struct {
KubeletEndpoint DaemonEndpoint `json:"kubeletEndpoint,omitempty"`
}

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

@@ -0,0 +1,20 @@
package client
const (
NodeSpecType = "nodeSpec"
NodeSpecFieldConfigSource = "configSource"
NodeSpecFieldExternalID = "externalID"
NodeSpecFieldPodCIDR = "podCIDR"
NodeSpecFieldProviderID = "providerID"
NodeSpecFieldTaints = "taints"
NodeSpecFieldUnschedulable = "unschedulable"
)
type NodeSpec struct {
ConfigSource *NodeConfigSource `json:"configSource,omitempty"`
ExternalID string `json:"externalID,omitempty"`
PodCIDR string `json:"podCIDR,omitempty"`
ProviderID string `json:"providerID,omitempty"`
Taints []Taint `json:"taints,omitempty"`
Unschedulable bool `json:"unschedulable,omitempty"`
}

View File

@@ -0,0 +1,24 @@
package client
const (
NodeStatusType = "nodeStatus"
NodeStatusFieldAllocatable = "allocatable"
NodeStatusFieldCapacity = "capacity"
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"`
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

@@ -0,0 +1,28 @@
package client
const (
NodeSystemInfoType = "nodeSystemInfo"
NodeSystemInfoFieldArchitecture = "architecture"
NodeSystemInfoFieldBootID = "bootID"
NodeSystemInfoFieldContainerRuntimeVersion = "containerRuntimeVersion"
NodeSystemInfoFieldKernelVersion = "kernelVersion"
NodeSystemInfoFieldKubeProxyVersion = "kubeProxyVersion"
NodeSystemInfoFieldKubeletVersion = "kubeletVersion"
NodeSystemInfoFieldMachineID = "machineID"
NodeSystemInfoFieldOSImage = "osImage"
NodeSystemInfoFieldOperatingSystem = "operatingSystem"
NodeSystemInfoFieldSystemUUID = "systemUUID"
)
type NodeSystemInfo struct {
Architecture string `json:"architecture,omitempty"`
BootID string `json:"bootID,omitempty"`
ContainerRuntimeVersion string `json:"containerRuntimeVersion,omitempty"`
KernelVersion string `json:"kernelVersion,omitempty"`
KubeProxyVersion string `json:"kubeProxyVersion,omitempty"`
KubeletVersion string `json:"kubeletVersion,omitempty"`
MachineID string `json:"machineID,omitempty"`
OSImage string `json:"osImage,omitempty"`
OperatingSystem string `json:"operatingSystem,omitempty"`
SystemUUID string `json:"systemUUID,omitempty"`
}

View File

@@ -1,22 +1,22 @@
package client
const (
ObjectMetaType = "objectMeta"
ObjectMetaFieldAnnotations = "annotations"
ObjectMetaFieldCreated = "created"
ObjectMetaFieldLabels = "labels"
ObjectMetaFieldName = "name"
ObjectMetaFieldNamespace = "namespace"
ObjectMetaFieldRemoved = "removed"
ObjectMetaFieldUuid = "uuid"
ObjectMetaType = "objectMeta"
ObjectMetaFieldAnnotations = "annotations"
ObjectMetaFieldCreationTimestamp = "creationTimestamp"
ObjectMetaFieldDeletionTimestamp = "deletionTimestamp"
ObjectMetaFieldLabels = "labels"
ObjectMetaFieldName = "name"
ObjectMetaFieldNamespace = "namespace"
ObjectMetaFieldUID = "uid"
)
type ObjectMeta struct {
Annotations map[string]string `json:"annotations,omitempty"`
Created string `json:"created,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
Removed string `json:"removed,omitempty"`
Uuid string `json:"uuid,omitempty"`
Annotations map[string]string `json:"annotations,omitempty"`
CreationTimestamp string `json:"creationTimestamp,omitempty"`
DeletionTimestamp string `json:"deletionTimestamp,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
UID string `json:"uid,omitempty"`
}

View File

@@ -0,0 +1,22 @@
package client
const (
ObjectReferenceType = "objectReference"
ObjectReferenceFieldAPIVersion = "apiVersion"
ObjectReferenceFieldFieldPath = "fieldPath"
ObjectReferenceFieldKind = "kind"
ObjectReferenceFieldName = "name"
ObjectReferenceFieldNamespace = "namespace"
ObjectReferenceFieldResourceVersion = "resourceVersion"
ObjectReferenceFieldUID = "uid"
)
type ObjectReference struct {
APIVersion string `json:"apiVersion,omitempty"`
FieldPath string `json:"fieldPath,omitempty"`
Kind string `json:"kind,omitempty"`
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
ResourceVersion string `json:"resourceVersion,omitempty"`
UID string `json:"uid,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"`
}

View File

@@ -0,0 +1,85 @@
package client
import (
"github.com/rancher/norman/types"
)
const (
PersistentVolumeClaimType = "persistentVolumeClaim"
PersistentVolumeClaimFieldAPIVersion = "apiVersion"
PersistentVolumeClaimFieldKind = "kind"
PersistentVolumeClaimFieldObjectMeta = "objectMeta"
PersistentVolumeClaimFieldSpec = "spec"
PersistentVolumeClaimFieldStatus = "status"
)
type PersistentVolumeClaim struct {
types.Resource
APIVersion string `json:"apiVersion,omitempty"`
Kind string `json:"kind,omitempty"`
ObjectMeta ObjectMeta `json:"objectMeta,omitempty"`
Spec PersistentVolumeClaimSpec `json:"spec,omitempty"`
Status PersistentVolumeClaimStatus `json:"status,omitempty"`
}
type PersistentVolumeClaimCollection struct {
types.Collection
Data []PersistentVolumeClaim `json:"data,omitempty"`
client *PersistentVolumeClaimClient
}
type PersistentVolumeClaimClient struct {
apiClient *Client
}
type PersistentVolumeClaimOperations interface {
List(opts *types.ListOpts) (*PersistentVolumeClaimCollection, error)
Create(opts *PersistentVolumeClaim) (*PersistentVolumeClaim, error)
Update(existing *PersistentVolumeClaim, updates interface{}) (*PersistentVolumeClaim, error)
ByID(id string) (*PersistentVolumeClaim, error)
Delete(container *PersistentVolumeClaim) error
}
func newPersistentVolumeClaimClient(apiClient *Client) *PersistentVolumeClaimClient {
return &PersistentVolumeClaimClient{
apiClient: apiClient,
}
}
func (c *PersistentVolumeClaimClient) Create(container *PersistentVolumeClaim) (*PersistentVolumeClaim, error) {
resp := &PersistentVolumeClaim{}
err := c.apiClient.Ops.DoCreate(PersistentVolumeClaimType, container, resp)
return resp, err
}
func (c *PersistentVolumeClaimClient) Update(existing *PersistentVolumeClaim, updates interface{}) (*PersistentVolumeClaim, error) {
resp := &PersistentVolumeClaim{}
err := c.apiClient.Ops.DoUpdate(PersistentVolumeClaimType, &existing.Resource, updates, resp)
return resp, err
}
func (c *PersistentVolumeClaimClient) List(opts *types.ListOpts) (*PersistentVolumeClaimCollection, error) {
resp := &PersistentVolumeClaimCollection{}
err := c.apiClient.Ops.DoList(PersistentVolumeClaimType, opts, resp)
resp.client = c
return resp, err
}
func (cc *PersistentVolumeClaimCollection) Next() (*PersistentVolumeClaimCollection, error) {
if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" {
resp := &PersistentVolumeClaimCollection{}
err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp)
resp.client = cc.client
return resp, err
}
return nil, nil
}
func (c *PersistentVolumeClaimClient) ByID(id string) (*PersistentVolumeClaim, error) {
resp := &PersistentVolumeClaim{}
err := c.apiClient.Ops.DoByID(PersistentVolumeClaimType, id, resp)
return resp, err
}
func (c *PersistentVolumeClaimClient) Delete(container *PersistentVolumeClaim) error {
return c.apiClient.Ops.DoResourceDelete(PersistentVolumeClaimType, &container.Resource)
}

View File

@@ -0,0 +1,20 @@
package client
const (
PersistentVolumeClaimConditionType = "persistentVolumeClaimCondition"
PersistentVolumeClaimConditionFieldLastProbeTime = "lastProbeTime"
PersistentVolumeClaimConditionFieldLastTransitionTime = "lastTransitionTime"
PersistentVolumeClaimConditionFieldMessage = "message"
PersistentVolumeClaimConditionFieldReason = "reason"
PersistentVolumeClaimConditionFieldStatus = "status"
PersistentVolumeClaimConditionFieldType = "type"
)
type PersistentVolumeClaimCondition struct {
LastProbeTime string `json:"lastProbeTime,omitempty"`
LastTransitionTime string `json:"lastTransitionTime,omitempty"`
Message string `json:"message,omitempty"`
Reason string `json:"reason,omitempty"`
Status string `json:"status,omitempty"`
Type string `json:"type,omitempty"`
}

View File

@@ -0,0 +1,18 @@
package client
const (
PersistentVolumeClaimSpecType = "persistentVolumeClaimSpec"
PersistentVolumeClaimSpecFieldAccessModes = "accessModes"
PersistentVolumeClaimSpecFieldResources = "resources"
PersistentVolumeClaimSpecFieldSelector = "selector"
PersistentVolumeClaimSpecFieldStorageClassName = "storageClassName"
PersistentVolumeClaimSpecFieldVolumeName = "volumeName"
)
type PersistentVolumeClaimSpec struct {
AccessModes []string `json:"accessModes,omitempty"`
Resources ResourceRequirements `json:"resources,omitempty"`
Selector *LabelSelector `json:"selector,omitempty"`
StorageClassName string `json:"storageClassName,omitempty"`
VolumeName string `json:"volumeName,omitempty"`
}

View File

@@ -0,0 +1,16 @@
package client
const (
PersistentVolumeClaimStatusType = "persistentVolumeClaimStatus"
PersistentVolumeClaimStatusFieldAccessModes = "accessModes"
PersistentVolumeClaimStatusFieldCapacity = "capacity"
PersistentVolumeClaimStatusFieldConditions = "conditions"
PersistentVolumeClaimStatusFieldPhase = "phase"
)
type PersistentVolumeClaimStatus struct {
AccessModes []string `json:"accessModes,omitempty"`
Capacity map[string]string `json:"capacity,omitempty"`
Conditions []PersistentVolumeClaimCondition `json:"conditions,omitempty"`
Phase string `json:"phase,omitempty"`
}

View File

@@ -11,14 +11,15 @@ const (
PodFieldAnnotations = "annotations"
PodFieldAutomountServiceAccountToken = "automountServiceAccountToken"
PodFieldContainers = "containers"
PodFieldCreated = "created"
PodFieldCreationTimestamp = "creationTimestamp"
PodFieldDNSPolicy = "dnsPolicy"
PodFieldDeletionTimestamp = "deletionTimestamp"
PodFieldDeprecatedServiceAccount = "deprecatedServiceAccount"
PodFieldFsgid = "fsgid"
PodFieldGids = "gids"
PodFieldFSGroup = "fsGroup"
PodFieldHostAliases = "hostAliases"
PodFieldHostname = "hostname"
PodFieldIPC = "ipc"
PodFieldImagePullSecrets = "imagePullSecrets"
PodFieldKind = "kind"
PodFieldLabels = "labels"
PodFieldName = "name"
@@ -28,17 +29,16 @@ const (
PodFieldPID = "pid"
PodFieldPriority = "priority"
PodFieldPriorityClassName = "priorityClassName"
PodFieldPullSecrets = "pullSecrets"
PodFieldRemoved = "removed"
PodFieldRestart = "restart"
PodFieldRestartPolicy = "restartPolicy"
PodFieldRunAsNonRoot = "runAsNonRoot"
PodFieldRunAsUser = "runAsUser"
PodFieldSchedulerName = "schedulerName"
PodFieldServiceAccountName = "serviceAccountName"
PodFieldSubdomain = "subdomain"
PodFieldSupplementalGroups = "supplementalGroups"
PodFieldTerminationGracePeriodSeconds = "terminationGracePeriodSeconds"
PodFieldTolerations = "tolerations"
PodFieldUid = "uid"
PodFieldUuid = "uuid"
PodFieldUID = "uid"
PodFieldVolumes = "volumes"
)
@@ -49,14 +49,15 @@ type Pod struct {
Annotations map[string]string `json:"annotations,omitempty"`
AutomountServiceAccountToken *bool `json:"automountServiceAccountToken,omitempty"`
Containers map[string]Container `json:"containers,omitempty"`
Created string `json:"created,omitempty"`
CreationTimestamp string `json:"creationTimestamp,omitempty"`
DNSPolicy string `json:"dnsPolicy,omitempty"`
DeletionTimestamp string `json:"deletionTimestamp,omitempty"`
DeprecatedServiceAccount string `json:"deprecatedServiceAccount,omitempty"`
Fsgid *int64 `json:"fsgid,omitempty"`
Gids []int64 `json:"gids,omitempty"`
FSGroup *int64 `json:"fsGroup,omitempty"`
HostAliases map[string]HostAlias `json:"hostAliases,omitempty"`
Hostname string `json:"hostname,omitempty"`
IPC string `json:"ipc,omitempty"`
ImagePullSecrets []LocalObjectReference `json:"imagePullSecrets,omitempty"`
Kind string `json:"kind,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
@@ -66,18 +67,17 @@ type Pod struct {
PID string `json:"pid,omitempty"`
Priority *int64 `json:"priority,omitempty"`
PriorityClassName string `json:"priorityClassName,omitempty"`
PullSecrets []LocalObjectReference `json:"pullSecrets,omitempty"`
Removed string `json:"removed,omitempty"`
Restart string `json:"restart,omitempty"`
RestartPolicy string `json:"restartPolicy,omitempty"`
RunAsNonRoot *bool `json:"runAsNonRoot,omitempty"`
RunAsUser *int64 `json:"runAsUser,omitempty"`
SchedulerName string `json:"schedulerName,omitempty"`
ServiceAccountName string `json:"serviceAccountName,omitempty"`
Subdomain string `json:"subdomain,omitempty"`
SupplementalGroups []int64 `json:"supplementalGroups,omitempty"`
TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"`
Tolerations []Toleration `json:"tolerations,omitempty"`
Uid *int64 `json:"uid,omitempty"`
Uuid string `json:"uuid,omitempty"`
Volumes []Volume `json:"volumes,omitempty"`
UID string `json:"uid,omitempty"`
Volumes map[string]Volume `json:"volumes,omitempty"`
}
type PodCollection struct {
types.Collection

View File

@@ -1,16 +1,16 @@
package client
const (
PodSecurityContextType = "podSecurityContext"
PodSecurityContextFieldFsgid = "fsgid"
PodSecurityContextFieldGids = "gids"
PodSecurityContextFieldRunAsNonRoot = "runAsNonRoot"
PodSecurityContextFieldUid = "uid"
PodSecurityContextType = "podSecurityContext"
PodSecurityContextFieldFSGroup = "fsGroup"
PodSecurityContextFieldRunAsNonRoot = "runAsNonRoot"
PodSecurityContextFieldRunAsUser = "runAsUser"
PodSecurityContextFieldSupplementalGroups = "supplementalGroups"
)
type PodSecurityContext struct {
Fsgid *int64 `json:"fsgid,omitempty"`
Gids []int64 `json:"gids,omitempty"`
RunAsNonRoot *bool `json:"runAsNonRoot,omitempty"`
Uid *int64 `json:"uid,omitempty"`
FSGroup *int64 `json:"fsGroup,omitempty"`
RunAsNonRoot *bool `json:"runAsNonRoot,omitempty"`
RunAsUser *int64 `json:"runAsUser,omitempty"`
SupplementalGroups []int64 `json:"supplementalGroups,omitempty"`
}

View File

@@ -7,25 +7,25 @@ const (
PodSpecFieldContainers = "containers"
PodSpecFieldDNSPolicy = "dnsPolicy"
PodSpecFieldDeprecatedServiceAccount = "deprecatedServiceAccount"
PodSpecFieldFsgid = "fsgid"
PodSpecFieldGids = "gids"
PodSpecFieldFSGroup = "fsGroup"
PodSpecFieldHostAliases = "hostAliases"
PodSpecFieldHostname = "hostname"
PodSpecFieldIPC = "ipc"
PodSpecFieldImagePullSecrets = "imagePullSecrets"
PodSpecFieldNet = "net"
PodSpecFieldNodeName = "nodeName"
PodSpecFieldPID = "pid"
PodSpecFieldPriority = "priority"
PodSpecFieldPriorityClassName = "priorityClassName"
PodSpecFieldPullSecrets = "pullSecrets"
PodSpecFieldRestart = "restart"
PodSpecFieldRestartPolicy = "restartPolicy"
PodSpecFieldRunAsNonRoot = "runAsNonRoot"
PodSpecFieldRunAsUser = "runAsUser"
PodSpecFieldSchedulerName = "schedulerName"
PodSpecFieldServiceAccountName = "serviceAccountName"
PodSpecFieldSubdomain = "subdomain"
PodSpecFieldSupplementalGroups = "supplementalGroups"
PodSpecFieldTerminationGracePeriodSeconds = "terminationGracePeriodSeconds"
PodSpecFieldTolerations = "tolerations"
PodSpecFieldUid = "uid"
PodSpecFieldVolumes = "volumes"
)
@@ -35,24 +35,24 @@ type PodSpec struct {
Containers map[string]Container `json:"containers,omitempty"`
DNSPolicy string `json:"dnsPolicy,omitempty"`
DeprecatedServiceAccount string `json:"deprecatedServiceAccount,omitempty"`
Fsgid *int64 `json:"fsgid,omitempty"`
Gids []int64 `json:"gids,omitempty"`
FSGroup *int64 `json:"fsGroup,omitempty"`
HostAliases map[string]HostAlias `json:"hostAliases,omitempty"`
Hostname string `json:"hostname,omitempty"`
IPC string `json:"ipc,omitempty"`
ImagePullSecrets []LocalObjectReference `json:"imagePullSecrets,omitempty"`
Net string `json:"net,omitempty"`
NodeName string `json:"nodeName,omitempty"`
PID string `json:"pid,omitempty"`
Priority *int64 `json:"priority,omitempty"`
PriorityClassName string `json:"priorityClassName,omitempty"`
PullSecrets []LocalObjectReference `json:"pullSecrets,omitempty"`
Restart string `json:"restart,omitempty"`
RestartPolicy string `json:"restartPolicy,omitempty"`
RunAsNonRoot *bool `json:"runAsNonRoot,omitempty"`
RunAsUser *int64 `json:"runAsUser,omitempty"`
SchedulerName string `json:"schedulerName,omitempty"`
ServiceAccountName string `json:"serviceAccountName,omitempty"`
Subdomain string `json:"subdomain,omitempty"`
SupplementalGroups []int64 `json:"supplementalGroups,omitempty"`
TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"`
Tolerations []Toleration `json:"tolerations,omitempty"`
Uid *int64 `json:"uid,omitempty"`
Volumes []Volume `json:"volumes,omitempty"`
Volumes map[string]Volume `json:"volumes,omitempty"`
}

View File

@@ -0,0 +1,12 @@
package client
const (
PodTemplateSpecType = "podTemplateSpec"
PodTemplateSpecFieldObjectMeta = "objectMeta"
PodTemplateSpecFieldSpec = "spec"
)
type PodTemplateSpec struct {
ObjectMeta ObjectMeta `json:"objectMeta,omitempty"`
Spec PodSpec `json:"spec,omitempty"`
}

View File

@@ -0,0 +1,99 @@
package client
import (
"github.com/rancher/norman/types"
)
const (
ReplicaSetType = "replicaSet"
ReplicaSetFieldAPIVersion = "apiVersion"
ReplicaSetFieldAnnotations = "annotations"
ReplicaSetFieldCreationTimestamp = "creationTimestamp"
ReplicaSetFieldDeletionTimestamp = "deletionTimestamp"
ReplicaSetFieldDeploy = "deploy"
ReplicaSetFieldKind = "kind"
ReplicaSetFieldLabels = "labels"
ReplicaSetFieldName = "name"
ReplicaSetFieldNamespace = "namespace"
ReplicaSetFieldStatus = "status"
ReplicaSetFieldTemplate = "template"
ReplicaSetFieldUID = "uid"
)
type ReplicaSet struct {
types.Resource
APIVersion string `json:"apiVersion,omitempty"`
Annotations map[string]string `json:"annotations,omitempty"`
CreationTimestamp string `json:"creationTimestamp,omitempty"`
DeletionTimestamp string `json:"deletionTimestamp,omitempty"`
Deploy *DeployParams `json:"deploy,omitempty"`
Kind string `json:"kind,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
Status ReplicaSetStatus `json:"status,omitempty"`
Template PodTemplateSpec `json:"template,omitempty"`
UID string `json:"uid,omitempty"`
}
type ReplicaSetCollection struct {
types.Collection
Data []ReplicaSet `json:"data,omitempty"`
client *ReplicaSetClient
}
type ReplicaSetClient struct {
apiClient *Client
}
type ReplicaSetOperations interface {
List(opts *types.ListOpts) (*ReplicaSetCollection, error)
Create(opts *ReplicaSet) (*ReplicaSet, error)
Update(existing *ReplicaSet, updates interface{}) (*ReplicaSet, error)
ByID(id string) (*ReplicaSet, error)
Delete(container *ReplicaSet) error
}
func newReplicaSetClient(apiClient *Client) *ReplicaSetClient {
return &ReplicaSetClient{
apiClient: apiClient,
}
}
func (c *ReplicaSetClient) Create(container *ReplicaSet) (*ReplicaSet, error) {
resp := &ReplicaSet{}
err := c.apiClient.Ops.DoCreate(ReplicaSetType, container, resp)
return resp, err
}
func (c *ReplicaSetClient) Update(existing *ReplicaSet, updates interface{}) (*ReplicaSet, error) {
resp := &ReplicaSet{}
err := c.apiClient.Ops.DoUpdate(ReplicaSetType, &existing.Resource, updates, resp)
return resp, err
}
func (c *ReplicaSetClient) List(opts *types.ListOpts) (*ReplicaSetCollection, error) {
resp := &ReplicaSetCollection{}
err := c.apiClient.Ops.DoList(ReplicaSetType, opts, resp)
resp.client = c
return resp, err
}
func (cc *ReplicaSetCollection) Next() (*ReplicaSetCollection, error) {
if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" {
resp := &ReplicaSetCollection{}
err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp)
resp.client = cc.client
return resp, err
}
return nil, nil
}
func (c *ReplicaSetClient) ByID(id string) (*ReplicaSet, error) {
resp := &ReplicaSet{}
err := c.apiClient.Ops.DoByID(ReplicaSetType, id, resp)
return resp, err
}
func (c *ReplicaSetClient) Delete(container *ReplicaSet) error {
return c.apiClient.Ops.DoResourceDelete(ReplicaSetType, &container.Resource)
}

View File

@@ -0,0 +1,18 @@
package client
const (
ReplicaSetConditionType = "replicaSetCondition"
ReplicaSetConditionFieldLastTransitionTime = "lastTransitionTime"
ReplicaSetConditionFieldMessage = "message"
ReplicaSetConditionFieldReason = "reason"
ReplicaSetConditionFieldStatus = "status"
ReplicaSetConditionFieldType = "type"
)
type ReplicaSetCondition struct {
LastTransitionTime string `json:"lastTransitionTime,omitempty"`
Message string `json:"message,omitempty"`
Reason string `json:"reason,omitempty"`
Status string `json:"status,omitempty"`
Type string `json:"type,omitempty"`
}

View File

@@ -0,0 +1,12 @@
package client
const (
ReplicaSetSpecType = "replicaSetSpec"
ReplicaSetSpecFieldDeploy = "deploy"
ReplicaSetSpecFieldTemplate = "template"
)
type ReplicaSetSpec struct {
Deploy *DeployParams `json:"deploy,omitempty"`
Template PodTemplateSpec `json:"template,omitempty"`
}

View File

@@ -0,0 +1,20 @@
package client
const (
ReplicaSetStatusType = "replicaSetStatus"
ReplicaSetStatusFieldAvailableReplicas = "availableReplicas"
ReplicaSetStatusFieldConditions = "conditions"
ReplicaSetStatusFieldFullyLabeledReplicas = "fullyLabeledReplicas"
ReplicaSetStatusFieldObservedGeneration = "observedGeneration"
ReplicaSetStatusFieldReadyReplicas = "readyReplicas"
ReplicaSetStatusFieldReplicas = "replicas"
)
type ReplicaSetStatus struct {
AvailableReplicas int64 `json:"availableReplicas,omitempty"`
Conditions []ReplicaSetCondition `json:"conditions,omitempty"`
FullyLabeledReplicas int64 `json:"fullyLabeledReplicas,omitempty"`
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
ReadyReplicas int64 `json:"readyReplicas,omitempty"`
Replicas int64 `json:"replicas,omitempty"`
}

View File

@@ -0,0 +1,12 @@
package client
const (
RollingUpdateDeploymentType = "rollingUpdateDeployment"
RollingUpdateDeploymentFieldMaxSurge = "maxSurge"
RollingUpdateDeploymentFieldMaxUnavailable = "maxUnavailable"
)
type RollingUpdateDeployment struct {
MaxSurge string `json:"maxSurge,omitempty"`
MaxUnavailable string `json:"maxUnavailable,omitempty"`
}

View File

@@ -0,0 +1,10 @@
package client
const (
RollingUpdateStatefulSetStrategyType = "rollingUpdateStatefulSetStrategy"
RollingUpdateStatefulSetStrategyFieldPartition = "partition"
)
type RollingUpdateStatefulSetStrategy struct {
Partition *int64 `json:"partition,omitempty"`
}

View File

@@ -2,21 +2,21 @@ package client
const (
SecurityContextType = "securityContext"
SecurityContextFieldAdd = "add"
SecurityContextFieldAllowPrivilegeEscalation = "allowPrivilegeEscalation"
SecurityContextFieldCapAdd = "capAdd"
SecurityContextFieldCapDrop = "capDrop"
SecurityContextFieldDrop = "drop"
SecurityContextFieldPrivileged = "privileged"
SecurityContextFieldReadOnly = "readOnly"
SecurityContextFieldReadOnlyRootFilesystem = "readOnlyRootFilesystem"
SecurityContextFieldRunAsNonRoot = "runAsNonRoot"
SecurityContextFieldUid = "uid"
SecurityContextFieldRunAsUser = "runAsUser"
)
type SecurityContext struct {
Add []string `json:"add,omitempty"`
AllowPrivilegeEscalation *bool `json:"allowPrivilegeEscalation,omitempty"`
CapAdd []string `json:"capAdd,omitempty"`
CapDrop []string `json:"capDrop,omitempty"`
Drop []string `json:"drop,omitempty"`
Privileged *bool `json:"privileged,omitempty"`
ReadOnly *bool `json:"readOnly,omitempty"`
ReadOnlyRootFilesystem *bool `json:"readOnlyRootFilesystem,omitempty"`
RunAsNonRoot *bool `json:"runAsNonRoot,omitempty"`
Uid *int64 `json:"uid,omitempty"`
RunAsUser *int64 `json:"runAsUser,omitempty"`
}

View File

@@ -0,0 +1,105 @@
package client
import (
"github.com/rancher/norman/types"
)
const (
StatefulSetType = "statefulSet"
StatefulSetFieldAPIVersion = "apiVersion"
StatefulSetFieldAnnotations = "annotations"
StatefulSetFieldCreationTimestamp = "creationTimestamp"
StatefulSetFieldDeletionTimestamp = "deletionTimestamp"
StatefulSetFieldDeploy = "deploy"
StatefulSetFieldKind = "kind"
StatefulSetFieldLabels = "labels"
StatefulSetFieldName = "name"
StatefulSetFieldNamespace = "namespace"
StatefulSetFieldServiceName = "serviceName"
StatefulSetFieldStatus = "status"
StatefulSetFieldTemplate = "template"
StatefulSetFieldUID = "uid"
StatefulSetFieldUpdateStrategy = "updateStrategy"
StatefulSetFieldVolumeClaimTemplates = "volumeClaimTemplates"
)
type StatefulSet struct {
types.Resource
APIVersion string `json:"apiVersion,omitempty"`
Annotations map[string]string `json:"annotations,omitempty"`
CreationTimestamp string `json:"creationTimestamp,omitempty"`
DeletionTimestamp string `json:"deletionTimestamp,omitempty"`
Deploy *DeployParams `json:"deploy,omitempty"`
Kind string `json:"kind,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
ServiceName string `json:"serviceName,omitempty"`
Status StatefulSetStatus `json:"status,omitempty"`
Template PodTemplateSpec `json:"template,omitempty"`
UID string `json:"uid,omitempty"`
UpdateStrategy StatefulSetUpdateStrategy `json:"updateStrategy,omitempty"`
VolumeClaimTemplates map[string]PersistentVolumeClaim `json:"volumeClaimTemplates,omitempty"`
}
type StatefulSetCollection struct {
types.Collection
Data []StatefulSet `json:"data,omitempty"`
client *StatefulSetClient
}
type StatefulSetClient struct {
apiClient *Client
}
type StatefulSetOperations interface {
List(opts *types.ListOpts) (*StatefulSetCollection, error)
Create(opts *StatefulSet) (*StatefulSet, error)
Update(existing *StatefulSet, updates interface{}) (*StatefulSet, error)
ByID(id string) (*StatefulSet, error)
Delete(container *StatefulSet) error
}
func newStatefulSetClient(apiClient *Client) *StatefulSetClient {
return &StatefulSetClient{
apiClient: apiClient,
}
}
func (c *StatefulSetClient) Create(container *StatefulSet) (*StatefulSet, error) {
resp := &StatefulSet{}
err := c.apiClient.Ops.DoCreate(StatefulSetType, container, resp)
return resp, err
}
func (c *StatefulSetClient) Update(existing *StatefulSet, updates interface{}) (*StatefulSet, error) {
resp := &StatefulSet{}
err := c.apiClient.Ops.DoUpdate(StatefulSetType, &existing.Resource, updates, resp)
return resp, err
}
func (c *StatefulSetClient) List(opts *types.ListOpts) (*StatefulSetCollection, error) {
resp := &StatefulSetCollection{}
err := c.apiClient.Ops.DoList(StatefulSetType, opts, resp)
resp.client = c
return resp, err
}
func (cc *StatefulSetCollection) Next() (*StatefulSetCollection, error) {
if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" {
resp := &StatefulSetCollection{}
err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp)
resp.client = cc.client
return resp, err
}
return nil, nil
}
func (c *StatefulSetClient) ByID(id string) (*StatefulSet, error) {
resp := &StatefulSet{}
err := c.apiClient.Ops.DoByID(StatefulSetType, id, resp)
return resp, err
}
func (c *StatefulSetClient) Delete(container *StatefulSet) error {
return c.apiClient.Ops.DoResourceDelete(StatefulSetType, &container.Resource)
}

View File

@@ -0,0 +1,18 @@
package client
const (
StatefulSetSpecType = "statefulSetSpec"
StatefulSetSpecFieldDeploy = "deploy"
StatefulSetSpecFieldServiceName = "serviceName"
StatefulSetSpecFieldTemplate = "template"
StatefulSetSpecFieldUpdateStrategy = "updateStrategy"
StatefulSetSpecFieldVolumeClaimTemplates = "volumeClaimTemplates"
)
type StatefulSetSpec struct {
Deploy *DeployParams `json:"deploy,omitempty"`
ServiceName string `json:"serviceName,omitempty"`
Template PodTemplateSpec `json:"template,omitempty"`
UpdateStrategy StatefulSetUpdateStrategy `json:"updateStrategy,omitempty"`
VolumeClaimTemplates map[string]PersistentVolumeClaim `json:"volumeClaimTemplates,omitempty"`
}

View File

@@ -0,0 +1,24 @@
package client
const (
StatefulSetStatusType = "statefulSetStatus"
StatefulSetStatusFieldCollisionCount = "collisionCount"
StatefulSetStatusFieldCurrentReplicas = "currentReplicas"
StatefulSetStatusFieldCurrentRevision = "currentRevision"
StatefulSetStatusFieldObservedGeneration = "observedGeneration"
StatefulSetStatusFieldReadyReplicas = "readyReplicas"
StatefulSetStatusFieldReplicas = "replicas"
StatefulSetStatusFieldUpdateRevision = "updateRevision"
StatefulSetStatusFieldUpdatedReplicas = "updatedReplicas"
)
type StatefulSetStatus struct {
CollisionCount *int64 `json:"collisionCount,omitempty"`
CurrentReplicas int64 `json:"currentReplicas,omitempty"`
CurrentRevision string `json:"currentRevision,omitempty"`
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
ReadyReplicas int64 `json:"readyReplicas,omitempty"`
Replicas int64 `json:"replicas,omitempty"`
UpdateRevision string `json:"updateRevision,omitempty"`
UpdatedReplicas int64 `json:"updatedReplicas,omitempty"`
}

View File

@@ -0,0 +1,12 @@
package client
const (
StatefulSetUpdateStrategyType = "statefulSetUpdateStrategy"
StatefulSetUpdateStrategyFieldRollingUpdate = "rollingUpdate"
StatefulSetUpdateStrategyFieldType = "type"
)
type StatefulSetUpdateStrategy struct {
RollingUpdate *RollingUpdateStatefulSetStrategy `json:"rollingUpdate,omitempty"`
Type string `json:"type,omitempty"`
}

View File

@@ -0,0 +1,16 @@
package client
const (
TaintType = "taint"
TaintFieldEffect = "effect"
TaintFieldKey = "key"
TaintFieldTimeAdded = "timeAdded"
TaintFieldValue = "value"
)
type Taint struct {
Effect string `json:"effect,omitempty"`
Key string `json:"key,omitempty"`
TimeAdded string `json:"timeAdded,omitempty"`
Value string `json:"value,omitempty"`
}