Help us shape the future of Go! Take the 2026 Go Developer Survey

v1

package
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: May 12, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

+kubebuilder:validation:Optional +groupName=machine.openshift.io

Index

Constants

View Source
const (
	// DeleteWithInstance enum property to delete disk with instance deletion
	DeleteWithInstance AlibabaDiskPreservationPolicy = "DeleteWithInstance"
	// PreserveDisk enum property to determine disk preservation with instance deletion
	PreserveDisk AlibabaDiskPreservationPolicy = "PreserveDisk"

	// AlibabaDiskEncryptionEnabled enum property to enable disk encryption
	AlibabaDiskEncryptionEnabled AlibabaDiskEncryptionMode = "encrypted"
	// AlibabaDiskEncryptionDisabled enum property to disable disk encryption
	AlibabaDiskEncryptionDisabled AlibabaDiskEncryptionMode = "disabled"

	// AlibabaDiskPerformanceLevel0 enum property to set the level at PL0
	PL0 AlibabaDiskPerformanceLevel = "PL0"
	// AlibabaDiskPerformanceLevel1 enum property to set the level at PL1
	PL1 AlibabaDiskPerformanceLevel = "PL1"
	// AlibabaDiskPerformanceLevel2 enum property to set the level at PL2
	PL2 AlibabaDiskPerformanceLevel = "PL2"
	// AlibabaDiskPerformanceLevel3 enum property to set the level at PL3
	PL3 AlibabaDiskPerformanceLevel = "PL3"

	// AlibabaDiskCategoryUltraDisk enum proprty to set the category of disk to ultra disk
	AlibabaDiskCatagoryUltraDisk AlibabaDiskCategory = "cloud_efficiency"
	// AlibabaDiskCategorySSD enum proprty to set the category of disk to standard SSD
	AlibabaDiskCatagorySSD AlibabaDiskCategory = "cloud_ssd"
	// AlibabaDiskCategoryESSD enum proprty to set the category of disk to ESSD
	AlibabaDiskCatagoryESSD AlibabaDiskCategory = "cloud_essd"
	// AlibabaDiskCategoryBasic enum proprty to set the category of disk to basic
	AlibabaDiskCatagoryBasic AlibabaDiskCategory = "cloud"

	// AlibabaResourceReferenceTypeID enum property to identify an ID type resource reference
	AlibabaResourceReferenceTypeID AlibabaResourceReferenceType = "ID"
	// AlibabaResourceReferenceTypeName enum property to identify an Name type resource reference
	AlibabaResourceReferenceTypeName AlibabaResourceReferenceType = "Name"
	// AlibabaResourceReferenceTypeTags enum property to identify a tags type resource reference
	AlibabaResourceReferenceTypeTags AlibabaResourceReferenceType = "Tags"
)
View Source
const (
	// PowerVSResourceTypeID enum property to identify an ID type resource reference
	PowerVSResourceTypeID PowerVSResourceType = "ID"
	// PowerVSResourceTypeName enum property to identify a Name type resource reference
	PowerVSResourceTypeName PowerVSResourceType = "Name"
	// PowerVSResourceTypeRegEx enum property to identify a tags type resource reference
	PowerVSResourceTypeRegEx PowerVSResourceType = "RegEx"
	// PowerVSProcessorTypeDedicated enum property to identify a Dedicated Power VS processor type
	PowerVSProcessorTypeDedicated PowerVSProcessorType = "Dedicated"
	// PowerVSProcessorTypeShared enum property to identify a Shared Power VS processor type
	PowerVSProcessorTypeShared PowerVSProcessorType = "Shared"
	// PowerVSProcessorTypeCapped enum property to identify a Capped Power VS processor type
	PowerVSProcessorTypeCapped PowerVSProcessorType = "Capped"
)

Variables

View Source
var (
	GroupName    = "machine.openshift.io"
	GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"}

	// Install is a function which adds this version to a scheme
	Install = schemeBuilder.AddToScheme

	// SchemeGroupVersion generated code relies on this name
	// Deprecated
	SchemeGroupVersion = GroupVersion
	// AddToScheme exists solely to keep the old generators creating valid code
	// DEPRECATED
	AddToScheme = schemeBuilder.AddToScheme
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource generated code relies on this being here, but it logically belongs to the group DEPRECATED

Types

type AlibabaCloudMachineProviderConfig

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

	//The instance type of the instance.
	InstanceType string `json:"instanceType"`

	// The ID of the vpc
	VpcID string `json:"vpcId"`

	// The ID of the region in which to create the instance. You can call the DescribeRegions operation to query the most recent region list.
	RegionID string `json:"regionId"`

	// The ID of the zone in which to create the instance. You can call the DescribeZones operation to query the most recent region list.
	ZoneID string `json:"zoneId"`

	// The ID of the image used to create the instance.
	ImageID string `json:"imageId"`

	// DataDisks holds information regarding the extra disks attached to the instance
	// +optional
	DataDisks []DataDiskProperties `json:"dataDisk,omitempty"`

	// SecurityGroups is a list of security group references to assign to the instance.
	// A reference holds either the security group ID, the resource name, or the required tags to search.
	// When more than one security group is returned for a tag search, all the groups are associated with the instance up to the
	// maximum number of security groups to which an instance can belong.
	// For more information, see the "Security group limits" section in Limits.
	// https://www.alibabacloud.com/help/en/doc-detail/25412.htm
	SecurityGroups []AlibabaResourceReference `json:"securityGroups,omitempty"`

	// Bandwidth describes the internet bandwidth strategy for the instance
	// +optional
	Bandwidth BandwidthProperties `json:"bandwidth,omitempty"`

	// SystemDisk holds the properties regarding the system disk for the instance
	// +optional
	SystemDisk SystemDiskProperties `json:"systemDisk,omitempty"`

	// VSwitch is a reference to the vswitch to use for this instance.
	// A reference holds either the vSwitch ID, the resource name, or the required tags to search.
	// When more than one vSwitch is returned for a tag search, only the first vSwitch returned will be used.
	// This parameter is required when you create an instance of the VPC type.
	// You can call the DescribeVSwitches operation to query the created vSwitches.
	VSwitch AlibabaResourceReference `json:"vSwitch"`

	// RAMRoleName is the name of the instance Resource Access Management (RAM) role. This allows the instance to perform API calls as this specified RAM role.
	// +optional
	RAMRoleName string `json:"ramRoleName,omitempty"`

	// ResourceGroup references the resource group to which to assign the instance.
	// A reference holds either the resource group ID, the resource name, or the required tags to search.
	// When more than one resource group are returned for a search, an error will be produced and the Machine will not be created.
	// Resource Groups do not support searching by tags.
	ResourceGroup AlibabaResourceReference `json:"resourceGroup"`

	// Tenancy specifies whether to create the instance on a dedicated host.
	// Valid values:
	//
	// default: creates the instance on a non-dedicated host.
	// host: creates the instance on a dedicated host. If you do not specify the DedicatedHostID parameter, Alibaba Cloud automatically selects a dedicated host for the instance.
	// Empty value means no opinion and the platform chooses the a default, which is subject to change over time.
	// Currently the default is `default`.
	// +optional
	Tenancy InstanceTenancy `json:"tenancy,omitempty"`

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

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

	// Tags are the set of metadata to add to an instance.
	// +optional
	Tags []Tag `json:"tag,omitempty"`
}

AlibabaCloudMachineProviderConfig is the Schema for the alibabacloudmachineproviderconfig API Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1 +k8s:openapi-gen=true

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.

func (AlibabaCloudMachineProviderConfig) SwaggerDoc

type AlibabaCloudMachineProviderConfigList

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

AlibabaCloudMachineProviderConfigList contains a list of AlibabaCloudMachineProviderConfig Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*AlibabaCloudMachineProviderConfigList) DeepCopy

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

func (*AlibabaCloudMachineProviderConfigList) DeepCopyInto

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

func (*AlibabaCloudMachineProviderConfigList) DeepCopyObject

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

func (AlibabaCloudMachineProviderConfigList) SwaggerDoc

type AlibabaCloudMachineProviderStatus

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

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

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

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

AlibabaCloudMachineProviderStatus is the Schema for the alibabacloudmachineproviderconfig API Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1 +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

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.

func (AlibabaCloudMachineProviderStatus) SwaggerDoc

type AlibabaDiskCategory

type AlibabaDiskCategory string

AlibabaDiskCatagory enum attribute to deescribe a disk's category

type AlibabaDiskEncryptionMode

type AlibabaDiskEncryptionMode string

AlibabaDiskEncryptionMode enum attribute to describe whether to enable or disable disk encryption

type AlibabaDiskPerformanceLevel

type AlibabaDiskPerformanceLevel string

AlibabaDiskPerformanceLevel enum attribute to describe a disk's performance level

type AlibabaDiskPreservationPolicy

type AlibabaDiskPreservationPolicy string

AlibabaDiskPreservationPolicy enum attribute to describe whether to preserve or delete a disk upon instance removal

type AlibabaResourceReference

type AlibabaResourceReference struct {
	// type identifies the resource reference type for this entry.
	Type AlibabaResourceReferenceType `json:"type"`

	// ID of resource
	// +optional
	ID *string `json:"id,omitempty"`

	// Name of the resource
	// +optional
	Name *string `json:"name,omitempty"`

	// Tags is a set of metadata based upon ECS object tags used to identify a resource.
	// For details about usage when multiple resources are found, please see the owning parent field documentation.
	// +optional
	Tags *[]Tag `json:"tags,omitempty"`
}

ResourceTagReference is a reference to a specific AlibabaCloud resource by ID, or tags. Only one of ID or Tags may be specified. Specifying more than one will result in a validation error.

func (*AlibabaResourceReference) DeepCopy

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

func (*AlibabaResourceReference) DeepCopyInto

func (in *AlibabaResourceReference) DeepCopyInto(out *AlibabaResourceReference)

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

func (AlibabaResourceReference) SwaggerDoc

func (AlibabaResourceReference) SwaggerDoc() map[string]string

type AlibabaResourceReferenceType

type AlibabaResourceReferenceType string

AlibabaResourceReferenceType enum attribute to identify the type of resource reference

type BandwidthProperties

type BandwidthProperties struct {
	// InternetMaxBandwidthIn is the maximum inbound public bandwidth. Unit: Mbit/s. Valid values:
	// When the purchased outbound public bandwidth is less than or equal to 10 Mbit/s, the valid values of this parameter are 1 to 10.
	// Currently the default is `10` when outbound bandwidth is less than or equal to 10 Mbit/s.
	// When the purchased outbound public bandwidth is greater than 10, the valid values are 1 to the InternetMaxBandwidthOut value.
	// Currently the default is the value used for `InternetMaxBandwidthOut` when outbound public bandwidth is greater than 10.
	// +optional
	InternetMaxBandwidthIn int64 `json:"internetMaxBandwidthIn,omitempty"`

	// InternetMaxBandwidthOut is the maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100.
	// When a value greater than 0 is used then a public IP address is assigned to the instance.
	// Empty value means no opinion and the platform chooses the a default, which is subject to change over time.
	// Currently the default is `0`
	// +optional
	InternetMaxBandwidthOut int64 `json:"internetMaxBandwidthOut,omitempty"`
}

Bandwidth describes the bandwidth strategy for the network of the instance

func (*BandwidthProperties) DeepCopy

func (in *BandwidthProperties) DeepCopy() *BandwidthProperties

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

func (*BandwidthProperties) DeepCopyInto

func (in *BandwidthProperties) DeepCopyInto(out *BandwidthProperties)

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

func (BandwidthProperties) SwaggerDoc

func (BandwidthProperties) SwaggerDoc() map[string]string

type DataDiskProperties

type DataDiskProperties struct {
	// Name is the name of data disk N. If the name is specified the name must be 2 to 128 characters in length. It must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), and hyphens (-).
	//
	// Empty value means the platform chooses a default, which is subject to change over time.
	// Currently the default is `""`.
	// +optional
	Name string `name:"diskName,omitempty"`

	// SnapshotID is the ID of the snapshot used to create data disk N. Valid values of N: 1 to 16.
	//
	// When the DataDisk.N.SnapshotID parameter is specified, the DataDisk.N.Size parameter is ignored. The data disk is created based on the size of the specified snapshot.
	// Use snapshots created after July 15, 2013. Otherwise, an error is returned and your request is rejected.
	//
	// +optional
	SnapshotID string `name:"snapshotId,omitempty"`

	// Size of the data disk N. Valid values of N: 1 to 16. Unit: GiB. Valid values:
	//
	// Valid values when DataDisk.N.Category is set to cloud_efficiency: 20 to 32768
	// Valid values when DataDisk.N.Category is set to cloud_ssd: 20 to 32768
	// Valid values when DataDisk.N.Category is set to cloud_essd: 20 to 32768
	// Valid values when DataDisk.N.Category is set to cloud: 5 to 2000
	// The value of this parameter must be greater than or equal to the size of the snapshot specified by the SnapshotID parameter.
	// +optional
	Size int64 `name:"size,omitempty"`

	// DiskEncryption specifies whether to encrypt data disk N.
	//
	// Empty value means the platform chooses a default, which is subject to change over time.
	// Currently the default is `disabled`.
	// +kubebuilder:validation:Enum="encrypted";"disabled"
	// +optional
	DiskEncryption AlibabaDiskEncryptionMode `name:"diskEncryption,omitempty"`

	// PerformanceLevel is the performance level of the ESSD used as as data disk N.  The N value must be the same as that in DataDisk.N.Category when DataDisk.N.Category is set to cloud_essd.
	// Empty value means no opinion and the platform chooses a default, which is subject to change over time.
	// Currently the default is `PL1`.
	// Valid values:
	//
	// PL0: A single ESSD can deliver up to 10,000 random read/write IOPS.
	// PL1: A single ESSD can deliver up to 50,000 random read/write IOPS.
	// PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.
	// PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS.
	// For more information about ESSD performance levels, see ESSDs.
	// +kubebuilder:validation:Enum="PL0"; "PL1"; "PL2"; "PL3"
	// +optional
	PerformanceLevel AlibabaDiskPerformanceLevel `name:"performanceLevel,omitempty"`

	// Category describes the type of data disk N.
	// Valid values:
	// cloud_efficiency: ultra disk
	// cloud_ssd: standard SSD
	// cloud_essd: ESSD
	// cloud: basic disk
	// Empty value means no opinion and the platform chooses the a default, which is subject to change over time.
	// Currently for non-I/O optimized instances of retired instance types, the default is `cloud`.
	// Currently for other instances, the default is `cloud_efficiency`.
	// +kubebuilder:validation:Enum="cloud_efficiency"; "cloud_ssd"; "cloud_essd"; "cloud"
	// +optional
	Category AlibabaDiskCategory `name:"category,omitempty"`

	// KMSKeyID is the ID of the Key Management Service (KMS) key to be used by data disk N.
	// Empty value means no opinion and the platform chooses the a default, which is subject to change over time.
	// Currently the default is `""` which is interpreted as do not use KMSKey encryption.
	// +optional
	KMSKeyID string `name:"kmsKeyId,omitempty"`

	// DiskPreservation specifies whether to release data disk N along with the instance.
	// Empty value means no opinion and the platform chooses the a default, which is subject to change over time.
	// Currently the default is `DeleteWithInstance`
	// +kubebuilder:validation:Enum="DeleteWithInstance";"PreserveDisk"
	// +optional
	DiskPreservation AlibabaDiskPreservationPolicy `name:"diskPreservation,omitempty"`
}

DataDisk contains the information regarding the datadisk attached to an instance

func (*DataDiskProperties) DeepCopy

func (in *DataDiskProperties) DeepCopy() *DataDiskProperties

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

func (*DataDiskProperties) DeepCopyInto

func (in *DataDiskProperties) DeepCopyInto(out *DataDiskProperties)

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

func (DataDiskProperties) SwaggerDoc

func (DataDiskProperties) SwaggerDoc() map[string]string

type InstanceTenancy

type InstanceTenancy string

InstanceTenancy indicates if instance should run on shared or single-tenant hardware.

const (
	// DefaultTenancy instance runs on shared hardware
	DefaultTenancy InstanceTenancy = "default"
	// DedicatedTenancy instance runs on single-tenant hardware
	DedicatedTenancy InstanceTenancy = "dedicated"
	// HostTenancy instance runs on a Dedicated Host, which is an isolated server with configurations that you can control.
	HostTenancy InstanceTenancy = "host"
)

type NutanixIdentifierType

type NutanixIdentifierType string

NutanixIdentifierType is an enumeration of different resource identifier types.

const (
	// NutanixIdentifierUUID is a resource identifier identifying the object by UUID.
	NutanixIdentifierUUID NutanixIdentifierType = "uuid"

	// NutanixIdentifierName is a resource identifier identifying the object by Name.
	NutanixIdentifierName NutanixIdentifierType = "name"
)

type NutanixMachineProviderConfig

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

	// cluster is to identify the cluster (the Prism Element under management
	// of the Prism Central), in which the Machine's VM will be created.
	// The cluster identifier (uuid or name) can be obtained from the Prism Central console
	// or using the prism_central API.
	// +kubebuilder:validation:Required
	Cluster NutanixResourceIdentifier `json:"cluster"`

	// image is to identify the rhcos image uploaded to the Prism Central (PC)
	// The image identifier (uuid or name) can be obtained from the Prism Central console
	// or using the prism_central API.
	// +kubebuilder:validation:Required
	Image NutanixResourceIdentifier `json:"image"`

	// subnets holds a list of identifiers (one or more) of the cluster's network subnets
	// for the Machine's VM to connect to. The subnet identifiers (uuid or name) can be
	// obtained from the Prism Central console or using the prism_central API.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems=1
	Subnets []NutanixResourceIdentifier `json:"subnets"`

	// vcpusPerSocket is the number of vCPUs per socket of the VM
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1
	VCPUsPerSocket int32 `json:"vcpusPerSocket"`

	// vcpuSockets is the number of vCPU sockets of the VM
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1
	VCPUSockets int32 `json:"vcpuSockets"`

	// memorySize is the memory size (in Quantity format) of the VM
	// The minimum memorySize is 2Gi bytes
	// +kubebuilder:validation:Required
	MemorySize resource.Quantity `json:"memorySize"`

	// systemDiskSize is size (in Quantity format) of the system disk of the VM
	// The minimum systemDiskSize is 20Gi bytes
	// +kubebuilder:validation:Required
	SystemDiskSize resource.Quantity `json:"systemDiskSize"`

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

	// credentialsSecret is a local reference to a secret that contains the
	// credentials data to access Nutanix PC client
	// +kubebuilder:validation:Required
	CredentialsSecret *corev1.LocalObjectReference `json:"credentialsSecret"`
}

NutanixMachineProviderConfig is the Schema for the nutanixmachineproviderconfigs API Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1 +k8s:openapi-gen=true

func (*NutanixMachineProviderConfig) DeepCopy

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

func (*NutanixMachineProviderConfig) DeepCopyInto

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

func (*NutanixMachineProviderConfig) DeepCopyObject

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

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

func (NutanixMachineProviderConfig) SwaggerDoc

func (NutanixMachineProviderConfig) SwaggerDoc() map[string]string

type NutanixMachineProviderStatus

type NutanixMachineProviderStatus struct {
	metav1.TypeMeta `json:",inline"`

	// conditions is a set of conditions associated with the Machine to indicate
	// errors or other status
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// vmUUID is the Machine associated VM's UUID
	// The field is missing before the VM is created.
	// Once the VM is created, the field is filled with the VM's UUID and it will not change.
	// The vmUUID is used to find the VM when updating the Machine status,
	// and to delete the VM when the Machine is deleted.
	// +optional
	VmUUID *string `json:"vmUUID,omitempty"`
}

NutanixMachineProviderStatus is the type that will be embedded in a Machine.Status.ProviderStatus field. It contains nutanix-specific status information. Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1 +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*NutanixMachineProviderStatus) DeepCopy

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

func (*NutanixMachineProviderStatus) DeepCopyInto

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

func (*NutanixMachineProviderStatus) DeepCopyObject

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

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

func (NutanixMachineProviderStatus) SwaggerDoc

func (NutanixMachineProviderStatus) SwaggerDoc() map[string]string

type NutanixResourceIdentifier

type NutanixResourceIdentifier struct {
	// Type is the identifier type to use for this resource.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum:=uuid;name
	Type NutanixIdentifierType `json:"type"`

	// uuid is the UUID of the resource in the PC.
	// +optional
	UUID *string `json:"uuid,omitempty"`

	// name is the resource name in the PC
	// +optional
	Name *string `json:"name,omitempty"`
}

NutanixResourceIdentifier holds the identity of a Nutanix PC resource (cluster, image, subnet, etc.) +union

func (*NutanixResourceIdentifier) DeepCopy

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

func (*NutanixResourceIdentifier) DeepCopyInto

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

func (NutanixResourceIdentifier) SwaggerDoc

func (NutanixResourceIdentifier) SwaggerDoc() map[string]string

type PowerVSMachineProviderConfig

type PowerVSMachineProviderConfig struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

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

	// credentialsSecret is a reference to the secret with IBM Cloud credentials.
	// +optional
	CredentialsSecret *PowerVSSecretReference `json:"credentialsSecret,omitempty"`

	// serviceInstance is the reference to the Power VS service on which the server instance(VM) will be created.
	// Power VS service is a container for all Power VS instances at a specific geographic region.
	// serviceInstance can be created via IBM Cloud catalog or CLI.
	// supported serviceInstance identifier in PowerVSResource are Name and ID and that can be obtained from IBM Cloud UI or IBM Cloud cli.
	// More detail about Power VS service instance.
	// https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-creating-power-virtual-server
	// +kubebuilder:validation:=Required
	ServiceInstance PowerVSResource `json:"serviceInstance"`

	// image is to identify the rhcos image uploaded to IBM COS bucket which is used to create the instance.
	// supported image identifier in PowerVSResource are Name and ID and that can be obtained from IBM Cloud UI or IBM Cloud cli.
	// +kubebuilder:validation:=Required
	Image PowerVSResource `json:"image"`

	// network is the reference to the Network to use for this instance.
	// supported network identifier in PowerVSResource are Name, ID and RegEx and that can be obtained from IBM Cloud UI or IBM Cloud cli.
	// +kubebuilder:validation:=Required
	Network PowerVSResource `json:"network"`

	// keyPairName is the name of the KeyPair to use for SSH.
	// The key pair will be exposed to the instance via the instance metadata service.
	// On boot, the OS will copy the public keypair into the authorized keys for the core user.
	// +kubebuilder:validation:=Required
	KeyPairName string `json:"keyPairName"`

	// systemType is the System type used to host the instance.
	// systemType determines the number of cores and memory that is available.
	// Few of the supported SystemTypes are s922,e880,e980.
	// e880 systemType available only in Dallas Datacenters.
	// e980 systemType available in Datacenters except Dallas and Washington.
	// When omitted, this means that the user has no opinion and the platform is left to choose a
	// reasonable default, which is subject to change over time. The current default is s922 which is generally available.
	// + This is not an enum because we expect other values to be added later which should be supported implicitly.
	// +optional
	SystemType string `json:"systemType,omitempty"`

	// processorType is the VM instance processor type.
	// It must be set to one of the following values: Dedicated, Capped or Shared.
	// Dedicated: resources are allocated for a specific client, The hypervisor makes a 1:1 binding of a partition’s processor to a physical processor core.
	// Shared: Shared among other clients.
	// Capped: Shared, but resources do not expand beyond those that are requested, the amount of CPU time is Capped to the value specified for the entitlement.
	// if the processorType is selected as Dedicated, then processors value cannot be fractional.
	// When omitted, this means that the user has no opinion and the platform is left to choose a
	// reasonable default, which is subject to change over time. The current default is Shared.
	// +kubebuilder:validation:Enum:="Dedicated";"Shared";"Capped";""
	// +optional
	ProcessorType PowerVSProcessorType `json:"processorType,omitempty"`

	// processors is the number of virtual processors in a virtual machine.
	// when the processorType is selected as Dedicated the processors value cannot be fractional.
	// maximum value for the Processors depends on the selected SystemType.
	// when SystemType is set to e880 or e980 maximum Processors value is 143.
	// when SystemType is set to s922 maximum Processors value is 15.
	// minimum value for Processors depends on the selected ProcessorType.
	// when ProcessorType is set as Shared or Capped, The minimum processors is 0.5.
	// when ProcessorType is set as Dedicated, The minimum processors is 1.
	// When omitted, this means that the user has no opinion and the platform is left to choose a
	// reasonable default, which is subject to change over time. The default is set based on the selected ProcessorType.
	// when ProcessorType selected as Dedicated, the default is set to 1.
	// when ProcessorType selected as Shared or Capped, the default is set to 0.5.
	// +optional
	Processors intstr.IntOrString `json:"processors,omitempty"`

	// memoryGiB is the size of a virtual machine's memory, in GiB.
	// maximum value for the MemoryGiB depends on the selected SystemType.
	// when SystemType is set to e880 maximum MemoryGiB value is 7463 GiB.
	// when SystemType is set to e980 maximum MemoryGiB value is 15307 GiB.
	// when SystemType is set to s922 maximum MemoryGiB value is 942 GiB.
	// The minimum memory is 32 GiB.
	// When omitted, this means the user has no opinion and the platform is left to choose a reasonable
	// default, which is subject to change over time. The current default is 32.
	// +optional
	MemoryGiB int32 `json:"memoryGiB,omitempty"`
}

PowerVSMachineProviderConfig is the type that will be embedded in a Machine.Spec.ProviderSpec field for a PowerVS virtual machine. It is used by the PowerVS machine actuator to create a single Machine.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1 +k8s:openapi-gen=true

func (*PowerVSMachineProviderConfig) DeepCopy

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

func (*PowerVSMachineProviderConfig) DeepCopyInto

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

func (*PowerVSMachineProviderConfig) DeepCopyObject

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

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

func (PowerVSMachineProviderConfig) SwaggerDoc

func (PowerVSMachineProviderConfig) SwaggerDoc() map[string]string

type PowerVSMachineProviderStatus

type PowerVSMachineProviderStatus struct {
	metav1.TypeMeta `json:",inline"`

	// conditions is a set of conditions associated with the Machine to indicate
	// errors or other status
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// instanceId is the instance ID of the machine created in PowerVS
	// instanceId uniquely identifies a Power VS server instance(VM) under a Power VS service.
	// This will help in updating or deleting a VM in Power VS Cloud
	// +optional
	InstanceID *string `json:"instanceId,omitempty"`

	// serviceInstanceID is the reference to the Power VS ServiceInstance on which the machine instance will be created.
	// serviceInstanceID uniquely identifies the Power VS service
	// By setting serviceInstanceID it will become easy and efficient to fetch a server instance(VM) within Power VS Cloud.
	// +optional
	ServiceInstanceID *string `json:"serviceInstanceID,omitempty"`

	// instanceState is the state of the PowerVS instance for this machine
	// Possible instance states are Active, Build, ShutOff, Reboot
	// This is used to display additional information to user regarding instance current state
	// +optional
	InstanceState *string `json:"instanceState,omitempty"`
}

PowerVSMachineProviderStatus is the type that will be embedded in a Machine.Status.ProviderStatus field. It contains PowerVS-specific status information.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1 +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*PowerVSMachineProviderStatus) DeepCopy

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

func (*PowerVSMachineProviderStatus) DeepCopyInto

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

func (*PowerVSMachineProviderStatus) DeepCopyObject

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

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

func (PowerVSMachineProviderStatus) SwaggerDoc

func (PowerVSMachineProviderStatus) SwaggerDoc() map[string]string

type PowerVSProcessorType

type PowerVSProcessorType string

PowerVSProcessorType enum attribute to identify the PowerVS instance processor type

type PowerVSResource

type PowerVSResource struct {
	// Type identifies the resource type for this entry.
	// Valid values are ID, Name and RegEx
	// +kubebuilder:validation:Enum:=ID;Name;RegEx
	// +optional
	Type PowerVSResourceType `json:"type,omitempty"`
	// ID of resource
	// +optional
	ID *string `json:"id,omitempty"`
	// Name of resource
	// +optional
	Name *string `json:"name,omitempty"`
	// Regex to find resource
	// Regex contains the pattern to match to find a resource
	// +optional
	RegEx *string `json:"regex,omitempty"`
}

PowerVSResource is a reference to a specific PowerVS resource by ID, Name or RegEx Only one of ID, Name or RegEx may be specified. Specifying more than one will result in a validation error. +union

func (*PowerVSResource) DeepCopy

func (in *PowerVSResource) DeepCopy() *PowerVSResource

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

func (*PowerVSResource) DeepCopyInto

func (in *PowerVSResource) DeepCopyInto(out *PowerVSResource)

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

func (PowerVSResource) SwaggerDoc

func (PowerVSResource) SwaggerDoc() map[string]string

type PowerVSResourceType

type PowerVSResourceType string

PowerVSResourceType enum attribute to identify the type of resource reference

type PowerVSSecretReference

type PowerVSSecretReference struct {
	// Name of the secret.
	// +optional
	Name string `json:"name,omitempty"`
}

PowerVSSecretReference contains enough information to locate the referenced secret inside the same namespace. +structType=atomic

func (*PowerVSSecretReference) DeepCopy

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

func (*PowerVSSecretReference) DeepCopyInto

func (in *PowerVSSecretReference) DeepCopyInto(out *PowerVSSecretReference)

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

func (PowerVSSecretReference) SwaggerDoc

func (PowerVSSecretReference) SwaggerDoc() map[string]string

type SystemDiskProperties

type SystemDiskProperties struct {
	// Category is the category of the system disk.
	// Valid values:
	// cloud_essd: ESSD. When the parameter is set to this value, you can use the SystemDisk.PerformanceLevel parameter to specify the performance level of the disk.
	// cloud_efficiency: ultra disk.
	// cloud_ssd: standard SSD.
	// cloud: basic disk.
	// Empty value means no opinion and the platform chooses the a default, which is subject to change over time.
	// Currently for non-I/O optimized instances of retired instance types, the default is `cloud`.
	// Currently for other instances, the default is `cloud_efficiency`.
	// +kubebuilder:validation:Enum="cloud_efficiency"; "cloud_ssd"; "cloud_essd"; "cloud"
	// +optional
	Category string `json:"category,omitempty"`

	// PerformanceLevel is the performance level of the ESSD used as the system disk.
	// Valid values:
	//
	// PL0: A single ESSD can deliver up to 10,000 random read/write IOPS.
	// PL1: A single ESSD can deliver up to 50,000 random read/write IOPS.
	// PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.
	// PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS.
	// Empty value means no opinion and the platform chooses a default, which is subject to change over time.
	// Currently the default is `PL1`.
	// For more information about ESSD performance levels, see ESSDs.
	// +kubebuilder:validation:Enum="PL0"; "PL1"; "PL2"; "PL3"
	// +optional
	PerformanceLevel string `json:"performanceLevel,omitempty"`

	// Name is the name of the system disk. If the name is specified the name must be 2 to 128 characters in length. It must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), and hyphens (-).
	// Empty value means the platform chooses a default, which is subject to change over time.
	// Currently the default is `""`.
	// +kubebuilder:validation:MaxLength=128
	// +optional
	Name string `json:"name,omitempty"`

	// Size is the size of the system disk. Unit: GiB. Valid values: 20 to 500.
	// The value must be at least 20 and greater than or equal to the size of the image.
	// Empty value means the platform chooses a default, which is subject to change over time.
	// Currently the default is `40` or the size of the image depending on whichever is greater.
	// +optional
	Size int64 `json:"size,omitempty"`
}

SystemDiskProperties contains the information regarding the system disk including performance, size, name, and category

func (*SystemDiskProperties) DeepCopy

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

func (*SystemDiskProperties) DeepCopyInto

func (in *SystemDiskProperties) DeepCopyInto(out *SystemDiskProperties)

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

func (SystemDiskProperties) SwaggerDoc

func (SystemDiskProperties) SwaggerDoc() map[string]string

type Tag

type Tag struct {
	// Key is the name of the key pair
	Key string `name:"Key"`
	// Value is the value or data of the key pair
	Value string `name:"value"`
}

Tag The tags of ECS Instance

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.

func (Tag) SwaggerDoc

func (Tag) SwaggerDoc() map[string]string

Jump to

Keyboard shortcuts

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