v1alpha2

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2020 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package v1alpha2 contains API Schema definitions for the infrastructure v1alpha2 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io

Index

Constants

View Source
const ApiTermination = false

DisableApiTermination should be false to delete server with NifcloudAPI

View Source
const (
	// Finalizer is a label to allow ReconcileCluster to clean up
	// all resouces associated with NifcloudClustr before removing
	// from api server
	ClusterFinalizer = "nifcloudcluster.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// MachineFinalizer allow reconciler to clean up Nifcloud Machine resources
	// before removing these instances
	MachineFinalizer = "nifcloudmachine.infrastructure.cluster.x-k8s.io"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1alpha2"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	InstancePending = InstanceState("pending")
	InstanceRunning = InstanceState("running")
	InstanceStopped = InstanceState("stopped")
	InstanceWaiting = InstanceState("waiting")
)
View Source
var (
	// SSH entry point role
	SecurityGroupBastion = SecurityGroupRole("bastion")
	// kubernets controleplane node role
	SecurityGroupControlPlane = SecurityGroupRole("controlplane")
	// kubernetes workload node role
	SecurityGroupNode = SecurityGroupRole("node")
)
View Source
var (
	SecurityGroupProtocolAny = SecurityGroupProtocol("ANY")
	SecurityGroupProtocolTCP = SecurityGroupProtocol("TCP")
	SecurityGroupProtocolUDP = SecurityGroupProtocol("UDP")
)

Functions

This section is empty.

Types

type APIEndpoint

type APIEndpoint struct {
	// the hostname on which the API server is serving
	Host string `json:"host"`

	// the port on which the API server is serving
	Port int32 `json:"port"`
}

func (*APIEndpoint) DeepCopy

func (in *APIEndpoint) DeepCopy() *APIEndpoint

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

func (*APIEndpoint) DeepCopyInto

func (in *APIEndpoint) DeepCopyInto(out *APIEndpoint)

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

type BuildParams

type BuildParams struct {
	ClusterName string
	// +opitonal
	Name *string
	// +optional
	Role *string
}

func (*BuildParams) DeepCopy

func (in *BuildParams) DeepCopy() *BuildParams

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

func (*BuildParams) DeepCopyInto

func (in *BuildParams) DeepCopyInto(out *BuildParams)

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

type IngressRule

type IngressRule struct {
	ID          string                `json:"id"`
	Name        string                `json:"name"`
	Description string                `json:"description,omitempty"`
	Protocol    SecurityGroupProtocol `json:"protocol"`
	FromPort    int64                 `json:"fromPort"`
	ToPort      int64                 `json:"toPort"`

	// List of CIDR blocks to allow access from. Cannot be specified with SourceSecurityGroupID.
	// +optional
	CidrBlocks []string `json:"cidrBlocks,omitempty"`
	// The security group id to allow access from. Cannot be specified with CidrBlocks.
	// +optional
	SourceSecurityGroupName []string `json:"sourceSecurityGroupName,omitempty"`
}

func (*IngressRule) DeepCopy

func (in *IngressRule) DeepCopy() *IngressRule

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

func (*IngressRule) DeepCopyInto

func (in *IngressRule) DeepCopyInto(out *IngressRule)

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

func (*IngressRule) Equals

func (i *IngressRule) Equals(o *IngressRule) bool

func (IngressRule) String

func (i IngressRule) String() string

type IngressRules

type IngressRules []*IngressRule

func (IngressRules) DeepCopy

func (in IngressRules) DeepCopy() IngressRules

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

func (IngressRules) DeepCopyInto

func (in IngressRules) DeepCopyInto(out *IngressRules)

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

func (IngressRules) Difference

func (i IngressRules) Difference(o IngressRules) (out IngressRules)

type Instance

type Instance struct {
	// UID is an instance identifier
	UID string `json:"uid"`
	// ID is a name of nifcloud instance
	ID string `json:"id,omitemptuy"`
	// Zone is machine location
	Zone string `json:"zone,omitempty"`
	// State is current state of nicloud instance
	State InstanceState `json:"state,omitempty"`
	// Type is machine type of nicloud instance
	Type string `json:"type,omitempty"`
	// ImageID is an image running on nicloud instance
	ImageID string `json:"imageID,omitempty"`
	// UserData is cloud-init script
	UserData *string `json:"userData,omitempty"`
	// security group names
	SecurityGroups []string `json:"securityGroups,omitempty"`
	// A name of SSh key pair
	SSHKeyName string `json:"sshKeyName,omitempty"`
	// tags in instance
	Tag Tag `json:"tag,omitempty"`
	// The public IPv4 address assigned to the instance
	PublicIP string `json:"publicIP,omitempty"`
	// The private IPv4 address assigned to the instance
	PrivateIP string `json:"privateIP,omitempty"`
	// Address containes a list of apiserver endpoints
	Addresses []corev1.NodeAddress `json:"addresses,omitempty"`
	// a list of networkinterface which attached the instance
	NetworkInterfaces []string `json:"networkInterfaces,omitempty"`
}

func (*Instance) DeepCopy

func (in *Instance) DeepCopy() *Instance

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

func (*Instance) DeepCopyInto

func (in *Instance) DeepCopyInto(out *Instance)

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

type InstanceState

type InstanceState string

InstanceState describes the state of an nifcloud instance.

type Network

type Network struct {
	// SecurityGroups is a map from a name of role/kind to spesific role filewall
	SecurityGroups map[SecurityGroupRole]SecurityGroup `json:"securityGroups,omitempty"`
}

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.

type NetworkSpec

type NetworkSpec struct {
}

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 NifcloudCluster

type NifcloudCluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NifcloudClusterSpec   `json:"spec,omitempty"`
	Status NifcloudClusterStatus `json:"status,omitempty"`
}

NifcloudCluster is the Schema for the nifcloudclusters API

func (*NifcloudCluster) DeepCopy

func (in *NifcloudCluster) DeepCopy() *NifcloudCluster

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

func (*NifcloudCluster) DeepCopyInto

func (in *NifcloudCluster) DeepCopyInto(out *NifcloudCluster)

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

func (*NifcloudCluster) DeepCopyObject

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

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

type NifcloudClusterList

type NifcloudClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NifcloudCluster `json:"items"`
}

NifcloudClusterList contains a list of NifcloudCluster

func (*NifcloudClusterList) DeepCopy

func (in *NifcloudClusterList) DeepCopy() *NifcloudClusterList

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

func (*NifcloudClusterList) DeepCopyInto

func (in *NifcloudClusterList) DeepCopyInto(out *NifcloudClusterList)

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

func (*NifcloudClusterList) DeepCopyObject

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

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

type NifcloudClusterSpec

type NifcloudClusterSpec struct {
	// NetworkSpec includes nifcloud network configurations
	NetworkSpec NetworkSpec `json:"networkSpec,omitempty"`

	// Zone is a nifcloud zone which cluster lives on
	Zone string `json:"zone,omitempty"`

	// Region ins a nifcloud region
	Region string `json:"region,omitempty"`

	// SSHKeyName is the name of ssh key to attach to the bastion
	SSHKeyName string `json:"sshKeyName,omitempty"`
}

NifcloudClusterSpec defines the desired state of NifcloudCluster

func (*NifcloudClusterSpec) DeepCopy

func (in *NifcloudClusterSpec) DeepCopy() *NifcloudClusterSpec

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

func (*NifcloudClusterSpec) DeepCopyInto

func (in *NifcloudClusterSpec) DeepCopyInto(out *NifcloudClusterSpec)

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

type NifcloudClusterStatus

type NifcloudClusterStatus struct {
	// cluster network configurations
	Network Network `json:"network,omitempty"`

	// bastion instatnce information
	Bastion *Instance `json:"bastion,omitempty"`

	// cluster resource is ready to available or not
	Ready bool `json:"ready,omitempty"`

	APIEndpoints []APIEndpoint `json:"apiEndpoints,omitempty"`

	// +optional
	ErrorReason string `json:"failureReason,omitempty"`
	// +optional
	ErrorMessage string `json:"failureMessage,omitempty"`
}

NifcloudClusterStatus defines the observed state of NifcloudCluster

func (*NifcloudClusterStatus) DeepCopy

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

func (*NifcloudClusterStatus) DeepCopyInto

func (in *NifcloudClusterStatus) DeepCopyInto(out *NifcloudClusterStatus)

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

type NifcloudMachine

type NifcloudMachine struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NifcloudMachineSpec   `json:"spec,omitempty"`
	Status NifcloudMachineStatus `json:"status,omitempty"`
}

NifcloudMachine is the Schema for the nifcloudmachines API

func (*NifcloudMachine) DeepCopy

func (in *NifcloudMachine) DeepCopy() *NifcloudMachine

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

func (*NifcloudMachine) DeepCopyInto

func (in *NifcloudMachine) DeepCopyInto(out *NifcloudMachine)

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

func (*NifcloudMachine) DeepCopyObject

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

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

type NifcloudMachineList

type NifcloudMachineList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NifcloudMachine `json:"items"`
}

NifcloudMachineList contains a list of NifcloudMachine

func (*NifcloudMachineList) DeepCopy

func (in *NifcloudMachineList) DeepCopy() *NifcloudMachineList

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

func (*NifcloudMachineList) DeepCopyInto

func (in *NifcloudMachineList) DeepCopyInto(out *NifcloudMachineList)

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

func (*NifcloudMachineList) DeepCopyObject

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

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

type NifcloudMachineSpec

type NifcloudMachineSpec struct {
	// the identifier for the provider's machine instance
	ProviderID *string `json:"providerID,omitempty"`

	// InstanceID is corresponding to nifcloud `instance id`
	InstanceID string `json:"instanceID,omitempty"`

	// ImageID is instance os image
	ImageID string `json:"imageID,omitempty"`

	// AvailabilityZone is reference to nifcloud availability zone for this instance
	AvailabilityZone *string `json:"availabilityZone,omitempty"`

	// KeyName is a ssh key name to attach to this instance
	KeyName string `json:"keyName,omitempty"`

	// InstanceType is reference to nifcloud instance type
	InstanceType string `json:"instanceType,omitempty"`

	// PublicType specifies whether this machine get public IP address or not
	// +optional
	PublicType string `json:"publicType,omitempty"`

	// NetworkInterfaces is a list of nifcloud networkInterfaceSet
	// max 2 entry : public,private
	// +optional
	// +kubebuilder:validation:MaxItems=2
	NetworkInterfaces []string `json:"networkInterfaces,omitempty"`
}

NifcloudMachineSpec defines the desired state of NifcloudMachine

func (*NifcloudMachineSpec) DeepCopy

func (in *NifcloudMachineSpec) DeepCopy() *NifcloudMachineSpec

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

func (*NifcloudMachineSpec) DeepCopyInto

func (in *NifcloudMachineSpec) DeepCopyInto(out *NifcloudMachineSpec)

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

type NifcloudMachineStatus

type NifcloudMachineStatus struct {
	// Ready is a flag whether this resouce is available or not
	Ready bool `json:"ready"`

	// Address contains apiserver endpoints
	Address []v1.NodeAddress `json:"address,omitempty"`

	// InstanceState is the state of the nifcloud instance
	InstanceState *InstanceState `json:"instanceState,omitempty"`

	// Bootstrap data has been sended to server
	SendBootstrap bool `json:"sendBootstrap,omitempty"`

	// +optional
	ErrorReason *errors.MachineStatusError `json:"errorReason,omitempty"`
	// +optional
	ErrorMessage *string `json:"errorMessage,omitempty"`
}

NifcloudMachineStatus defines the observed state of NifcloudMachine

func (*NifcloudMachineStatus) DeepCopy

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

func (*NifcloudMachineStatus) DeepCopyInto

func (in *NifcloudMachineStatus) DeepCopyInto(out *NifcloudMachineStatus)

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

type SecurityGroup

type SecurityGroup struct {
	// ID is an identifier
	ID string `json:"id"`
	// security(firewall) group name
	Name string `json:"name"`
	// ingress rules of the group
	// +optional
	IngressRules IngressRules `json:"ingressRules"`
}

SecurityGroup defines nifcloud firewall group

func (*SecurityGroup) DeepCopy

func (in *SecurityGroup) DeepCopy() *SecurityGroup

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

func (*SecurityGroup) DeepCopyInto

func (in *SecurityGroup) DeepCopyInto(out *SecurityGroup)

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

func (*SecurityGroup) String

func (s *SecurityGroup) String() string

type SecurityGroupProtocol

type SecurityGroupProtocol string

SecurityGroupProtocol defines the protocol type for a security group rule.

type SecurityGroupRole

type SecurityGroupRole string

SecurityGroupRole defines the unique role of a security group.

type Tag

type Tag map[string]string

func BuildTags

func BuildTags(params BuildParams) Tag

func ParseTags

func ParseTags(s string) Tag

parse description string to tag

func (Tag) ConvToString

func (t Tag) ConvToString() *string

convert tags to string which is set to description

func (Tag) DeepCopy

func (in Tag) DeepCopy() Tag

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

func (Tag) DeepCopyInto

func (in Tag) DeepCopyInto(out *Tag)

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