Documentation ¶
Overview ¶
+kubebuilder:validation:Optional +groupName=machine.openshift.io
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type AlibabaCloudMachineProviderConfig
- func (in *AlibabaCloudMachineProviderConfig) DeepCopy() *AlibabaCloudMachineProviderConfig
- func (in *AlibabaCloudMachineProviderConfig) DeepCopyInto(out *AlibabaCloudMachineProviderConfig)
- func (in *AlibabaCloudMachineProviderConfig) DeepCopyObject() runtime.Object
- func (AlibabaCloudMachineProviderConfig) SwaggerDoc() map[string]string
- type AlibabaCloudMachineProviderConfigList
- func (in *AlibabaCloudMachineProviderConfigList) DeepCopy() *AlibabaCloudMachineProviderConfigList
- func (in *AlibabaCloudMachineProviderConfigList) DeepCopyInto(out *AlibabaCloudMachineProviderConfigList)
- func (in *AlibabaCloudMachineProviderConfigList) DeepCopyObject() runtime.Object
- func (AlibabaCloudMachineProviderConfigList) SwaggerDoc() map[string]string
- type AlibabaCloudMachineProviderStatus
- func (in *AlibabaCloudMachineProviderStatus) DeepCopy() *AlibabaCloudMachineProviderStatus
- func (in *AlibabaCloudMachineProviderStatus) DeepCopyInto(out *AlibabaCloudMachineProviderStatus)
- func (in *AlibabaCloudMachineProviderStatus) DeepCopyObject() runtime.Object
- func (AlibabaCloudMachineProviderStatus) SwaggerDoc() map[string]string
- type AlibabaDiskCategory
- type AlibabaDiskEncryptionMode
- type AlibabaDiskPerformanceLevel
- type AlibabaDiskPreservationPolicy
- type AlibabaResourceReference
- type AlibabaResourceReferenceType
- type BandwidthProperties
- type DataDiskProperties
- type InstanceTenancy
- type NutanixIdentifierType
- type NutanixMachineProviderConfig
- func (in *NutanixMachineProviderConfig) DeepCopy() *NutanixMachineProviderConfig
- func (in *NutanixMachineProviderConfig) DeepCopyInto(out *NutanixMachineProviderConfig)
- func (in *NutanixMachineProviderConfig) DeepCopyObject() runtime.Object
- func (NutanixMachineProviderConfig) SwaggerDoc() map[string]string
- type NutanixMachineProviderStatus
- func (in *NutanixMachineProviderStatus) DeepCopy() *NutanixMachineProviderStatus
- func (in *NutanixMachineProviderStatus) DeepCopyInto(out *NutanixMachineProviderStatus)
- func (in *NutanixMachineProviderStatus) DeepCopyObject() runtime.Object
- func (NutanixMachineProviderStatus) SwaggerDoc() map[string]string
- type NutanixResourceIdentifier
- type PowerVSMachineProviderConfig
- func (in *PowerVSMachineProviderConfig) DeepCopy() *PowerVSMachineProviderConfig
- func (in *PowerVSMachineProviderConfig) DeepCopyInto(out *PowerVSMachineProviderConfig)
- func (in *PowerVSMachineProviderConfig) DeepCopyObject() runtime.Object
- func (PowerVSMachineProviderConfig) SwaggerDoc() map[string]string
- type PowerVSMachineProviderStatus
- func (in *PowerVSMachineProviderStatus) DeepCopy() *PowerVSMachineProviderStatus
- func (in *PowerVSMachineProviderStatus) DeepCopyInto(out *PowerVSMachineProviderStatus)
- func (in *PowerVSMachineProviderStatus) DeepCopyObject() runtime.Object
- func (PowerVSMachineProviderStatus) SwaggerDoc() map[string]string
- type PowerVSProcessorType
- type PowerVSResource
- type PowerVSResourceType
- type PowerVSSecretReference
- type SystemDiskProperties
- type Tag
Constants ¶
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" )
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 PowerVSProcessorType = "Shared" // PowerVSProcessorTypeCapped enum property to identify a Capped Power VS processor type PowerVSProcessorTypeCapped PowerVSProcessorType = "Capped" )
Variables ¶
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 ¶
func (in *AlibabaCloudMachineProviderConfig) DeepCopy() *AlibabaCloudMachineProviderConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlibabaCloudMachineProviderConfig.
func (*AlibabaCloudMachineProviderConfig) DeepCopyInto ¶
func (in *AlibabaCloudMachineProviderConfig) DeepCopyInto(out *AlibabaCloudMachineProviderConfig)
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 ¶
func (AlibabaCloudMachineProviderConfig) SwaggerDoc() map[string]string
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 ¶
func (in *AlibabaCloudMachineProviderConfigList) DeepCopy() *AlibabaCloudMachineProviderConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlibabaCloudMachineProviderConfigList.
func (*AlibabaCloudMachineProviderConfigList) DeepCopyInto ¶
func (in *AlibabaCloudMachineProviderConfigList) DeepCopyInto(out *AlibabaCloudMachineProviderConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AlibabaCloudMachineProviderConfigList) DeepCopyObject ¶
func (in *AlibabaCloudMachineProviderConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (AlibabaCloudMachineProviderConfigList) SwaggerDoc ¶
func (AlibabaCloudMachineProviderConfigList) SwaggerDoc() map[string]string
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 ¶
func (in *AlibabaCloudMachineProviderStatus) DeepCopy() *AlibabaCloudMachineProviderStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlibabaCloudMachineProviderStatus.
func (*AlibabaCloudMachineProviderStatus) DeepCopyInto ¶
func (in *AlibabaCloudMachineProviderStatus) DeepCopyInto(out *AlibabaCloudMachineProviderStatus)
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 ¶
func (AlibabaCloudMachineProviderStatus) SwaggerDoc() map[string]string
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 ¶
func (in *AlibabaResourceReference) DeepCopy() *AlibabaResourceReference
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 ¶
func (in *NutanixMachineProviderConfig) DeepCopy() *NutanixMachineProviderConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixMachineProviderConfig.
func (*NutanixMachineProviderConfig) DeepCopyInto ¶
func (in *NutanixMachineProviderConfig) DeepCopyInto(out *NutanixMachineProviderConfig)
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 ¶
func (in *NutanixMachineProviderStatus) DeepCopy() *NutanixMachineProviderStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixMachineProviderStatus.
func (*NutanixMachineProviderStatus) DeepCopyInto ¶
func (in *NutanixMachineProviderStatus) DeepCopyInto(out *NutanixMachineProviderStatus)
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 ¶
func (in *NutanixResourceIdentifier) DeepCopy() *NutanixResourceIdentifier
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixResourceIdentifier.
func (*NutanixResourceIdentifier) DeepCopyInto ¶
func (in *NutanixResourceIdentifier) DeepCopyInto(out *NutanixResourceIdentifier)
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 ¶
func (in *PowerVSMachineProviderConfig) DeepCopy() *PowerVSMachineProviderConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PowerVSMachineProviderConfig.
func (*PowerVSMachineProviderConfig) DeepCopyInto ¶
func (in *PowerVSMachineProviderConfig) DeepCopyInto(out *PowerVSMachineProviderConfig)
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 ¶
func (in *PowerVSMachineProviderStatus) DeepCopy() *PowerVSMachineProviderStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PowerVSMachineProviderStatus.
func (*PowerVSMachineProviderStatus) DeepCopyInto ¶
func (in *PowerVSMachineProviderStatus) DeepCopyInto(out *PowerVSMachineProviderStatus)
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 ¶
func (in *PowerVSSecretReference) DeepCopy() *PowerVSSecretReference
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 ¶
func (in *SystemDiskProperties) DeepCopy() *SystemDiskProperties
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tag.
func (*Tag) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.