v1alpha1

package
v0.0.0-...-b3f0fa4 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2018 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Copyright 2018 Oracle and/or its affiliates. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2018 Oracle and/or its affiliates. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2018 Oracle and/or its affiliates. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Package v1 is the v1 version of the API. +groupName=cloud.k8s.io

Copyright 2018 Oracle and/or its affiliates. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2018 Oracle and/or its affiliates. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2018 Oracle and/or its affiliates. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2018 Oracle and/or its affiliates. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2018 Oracle and/or its affiliates. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2018 Oracle and/or its affiliates. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

View Source
const (
	ClusterKind           = "Cluster"
	ClusterResourcePlural = "clusters"
	ClusterControllerName = "clusters"
)
View Source
const (
	ComputeKind           = "Compute"
	ComputeResourcePlural = "computes"
	ComputeControllerName = "computes"
)
View Source
const (
	CpodKind           = "Cpod"
	CpodResourcePlural = "cpods"
	CpodControllerName = "cpods"
)
View Source
const (
	LoadBalancerKind           = "LoadBalancer"
	LoadBalancerResourcePlural = "loadbalancers"
	LoadBalancerControllerName = "loadbalancers"
)
View Source
const (
	NetworkKind           = "Network"
	NetworkResourcePlural = "networks"
	NetworkControllerName = "networks"
)
View Source
const (
	SecurityKind           = "Security"
	SecurityResourcePlural = "securities"
	SecurityControllerName = "securities"
)
View Source
const (
	StorageKind           = "Storage"
	StorageResourcePlural = "storages"
	StorageControllerName = "storages"
)
View Source
const GroupName = "cloud.k8s.io"

GroupName is the group name used in this package.

Variables

View Source
var (
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme   = SchemeBuilder.AddToScheme
)

Register scheme and api resources

View Source
var ClusterValidation = apiextv1beta1.CustomResourceValidation{
	OpenAPIV3Schema: &apiextv1beta1.JSONSchemaProps{
		Properties: map[string]apiextv1beta1.JSONSchemaProps{
			"metadata": common.MetaDataValidation,
		},
	},
}

ClusterValidation describes the Cluster validation schema

View Source
var ComputeValidation = apiextv1beta1.CustomResourceValidation{
	OpenAPIV3Schema: &apiextv1beta1.JSONSchemaProps{
		Properties: map[string]apiextv1beta1.JSONSchemaProps{
			"metadata": common.MetaDataValidation,
			"spec": {
				Required: []string{"network"},
				Properties: map[string]apiextv1beta1.JSONSchemaProps{
					"network": {
						Type:    common.ValidationTypeString,
						Pattern: common.AnyStringValidationRegex,
					},
					"replicas": {
						Type: common.ValidationTypeInteger,
					},
					"minAvailabilityZones": {
						Type: common.ValidationTypeInteger,
					},
				},
			},
		},
	},
}

ComputeValidation describes the compute validation schema

View Source
var LoadBalancerValidation = apiextv1beta1.CustomResourceValidation{
	OpenAPIV3Schema: &apiextv1beta1.JSONSchemaProps{
		Properties: map[string]apiextv1beta1.JSONSchemaProps{
			"metadata": common.MetaDataValidation,
			"spec": {
				Required: []string{"listeners", "backendPort", "computeSelector", "securitySelector"},
				Properties: map[string]apiextv1beta1.JSONSchemaProps{
					"backendPort": {
						Type:    common.ValidationTypeInteger,
						Minimum: &minTCPPort,
						Maximum: &maxTCPPort,
					},
					"balanceMode": {
						Type:    common.ValidationTypeString,
						Pattern: common.AnyStringValidationRegex,
					},
					"listeners": {
						Type: common.ValidationTypeArray,
					},
				},
			},
		},
	},
}

LoadBalancerValidation describes the loadbalancer validation schema

View Source
var NetworkValidation = apiextv1beta1.CustomResourceValidation{
	OpenAPIV3Schema: &apiextv1beta1.JSONSchemaProps{
		Properties: map[string]apiextv1beta1.JSONSchemaProps{
			"metadata": common.MetaDataValidation,
			"spec": {
				Properties: map[string]apiextv1beta1.JSONSchemaProps{
					"cirdBlock": {
						Type:    common.ValidationTypeString,
						Pattern: common.CidrValidationRegex,
					},
				},
			},
		},
	},
}

NetworkValidation describes the network validation schema

View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}

SchemeGroupVersion is the group version used to register these objects.

View Source
var SecurityValidation = apiextv1beta1.CustomResourceValidation{
	OpenAPIV3Schema: &apiextv1beta1.JSONSchemaProps{
		Properties: map[string]apiextv1beta1.JSONSchemaProps{
			"metadata": common.MetaDataValidation,
		},
	},
}

SecurityValidation describes the security validation schema

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group-qualified GroupResource.

Types

type CertificateAuthority

type CertificateAuthority struct {
	Certificate string `json:"certificate"`
	Key         string `json:"key"`
}

func (*CertificateAuthority) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateAuthority.

func (*CertificateAuthority) DeepCopyInto

func (in *CertificateAuthority) DeepCopyInto(out *CertificateAuthority)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Cluster

type Cluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              ClusterSpec   `json:"spec"`
	Status            ClusterStatus `json:"status,omitempty"`
}

Cluster describes Cluster

func (*Cluster) DeepCopy

func (in *Cluster) DeepCopy() *Cluster

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.

func (*Cluster) DeepCopyInto

func (in *Cluster) DeepCopyInto(out *Cluster)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Cluster) DeepCopyObject

func (in *Cluster) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterList

type ClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []Cluster `json:"items"`
}

ClusterList is a list of Cluster resources

func (*ClusterList) DeepCopy

func (in *ClusterList) DeepCopy() *ClusterList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterList.

func (*ClusterList) DeepCopyInto

func (in *ClusterList) DeepCopyInto(out *ClusterList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ClusterList) DeepCopyObject

func (in *ClusterList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterSpec

type ClusterSpec struct {
	// to managed service vs kubeadm
	IsManaged bool `json:"isManaged"`

	Version string `json:"version,omitempty"`

	Master ComputeTemplate `json:"master"`
	Worker ComputeTemplate `json:"worker"`

	// for kubeadm/non-managed service to remotely create user/kubeconfig
	CA    CertificateAuthority `json:"ca,omitempty"`
	Token string               `json:"token"`

	Env       []apiv1.EnvVar             `json:"env,omitempty"`
	Resources apiv1.ResourceRequirements `json:"resources,omitempty"`
}

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec.

func (*ClusterSpec) DeepCopyInto

func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterStatus

type ClusterStatus struct {
	AvailabilityZones []string `json:"availabilityZones"`

	OperatorStatus
}

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Compute

type Compute struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              ComputeSpec   `json:"spec"`
	Status            ComputeStatus `json:"status,omitempty"`
}

Compute describes Compute

func (*Compute) DeepCopy

func (in *Compute) DeepCopy() *Compute

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Compute.

func (*Compute) DeepCopyInto

func (in *Compute) DeepCopyInto(out *Compute)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Compute) DeepCopyObject

func (in *Compute) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ComputeList

type ComputeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []Compute `json:"items"`
}

ComputeList is a list of Compute resources

func (*ComputeList) DeepCopy

func (in *ComputeList) DeepCopy() *ComputeList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeList.

func (*ComputeList) DeepCopyInto

func (in *ComputeList) DeepCopyInto(out *ComputeList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ComputeList) DeepCopyObject

func (in *ComputeList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ComputeSpec

type ComputeSpec struct {
	// name of the network to place the compute
	Network string `json:"network"`

	// number of instances
	Replicas int `json:"replicas,omitempty"`

	// minimum availability zone count
	MinAvailabiliyZones int `json:"minAvailabilityZones,omitempty"`

	SecuritySelector map[string]string `json:"securitySelector,omitempty"`

	// attributes that each instance will use to construct its model
	Template Template `json:"template,omitempty"`

	Env       []apiv1.EnvVar             `json:"env,omitempty"`
	Resources apiv1.ResourceRequirements `json:"resources,omitempty"`
}

func (*ComputeSpec) DeepCopy

func (in *ComputeSpec) DeepCopy() *ComputeSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeSpec.

func (*ComputeSpec) DeepCopyInto

func (in *ComputeSpec) DeepCopyInto(out *ComputeSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ComputeStatus

type ComputeStatus struct {
	OperatorStatus

	// one-time randomized array of availability zones/domains for even distribution
	AvailabilityZones []string `json:"availabilityZones"`

	Replicas            int `json:"replicas"`
	ReadyReplicas       int `json:"readyReplicas"`
	AvailableReplicas   int `json:"availableReplicas"`
	UnavailableReplicas int `json:"unavailableReplicas"`
}

func (*ComputeStatus) DeepCopy

func (in *ComputeStatus) DeepCopy() *ComputeStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeStatus.

func (*ComputeStatus) DeepCopyInto

func (in *ComputeStatus) DeepCopyInto(out *ComputeStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ComputeTemplate

type ComputeTemplate struct {
	// number of instances
	Replicas int `json:"replicas,omitempty"`

	// template passed down to compute
	Template Template `json:"template,omitempty"`
}

func (*ComputeTemplate) DeepCopy

func (in *ComputeTemplate) DeepCopy() *ComputeTemplate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeTemplate.

func (*ComputeTemplate) DeepCopyInto

func (in *ComputeTemplate) DeepCopyInto(out *ComputeTemplate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Cpod

type Cpod struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              CpodSpec   `json:"spec"`
	Status            CpodStatus `json:"status,omitempty"`
}

Cpod describes cpod

func (*Cpod) DeepCopy

func (in *Cpod) DeepCopy() *Cpod

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cpod.

func (*Cpod) DeepCopyInto

func (in *Cpod) DeepCopyInto(out *Cpod)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Cpod) DeepCopyObject

func (in *Cpod) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CpodList

type CpodList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []Cpod `json:"items"`
}

CpodList is a list of Cpod resources

func (*CpodList) DeepCopy

func (in *CpodList) DeepCopy() *CpodList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CpodList.

func (*CpodList) DeepCopyInto

func (in *CpodList) DeepCopyInto(out *CpodList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CpodList) DeepCopyObject

func (in *CpodList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CpodSpec

type CpodSpec struct {
	corev1.PodSpec
	SshKeys []string `json:"sshKeys,omitempty"`
}

func (*CpodSpec) DeepCopy

func (in *CpodSpec) DeepCopy() *CpodSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CpodSpec.

func (*CpodSpec) DeepCopyInto

func (in *CpodSpec) DeepCopyInto(out *CpodSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CpodStatus

type CpodStatus struct {
	PodStatus corev1.PodStatus
	OperatorStatus
}

func (*CpodStatus) DeepCopy

func (in *CpodStatus) DeepCopy() *CpodStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CpodStatus.

func (*CpodStatus) DeepCopyInto

func (in *CpodStatus) DeepCopyInto(out *CpodStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HealthCheck

type HealthCheck struct {
	Protocol string `url:"-" header:"-" json:"protocol"`
	URLPath  string `url:"-" header:"-" json:"urlPath"`

	// Optional
	IntervalInMillis  int    `url:"-" header:"-" json:"intervalInMillis,omitempty"`  // Default: 10000
	Port              int    `url:"-" header:"-" json:"port,omitempty"`              // Default: 0
	ResponseBodyRegex string `url:"-" header:"-" json:"responseBodyRegex,omitempty"` // Default: ".*"
	Retries           int    `url:"-" header:"-" json:"retries,omitempty"`           // Default: 3
	ReturnCode        int    `url:"-" header:"-" json:"returnCode,omitempty"`        // Default: 200
	TimeoutInMillis   int    `url:"-" header:"-" json:"timeoutInMillis,omitempty"`   // Default: 3000
}

HealthCheck describes health checker of the backend set

func (*HealthCheck) DeepCopy

func (in *HealthCheck) DeepCopy() *HealthCheck

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheck.

func (*HealthCheck) DeepCopyInto

func (in *HealthCheck) DeepCopyInto(out *HealthCheck)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Listener

type Listener struct {
	Port     int    `json:"port,omitempty"`
	Protocol string `json:"protocol,omitempty"`

	// Optional
	IdleTimeoutSec int            `json:"idleTimeoutSec,omitempty"`
	SSLCertificate SSLCertificate `json:"sslCertificate,omitempty"`
}

func (*Listener) DeepCopy

func (in *Listener) DeepCopy() *Listener

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Listener.

func (*Listener) DeepCopyInto

func (in *Listener) DeepCopyInto(out *Listener)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LoadBalancer

type LoadBalancer struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              LoadBalancerSpec   `json:"spec"`
	Status            LoadBalancerStatus `json:"status,omitempty"`
}

LoadBalancer describes LoadBalancer

func (*LoadBalancer) DeepCopy

func (in *LoadBalancer) DeepCopy() *LoadBalancer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancer.

func (*LoadBalancer) DeepCopyInto

func (in *LoadBalancer) DeepCopyInto(out *LoadBalancer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LoadBalancer) DeepCopyObject

func (in *LoadBalancer) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type LoadBalancerList

type LoadBalancerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []LoadBalancer `json:"items"`
}

LoadBalancerList is a list of LoadBalancer resources

func (*LoadBalancerList) DeepCopy

func (in *LoadBalancerList) DeepCopy() *LoadBalancerList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerList.

func (*LoadBalancerList) DeepCopyInto

func (in *LoadBalancerList) DeepCopyInto(out *LoadBalancerList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LoadBalancerList) DeepCopyObject

func (in *LoadBalancerList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type LoadBalancerSpec

type LoadBalancerSpec struct {
	// tcp port which backend servers use to serve traffic
	BackendPort int `json:"backendPort"`

	// balance mode defaults to ROUND_ROBIN
	BalanceMode string `json:"balanceMode,omitempty"`

	// network bandwidth maximum for loadbalancer
	BandwidthMbps string `json:"bandwidthMbps,omitempty"`

	// label selector of computes to backend instances
	ComputeSelector map[string]string `json:"computeSelector"`

	// health check parameters
	HealthCheck HealthCheck `json:"healthCheck,omitempty"`

	// configure to allow public/internet access
	IsPrivate bool `json:"isPrivate,omitempty"`

	// map of compute labels to weight
	LabelWeightMap map[string]int `json:"labelWeightMap"`

	// tcp ports which external clients will connect to
	Listeners []Listener `json:"listeners"`

	// selector to link security rule sets to subnets for the load balancer
	SecuritySelector map[string]string `json:"securitySelector,omitempty"`

	// name of cookie to use for session persistence
	SessionPersistenceCookie string `json:"sessionPersistenceCookie,omitempty"`

	Env       []apiv1.EnvVar             `json:"env,omitempty"`
	Resources apiv1.ResourceRequirements `json:"resources,omitempty"`
}

func (*LoadBalancerSpec) DeepCopy

func (in *LoadBalancerSpec) DeepCopy() *LoadBalancerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerSpec.

func (*LoadBalancerSpec) DeepCopyInto

func (in *LoadBalancerSpec) DeepCopyInto(out *LoadBalancerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LoadBalancerStatus

type LoadBalancerStatus struct {
	OperatorStatus

	IPAddress     string `json:"ipAddress"`
	DnsRecordName string `json:"dnsRecordName"`
	Network       string `json:"network"`

	// one-time randomized array of availability zones/domains for even distribution
	AvailabilityZones []string `json:"availabilityZones"`

	Instances          int `json:"instances"`
	AvailableInstances int `json:"availableInstances"`
	UnhealthyInstances int `json:"unhealthyInstances"`
}

func (*LoadBalancerStatus) DeepCopy

func (in *LoadBalancerStatus) DeepCopy() *LoadBalancerStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerStatus.

func (*LoadBalancerStatus) DeepCopyInto

func (in *LoadBalancerStatus) DeepCopyInto(out *LoadBalancerStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Network

type Network struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              NetworkSpec   `json:"spec"`
	Status            NetworkStatus `json:"status,omitempty"`
}

Network describes network

func (*Network) DeepCopy

func (in *Network) DeepCopy() *Network

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.

func (*Network) DeepCopyInto

func (in *Network) DeepCopyInto(out *Network)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Network) DeepCopyObject

func (in *Network) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NetworkList

type NetworkList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []Network `json:"items"`
}

NetworkList is a list of Network resources

func (*NetworkList) DeepCopy

func (in *NetworkList) DeepCopy() *NetworkList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkList.

func (*NetworkList) DeepCopyInto

func (in *NetworkList) DeepCopyInto(out *NetworkList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkList) DeepCopyObject

func (in *NetworkList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NetworkSpec

type NetworkSpec struct {
	CidrBlock string `json:"cidrBlock"`
}

func (*NetworkSpec) DeepCopy

func (in *NetworkSpec) DeepCopy() *NetworkSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkSpec.

func (*NetworkSpec) DeepCopyInto

func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkStatus

type NetworkStatus struct {
	OperatorStatus

	// subnet allocation map
	// key: compute,lb or subnet name, value: floor to tens of subnet octet. ie:
	// 10, 20 ... 250 ...allows for 25 compute on a network,
	// with 9 az (subnet x.y.n1-n9.0/24) per compute ... max 57150 instances per network
	SubnetAllocationMap map[string]int
}

func (*NetworkStatus) DeepCopy

func (in *NetworkStatus) DeepCopy() *NetworkStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkStatus.

func (*NetworkStatus) DeepCopyInto

func (in *NetworkStatus) DeepCopyInto(out *NetworkStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OperatorCondition

type OperatorCondition struct {
	Type               OperatorConditionType `json:"type"`
	Reason             string                `json:"reason,omitempty"`
	LastTransitiontime metav1.Time           `json:"lastTransitionTime,omitempty"`
}

func (*OperatorCondition) DeepCopy

func (in *OperatorCondition) DeepCopy() *OperatorCondition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorCondition.

func (*OperatorCondition) DeepCopyInto

func (in *OperatorCondition) DeepCopyInto(out *OperatorCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OperatorConditionType

type OperatorConditionType string

type OperatorState

type OperatorState string
const (
	OperatorStatePending   OperatorState = "Pending"
	OperatorStateCreated   OperatorState = "Created"
	OperatorStateProcessed OperatorState = "Processed"
	OperatorStateError     OperatorState = "Error"
)

type OperatorStatus

type OperatorStatus struct {
	State      OperatorState       `json:"state,omitempty"`
	Message    string              `json:"message,omitempty"`
	Conditions []OperatorCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

func (*OperatorStatus) DeepCopy

func (in *OperatorStatus) DeepCopy() *OperatorStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorStatus.

func (*OperatorStatus) DeepCopyInto

func (in *OperatorStatus) DeepCopyInto(out *OperatorStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SSLCertificate

type SSLCertificate struct {
	Certificate   string `json:"certificate,omitempty"`
	PrivateKey    string `json:"privateKey,omitempty"`
	Passphrase    string `json:"passphrase,omitempty"`
	CACertificate string `json:"caCertificate,omitempty"`
}

SSL Certificate for https traffic

func (*SSLCertificate) DeepCopy

func (in *SSLCertificate) DeepCopy() *SSLCertificate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSLCertificate.

func (*SSLCertificate) DeepCopyInto

func (in *SSLCertificate) DeepCopyInto(out *SSLCertificate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Security

type Security struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              SecuritySpec   `json:"spec"`
	Status            SecurityStatus `json:"status,omitempty"`
}

Security describes security

func (*Security) DeepCopy

func (in *Security) DeepCopy() *Security

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Security.

func (*Security) DeepCopyInto

func (in *Security) DeepCopyInto(out *Security)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Security) DeepCopyObject

func (in *Security) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SecurityList

type SecurityList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []Security `json:"items"`
}

SecurityList is a list of Security resources

func (*SecurityList) DeepCopy

func (in *SecurityList) DeepCopy() *SecurityList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityList.

func (*SecurityList) DeepCopyInto

func (in *SecurityList) DeepCopyInto(out *SecurityList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SecurityList) DeepCopyObject

func (in *SecurityList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SecuritySpec

type SecuritySpec struct {
	// selector to create the security rules into matching networks
	NetworkSelector map[string]string `json:"networkSelector"`

	Ingress []string `json:"ingress"`
	Egress  []string `json:"egress"`
}

func (*SecuritySpec) DeepCopy

func (in *SecuritySpec) DeepCopy() *SecuritySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecuritySpec.

func (*SecuritySpec) DeepCopyInto

func (in *SecuritySpec) DeepCopyInto(out *SecuritySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecurityStatus

type SecurityStatus struct {
	OperatorStatus
}

func (*SecurityStatus) DeepCopy

func (in *SecurityStatus) DeepCopy() *SecurityStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityStatus.

func (*SecurityStatus) DeepCopyInto

func (in *SecurityStatus) DeepCopyInto(out *SecurityStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Storage

type Storage struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              StorageSpec   `json:"spec"`
	Status            StorageStatus `json:"status,omitempty"`
}

Storage describes Storage

func (*Storage) DeepCopy

func (in *Storage) DeepCopy() *Storage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Storage.

func (*Storage) DeepCopyInto

func (in *Storage) DeepCopyInto(out *Storage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Storage) DeepCopyObject

func (in *Storage) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type StorageList

type StorageList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []Storage `json:"items"`
}

StorageList is a list of Storage resources

func (*StorageList) DeepCopy

func (in *StorageList) DeepCopy() *StorageList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageList.

func (*StorageList) DeepCopyInto

func (in *StorageList) DeepCopyInto(out *StorageList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*StorageList) DeepCopyObject

func (in *StorageList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type StorageSpec

type StorageSpec struct {
	SizeInGBs int `json:"sizeInGBs"`
}

func (*StorageSpec) DeepCopy

func (in *StorageSpec) DeepCopy() *StorageSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageSpec.

func (*StorageSpec) DeepCopyInto

func (in *StorageSpec) DeepCopyInto(out *StorageSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StorageStatus

type StorageStatus struct {
	OperatorStatus
}

func (*StorageStatus) DeepCopy

func (in *StorageStatus) DeepCopy() *StorageStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageStatus.

func (*StorageStatus) DeepCopyInto

func (in *StorageStatus) DeepCopyInto(out *StorageStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Subnet

type Subnet struct {
	Private bool `json:"private"`
}

func (*Subnet) DeepCopy

func (in *Subnet) DeepCopy() *Subnet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subnet.

func (*Subnet) DeepCopyInto

func (in *Subnet) DeepCopyInto(out *Subnet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Template

type Template struct {
	// os type and version eg centos 7
	OsType    string `json:"osType,omitempty"`
	OsVersion string `json:"osVersion,omitempty"`

	// reuse kubernetes ResourceRequirements model - https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
	Resources apiv1.ResourceRequirements `json:"resources,omitempty"`

	// ssh public keys to allow remote access
	SshKeys []string `json:"sshKeys,omitempty"`

	// user-data for cloud-init
	UserData UserData `json:"userData,omitempty"`

	Volumes []Volume `json:"volume,omitempty"`
}

attributes that each instance will use to constuct its model

func (*Template) DeepCopy

func (in *Template) DeepCopy() *Template

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Template.

func (*Template) DeepCopyInto

func (in *Template) DeepCopyInto(out *Template)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserData

type UserData struct {
	Shellscript    string `json:"shellscript,omitempty"`
	CloudConfig    string `json:"cloud-config,omitempty"`
	IncludeURL     string `json:"include-url,omitempty"`
	IncludeURLOnce string `json:"include-url-once,omitempty"`
	PartHandler    string `json:"part-handler,omitempty"`
}

func (*UserData) DeepCopy

func (in *UserData) DeepCopy() *UserData

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserData.

func (*UserData) DeepCopyInto

func (in *UserData) DeepCopyInto(out *UserData)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Volume

type Volume struct {
	Size string `json:"size"`
	Type string `json:"type"`

	// fstab related
	MountPoint     string `json:""`
	FilesystemType string `json:"filesystemType"`
	Options        map[string]string
}

func (*Volume) DeepCopy

func (in *Volume) DeepCopy() *Volume

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume.

func (*Volume) DeepCopyInto

func (in *Volume) DeepCopyInto(out *Volume)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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