v1alpha1

package
v0.0.0-...-79aa2ab Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2019 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the alicloudproviderconfig v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=alicloudproviderconfig.openshift.io

Package v1alpha1 contains API Schema definitions for the alicloudproviderconfig v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=alicloudproviderconfig.openshift.io

Index

Constants

View Source
const (
	ClusterIDLabel = "machine.openshift.io/cluster-api-cluster"
)

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "alicloudproviderconfig.openshift.io", Version: "v1alpha1"}

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

Functions

func NewScheme

func NewScheme() (*runtime.Scheme, error)

NewScheme creates a new Scheme

Types

type AliCloudMachineProviderConditionType

type AliCloudMachineProviderConditionType string

AliCloudMachineProviderConditionType is a valid value for AlibabaCloudMachineProviderCondition.Type

const (
	// MachineCreation indicates whether the machine has been created or not. If not,
	// it should include a reason and message for the failure.
	MachineCreation AliCloudMachineProviderConditionType = "MachineCreation"

	MachineCreated AliCloudMachineProviderConditionType = "MachineCreated"
)

Valid conditions for an AliCloud machine instance

type AlibabaCloudMachineProviderCondition

type AlibabaCloudMachineProviderCondition struct {
	// Type is the type of the condition.
	Type AliCloudMachineProviderConditionType `json:"type"`
	// Status is the status of the condition.
	Status corev1.ConditionStatus `json:"status"`
	// LastProbeTime is the last time we probed the condition.
	// +optional
	LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"`
	// LastTransitionTime is the last time the condition transitioned from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// Reason is a unique, one-word, CamelCase reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// Message is a human-readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty"`
}

AlibabaCloudMachineProviderCondition is a condition in a AlibabaCloudMachineProviderStatus

func (*AlibabaCloudMachineProviderCondition) DeepCopy

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

func (*AlibabaCloudMachineProviderCondition) DeepCopyInto

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

func (*AlibabaCloudMachineProviderCondition) DeepCopyObject

func (*AlibabaCloudMachineProviderCondition) GetObjectKind

type AlibabaCloudMachineProviderConfig

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

	//The ID of the image file that you specified when you create the instance. Example :centos_7_06_64_20G_alibase_20190619.vhd
	ImageId string `json:"imageId"`

	// The type of the instance. Example: ecs.n4.large
	InstanceType string `json:"instanceType"`

	//The region ID of the instance. Example: cn-hangzhou
	RegionId string `json:"regionId"`

	/**
	The name of the instance. It must be 2 to 128 characters in length and can contain uppercase and lowercase letters,
	digits, colons (:), underscores (_), and hyphens (-). It must start with a letter. It cannot start with http:// or https://.
	If this parameter is not specified, InstanceId is used by default.
	*/
	InstanceName string `json:"instanceName"`

	// PublicIP specifies whether the instance should get a public IP. If not present,
	// it should use the default of its subnet.
	PublicIP bool `json:"publicIp"`

	//The ID of the VPC
	VpcId string `json:"vpcId"`

	//The ID of the VSwitch. It must be specified when you create VPC-type instances.
	VSwitchId string `json:"vSwitchId"`

	// KeyPairName is the name of the KeyPair to use for SSH
	KeyPairName string `json:"keyPairName"`

	// UserDataSecret contains a local reference to a secret that contains the
	// UserData to apply to the instance
	UserDataSecret *corev1.LocalObjectReference `json:"userDataSecret,omitempty"`

	// CredentialsSecret is a reference to the secret with AliCloud credentials. Otherwise, defaults to permissions
	// provided by attached RAM role where the actuator is running.
	CredentialsSecret *corev1.LocalObjectReference `json:"credentialsSecret,omitempty"`

	//The RAM role name of the instance
	RamRoleName string `json:"ramRoleName"`

	//The ID of the security group to which the instance belongs
	SecurityGroupId string `json:"securityGroupId"`

	//The tags  of the instance
	Tags []TagSpecification `json:"tags,omitempty"`

	/**
	The category of the system disk. The default value of the non-optimized instance for phased-out instance types for which I/O optimization is not performed is cloud. The default value for other instances is cloud_efficiency. Valid values:

	cloud: basic disk.
	cloud_efficiency: ultra disk.
	cloud_ssd: SSD.
	ephemeral_ssd: local SSD.
	cloud_essd: ESSD. ESSDs are still in the public beta test phase and only available in some regions. For more information, see ESSD FAQ.
	*/
	SystemDiskCategory string `json:"systemDiskCategory"`

	/**
	The size of the system disk. Unit: GiB. Valid values: 20 to 500.

	This value must be equal to or greater than max {20, ImageSize}. Default value: max {40, ImageSize}.
	*/
	SystemDiskSize int64 `json:"systemDiskSize"`

	/**
	The name of the system disk. It must be 2 to 128 characters in length and can contain uppercase and lowercase letters, digits, colons (:),
	underscores (_), and hyphens (-). It must start with a letter. It cannot start with http:// or https://. Default value: null.
	*/
	SystemDiskDiskName string `json:"systemDiskDiskName"`

	/**
	The description of the system disk. It must be 2 to 256 characters in length. It cannot start with http:// or https://.
	*/
	SystemDiskDescription string `json:"systemDiskDescription"`

	//DataDisks of the instance
	DataDisks []DataDiskSpecification `json:"dataDisks,omitempty"`

	/**
	The release protection attribute of the instance. It indicates whether you can use the ECS console or
	call the DeleteInstance action to release the instance. Default value: false. Valid values:
	true: enables release protection.
	false: disables release protection.
	*/
	DeletionProtection bool `json:"deletionProtection"`
}

AlibabaCloudMachineProviderConfig is the Schema for the alicloudmachineproviderconfigs API +k8s:openapi-gen=true +kubebuilder:subresource:status

func (*AlibabaCloudMachineProviderConfig) DeepCopy

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

func (*AlibabaCloudMachineProviderConfig) DeepCopyInto

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

func (*AlibabaCloudMachineProviderConfig) DeepCopyObject

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

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

type AlibabaCloudMachineProviderList

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

AlibabaCloudMachineProviderList contains a list of AlibabaCloudMachineProviderConfig

func (*AlibabaCloudMachineProviderList) DeepCopy

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

func (*AlibabaCloudMachineProviderList) DeepCopyInto

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

func (*AlibabaCloudMachineProviderList) DeepCopyObject

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

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

type AlibabaCloudMachineProviderStatus

type AlibabaCloudMachineProviderStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
	// Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// InstanceID is the instance ID of the machine created in AliCloud
	// +optional
	InstanceID *string `json:"instanceId,omitempty"`

	// InstanceState is the state of the ECS instance for this machine
	// +optional
	InstanceStatus *string `json:"instanceStatus,omitempty"`

	// Conditions is a set of conditions associated with the Machine to indicate
	// errors or other status
	Conditions []AlibabaCloudMachineProviderCondition `json:"conditions,omitempty"`
}

AlibabaCloudMachineProviderStatus defines the observed state of AlibabaCloudMachineProviderConfig +k8s:openapi-gen=true

func (*AlibabaCloudMachineProviderStatus) DeepCopy

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

func (*AlibabaCloudMachineProviderStatus) DeepCopyInto

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

func (*AlibabaCloudMachineProviderStatus) DeepCopyObject

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

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

type AlicloudProviderConfigCodec

type AlicloudProviderConfigCodec struct {
	// contains filtered or unexported fields
}

AlicloudProviderConfigCodec is a runtime codec for the provider configuration +k8s:deepcopy-gen=false

func NewCodec

func NewCodec() (*AlicloudProviderConfigCodec, error)

NewCodec creates a serializer/deserializer for the provider configuration

func (*AlicloudProviderConfigCodec) DecodeProviderSpec

func (codec *AlicloudProviderConfigCodec) DecodeProviderSpec(providerSpec *machinev1.ProviderSpec, out runtime.Object) error

DecodeProviderSpec deserialises an object from the provider config

func (*AlicloudProviderConfigCodec) DecodeProviderStatus

func (codec *AlicloudProviderConfigCodec) DecodeProviderStatus(providerStatus *runtime.RawExtension, out runtime.Object) error

DecodeProviderStatus deserialises the provider status

func (*AlicloudProviderConfigCodec) EncodeProviderSpec

func (codec *AlicloudProviderConfigCodec) EncodeProviderSpec(in runtime.Object) (*machinev1.ProviderSpec, error)

EncodeProviderSpec serialises an object to the provider config

func (*AlicloudProviderConfigCodec) EncodeProviderStatus

func (codec *AlicloudProviderConfigCodec) EncodeProviderStatus(in runtime.Object) (*runtime.RawExtension, error)

EncodeProviderStatus serialises the provider status

type DataDiskSpecification

type DataDiskSpecification struct {
	/**
	The category of the nth data disk. Default value: cloud. Valid values:

	cloud: basic disk.
	cloud_efficiency: ultra disk.
	cloud_ssd: SSD.
	ephemeral_ssd: local SSD.
	cloud_essd: ESSD. ESSDs are still in the public beta test phase and only available in some regions
	*/
	Category string `json:"category"`

	/**
	Indicates whether the data disk is released along with the instance. Default value: true.
	*/
	DeleteWithInstance *bool `json:"deleteWithInstance,omitempty"`

	/**
	The description of the data disk. It must be 2 to 256 characters in length. It cannot start with http:// or https://. Default value: null.
	*/
	Description string `json:"description"`

	/**
	The mount point of the nth data disk.Default value : /dev/xvda
	*/
	Device string `json:"device"`

	/**
	The name of the nth data disk. It must be 2 to 128 characters in length and can contain uppercase and lowercase letters,
	digits, colons (:), underscores (_), and hyphens (-). It must start with a letter. It cannot start with http://
	or https://. Default value: null.

	*/
	DiskName string `json:"diskName"`

	/**
	Indicates whether the nth data disk is encrypted. Default value: false.
	*/
	Encrypted bool `json:"encrypted"`

	/**
	The size of the nth data disk. n ranges from 1 to 16. Unit: GiB. Valid values:

	cloud: 5 to 2,000.
	cloud_efficiency: 20 to 32,768.
	cloud_ssd: 20 to 32,768.
	cloud_essd: 20 to 32,768.
	ephemeral_ssd: 5 to 800.
	This value must be equal to or greater than the size of SnapshotId.
	*/
	Size int64 `json:"size"`

	/**
	The ID of the snapshot used to create the nth data disk
	*/
	SnapshotId string `json:"snapshotId"`
}

DataDiskSpecification is the definition of datadisk

type TagSpecification

type TagSpecification struct {
	// Name of the tag
	Key string `json:"key"`

	// Value of the tag
	Value string `json:"value"`
}

TagSpecification is the name/value pair for a tag

Jump to

Keyboard shortcuts

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