Documentation
¶
Overview ¶
+kubebuilder:validation:Optional +groupName=machine.openshift.io
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type AWSFailureDomain
- type AWSFailureDomainPlacement
- type AWSResourceFilter
- type AWSResourceReference
- type AWSResourceReferenceType
- 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 AzureFailureDomain
- type BandwidthProperties
- type ControlPlaneMachineSet
- type ControlPlaneMachineSetList
- type ControlPlaneMachineSetMachineType
- type ControlPlaneMachineSetSpec
- type ControlPlaneMachineSetState
- type ControlPlaneMachineSetStatus
- type ControlPlaneMachineSetStrategy
- type ControlPlaneMachineSetStrategyType
- type ControlPlaneMachineSetTemplate
- type ControlPlaneMachineSetTemplateObjectMeta
- type DataDiskProperties
- type FailureDomains
- type GCPFailureDomain
- type IBMVPCLoadBalancerType
- type InstanceTenancy
- type LoadBalancerReference
- type NutanixBootType
- type NutanixCategory
- 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 OpenShiftMachineV1Beta1MachineTemplate
- type OpenStackFailureDomain
- 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 RootVolume
- 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 AWSFailureDomain ¶
type AWSFailureDomain struct {
// Subnet is a reference to the subnet to use for this instance.
// +optional
Subnet *AWSResourceReference `json:"subnet,omitempty"`
// Placement configures the placement information for this instance.
// +optional
Placement AWSFailureDomainPlacement `json:"placement,omitempty"`
}
AWSFailureDomain configures failure domain information for the AWS platform. +kubebuilder:validation:MinProperties:=1
func (*AWSFailureDomain) DeepCopy ¶
func (in *AWSFailureDomain) DeepCopy() *AWSFailureDomain
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSFailureDomain.
func (*AWSFailureDomain) DeepCopyInto ¶
func (in *AWSFailureDomain) DeepCopyInto(out *AWSFailureDomain)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (AWSFailureDomain) SwaggerDoc ¶
func (AWSFailureDomain) SwaggerDoc() map[string]string
type AWSFailureDomainPlacement ¶
type AWSFailureDomainPlacement struct {
// AvailabilityZone is the availability zone of the instance.
// +kubebuilder:validation:Required
AvailabilityZone string `json:"availabilityZone"`
}
AWSFailureDomainPlacement configures the placement information for the AWSFailureDomain.
func (*AWSFailureDomainPlacement) DeepCopy ¶
func (in *AWSFailureDomainPlacement) DeepCopy() *AWSFailureDomainPlacement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSFailureDomainPlacement.
func (*AWSFailureDomainPlacement) DeepCopyInto ¶
func (in *AWSFailureDomainPlacement) DeepCopyInto(out *AWSFailureDomainPlacement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (AWSFailureDomainPlacement) SwaggerDoc ¶
func (AWSFailureDomainPlacement) SwaggerDoc() map[string]string
type AWSResourceFilter ¶
type AWSResourceFilter struct {
// Name of the filter. Filter names are case-sensitive.
// +kubebuilder:validation:Required
Name string `json:"name"`
// Values includes one or more filter values. Filter values are case-sensitive.
// +optional
Values []string `json:"values,omitempty"`
}
AWSResourceFilter is a filter used to identify an AWS resource
func (*AWSResourceFilter) DeepCopy ¶
func (in *AWSResourceFilter) DeepCopy() *AWSResourceFilter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSResourceFilter.
func (*AWSResourceFilter) DeepCopyInto ¶
func (in *AWSResourceFilter) DeepCopyInto(out *AWSResourceFilter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (AWSResourceFilter) SwaggerDoc ¶
func (AWSResourceFilter) SwaggerDoc() map[string]string
type AWSResourceReference ¶
type AWSResourceReference struct {
// Type determines how the reference will fetch the AWS resource.
// +unionDiscriminator
// +kubebuilder:validation:Required
Type AWSResourceReferenceType `json:"type"`
// ID of resource.
// +optional
ID *string `json:"id,omitempty"`
// ARN of resource.
// +optional
ARN *string `json:"arn,omitempty"`
// Filters is a set of filters used to identify a resource.
// +optional
Filters *[]AWSResourceFilter `json:"filters,omitempty"`
}
AWSResourceReference is a reference to a specific AWS resource by ID, ARN, or filters. Only one of ID, ARN or Filters may be specified. Specifying more than one will result in a validation error. +union +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'ID' ? has(self.id) : !has(self.id)",message="id is required when type is ID, and forbidden otherwise" +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'ARN' ? has(self.arn) : !has(self.arn)",message="arn is required when type is ARN, and forbidden otherwise" +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'Filters' ? has(self.filters) : !has(self.filters)",message="filters is required when type is Filters, and forbidden otherwise"
func (*AWSResourceReference) DeepCopy ¶
func (in *AWSResourceReference) DeepCopy() *AWSResourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSResourceReference.
func (*AWSResourceReference) DeepCopyInto ¶
func (in *AWSResourceReference) DeepCopyInto(out *AWSResourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (AWSResourceReference) SwaggerDoc ¶
func (AWSResourceReference) SwaggerDoc() map[string]string
type AWSResourceReferenceType ¶
type AWSResourceReferenceType string
AWSResourceReferenceType is an enumeration of different resource reference types. +kubebuilder:validation:Enum:="ID";"ARN";"Filters"
const ( // AWSIDReferenceType is a resource reference based on the object ID. AWSIDReferenceType AWSResourceReferenceType = "ID" // AWSARNReferenceType is a resource reference based on the object ARN. AWSARNReferenceType AWSResourceReferenceType = "ARN" // AWSFiltersReferenceType is a resource reference based on filters. AWSFiltersReferenceType AWSResourceReferenceType = "Filters" )
type AlibabaCloudMachineProviderConfig ¶
type AlibabaCloudMachineProviderConfig struct {
metav1.TypeMeta `json:",inline"`
// metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
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"`
// metadata is the standard list's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
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"`
// metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
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 AzureFailureDomain ¶
type AzureFailureDomain struct {
// Availability Zone for the virtual machine.
// If nil, the virtual machine should be deployed to no zone.
// +kubebuilder:validation:Required
Zone string `json:"zone"`
}
AzureFailureDomain configures failure domain information for the Azure platform.
func (*AzureFailureDomain) DeepCopy ¶
func (in *AzureFailureDomain) DeepCopy() *AzureFailureDomain
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureFailureDomain.
func (*AzureFailureDomain) DeepCopyInto ¶
func (in *AzureFailureDomain) DeepCopyInto(out *AzureFailureDomain)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (AzureFailureDomain) SwaggerDoc ¶
func (AzureFailureDomain) SwaggerDoc() map[string]string
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 ControlPlaneMachineSet ¶
type ControlPlaneMachineSet struct {
metav1.TypeMeta `json:",inline"`
// metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ControlPlaneMachineSetSpec `json:"spec,omitempty"`
Status ControlPlaneMachineSetStatus `json:"status,omitempty"`
}
ControlPlaneMachineSet ensures that a specified number of control plane machine replicas are running at any given time. +k8s:openapi-gen=true +kubebuilder:resource:scope=Namespaced +kubebuilder:subresource:status +kubebuilder:subresource:scale:specpath=.spec.replicas,statuspath=.status.replicas +kubebuilder:printcolumn:name="Desired",type="integer",JSONPath=".spec.replicas",description="Desired Replicas" +kubebuilder:printcolumn:name="Current",type="integer",JSONPath=".status.replicas",description="Current Replicas" +kubebuilder:printcolumn:name="Ready",type="integer",JSONPath=".status.readyReplicas",description="Ready Replicas" +kubebuilder:printcolumn:name="Updated",type="integer",JSONPath=".status.updatedReplicas",description="Updated Replicas" +kubebuilder:printcolumn:name="Unavailable",type="integer",JSONPath=".status.unavailableReplicas",description="Observed number of unavailable replicas" +kubebuilder:printcolumn:name="State",type="string",JSONPath=".spec.state",description="ControlPlaneMachineSet state" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="ControlPlaneMachineSet age" 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 (*ControlPlaneMachineSet) DeepCopy ¶
func (in *ControlPlaneMachineSet) DeepCopy() *ControlPlaneMachineSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneMachineSet.
func (*ControlPlaneMachineSet) DeepCopyInto ¶
func (in *ControlPlaneMachineSet) DeepCopyInto(out *ControlPlaneMachineSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ControlPlaneMachineSet) DeepCopyObject ¶
func (in *ControlPlaneMachineSet) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (ControlPlaneMachineSet) SwaggerDoc ¶
func (ControlPlaneMachineSet) SwaggerDoc() map[string]string
type ControlPlaneMachineSetList ¶
type ControlPlaneMachineSetList struct {
metav1.TypeMeta `json:",inline"`
// metadata is the standard list's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
metav1.ListMeta `json:"metadata,omitempty"`
Items []ControlPlaneMachineSet `json:"items"`
}
ControlPlaneMachineSetList contains a list of ControlPlaneMachineSet 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 (*ControlPlaneMachineSetList) DeepCopy ¶
func (in *ControlPlaneMachineSetList) DeepCopy() *ControlPlaneMachineSetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneMachineSetList.
func (*ControlPlaneMachineSetList) DeepCopyInto ¶
func (in *ControlPlaneMachineSetList) DeepCopyInto(out *ControlPlaneMachineSetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ControlPlaneMachineSetList) DeepCopyObject ¶
func (in *ControlPlaneMachineSetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (ControlPlaneMachineSetList) SwaggerDoc ¶
func (ControlPlaneMachineSetList) SwaggerDoc() map[string]string
type ControlPlaneMachineSetMachineType ¶
type ControlPlaneMachineSetMachineType string
ControlPlaneMachineSetMachineType is a enumeration of valid Machine types supported by the ControlPlaneMachineSet. +kubebuilder:validation:Enum:=machines_v1beta1_machine_openshift_io
const ( // OpenShiftMachineV1Beta1MachineType is the OpenShift Machine API v1beta1 Machine type. OpenShiftMachineV1Beta1MachineType ControlPlaneMachineSetMachineType = "machines_v1beta1_machine_openshift_io" )
type ControlPlaneMachineSetSpec ¶
type ControlPlaneMachineSetSpec struct {
// State defines whether the ControlPlaneMachineSet is Active or Inactive.
// When Inactive, the ControlPlaneMachineSet will not take any action on the
// state of the Machines within the cluster.
// When Active, the ControlPlaneMachineSet will reconcile the Machines and
// will update the Machines as necessary.
// Once Active, a ControlPlaneMachineSet cannot be made Inactive. To prevent
// further action please remove the ControlPlaneMachineSet.
// +kubebuilder:default:="Inactive"
// +default="Inactive"
// +kubebuilder:validation:XValidation:rule="oldSelf != 'Active' || self == oldSelf",message="state cannot be changed once Active"
// +optional
State ControlPlaneMachineSetState `json:"state,omitempty"`
// Replicas defines how many Control Plane Machines should be
// created by this ControlPlaneMachineSet.
// This field is immutable and cannot be changed after cluster
// installation.
// The ControlPlaneMachineSet only operates with 3 or 5 node control planes,
// 3 and 5 are the only valid values for this field.
// +kubebuilder:validation:Enum:=3;5
// +kubebuilder:default:=3
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="replicas is immutable"
// +kubebuilder:validation:Required
Replicas *int32 `json:"replicas"`
// Strategy defines how the ControlPlaneMachineSet will update
// Machines when it detects a change to the ProviderSpec.
// +kubebuilder:default:={type: RollingUpdate}
// +optional
Strategy ControlPlaneMachineSetStrategy `json:"strategy,omitempty"`
// Label selector for Machines. Existing Machines selected by this
// selector will be the ones affected by this ControlPlaneMachineSet.
// It must match the template's labels.
// This field is considered immutable after creation of the resource.
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="selector is immutable"
// +kubebuilder:validation:Required
Selector metav1.LabelSelector `json:"selector"`
// Template describes the Control Plane Machines that will be created
// by this ControlPlaneMachineSet.
// +kubebuilder:validation:Required
Template ControlPlaneMachineSetTemplate `json:"template"`
}
ControlPlaneMachineSet represents the configuration of the ControlPlaneMachineSet.
func (*ControlPlaneMachineSetSpec) DeepCopy ¶
func (in *ControlPlaneMachineSetSpec) DeepCopy() *ControlPlaneMachineSetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneMachineSetSpec.
func (*ControlPlaneMachineSetSpec) DeepCopyInto ¶
func (in *ControlPlaneMachineSetSpec) DeepCopyInto(out *ControlPlaneMachineSetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ControlPlaneMachineSetSpec) SwaggerDoc ¶
func (ControlPlaneMachineSetSpec) SwaggerDoc() map[string]string
type ControlPlaneMachineSetState ¶
type ControlPlaneMachineSetState string
ControlPlaneMachineSetState is an enumeration of the possible states of the ControlPlaneMachineSet resource. It allows it to be either Active or Inactive. +kubebuilder:validation:Enum:="Active";"Inactive"
const ( // ControlPlaneMachineSetStateActive is the value used to denote the ControlPlaneMachineSet // should be active and should perform updates as required. ControlPlaneMachineSetStateActive ControlPlaneMachineSetState = "Active" // ControlPlaneMachineSetStateInactive is the value used to denote the ControlPlaneMachineSet // should be not active and should no perform any updates. ControlPlaneMachineSetStateInactive ControlPlaneMachineSetState = "Inactive" )
type ControlPlaneMachineSetStatus ¶
type ControlPlaneMachineSetStatus struct {
// Conditions represents the observations of the ControlPlaneMachineSet's current state.
// Known .status.conditions.type are: Available, Degraded and Progressing.
// +patchMergeKey=type
// +patchStrategy=merge
// +listType=map
// +listMapKey=type
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
// ObservedGeneration is the most recent generation observed for this
// ControlPlaneMachineSet. It corresponds to the ControlPlaneMachineSets's generation,
// which is updated on mutation by the API Server.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Replicas is the number of Control Plane Machines created by the
// ControlPlaneMachineSet controller.
// Note that during update operations this value may differ from the
// desired replica count.
// +optional
Replicas int32 `json:"replicas,omitempty"`
// ReadyReplicas is the number of Control Plane Machines created by the
// ControlPlaneMachineSet controller which are ready.
// Note that this value may be higher than the desired number of replicas
// while rolling updates are in-progress.
// +optional
ReadyReplicas int32 `json:"readyReplicas,omitempty"`
// UpdatedReplicas is the number of non-terminated Control Plane Machines
// created by the ControlPlaneMachineSet controller that have the desired
// provider spec and are ready.
// This value is set to 0 when a change is detected to the desired spec.
// When the update strategy is RollingUpdate, this will also coincide
// with starting the process of updating the Machines.
// When the update strategy is OnDelete, this value will remain at 0 until
// a user deletes an existing replica and its replacement has become ready.
// +optional
UpdatedReplicas int32 `json:"updatedReplicas,omitempty"`
// still required before the ControlPlaneMachineSet reaches the desired
// available capacity. When this value is non-zero, the number of
// ReadyReplicas is less than the desired Replicas.
// +optional
UnavailableReplicas int32 `json:"unavailableReplicas,omitempty"`
}
ControlPlaneMachineSetStatus represents the status of the ControlPlaneMachineSet CRD.
func (*ControlPlaneMachineSetStatus) DeepCopy ¶
func (in *ControlPlaneMachineSetStatus) DeepCopy() *ControlPlaneMachineSetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneMachineSetStatus.
func (*ControlPlaneMachineSetStatus) DeepCopyInto ¶
func (in *ControlPlaneMachineSetStatus) DeepCopyInto(out *ControlPlaneMachineSetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ControlPlaneMachineSetStatus) SwaggerDoc ¶
func (ControlPlaneMachineSetStatus) SwaggerDoc() map[string]string
type ControlPlaneMachineSetStrategy ¶
type ControlPlaneMachineSetStrategy struct {
// Type defines the type of update strategy that should be
// used when updating Machines owned by the ControlPlaneMachineSet.
// Valid values are "RollingUpdate" and "OnDelete".
// The current default value is "RollingUpdate".
// +kubebuilder:default:="RollingUpdate"
// +default="RollingUpdate"
// +kubebuilder:validation:Enum:="RollingUpdate";"OnDelete"
// +optional
Type ControlPlaneMachineSetStrategyType `json:"type,omitempty"`
}
ControlPlaneMachineSetStrategy defines the strategy for applying updates to the Control Plane Machines managed by the ControlPlaneMachineSet.
func (*ControlPlaneMachineSetStrategy) DeepCopy ¶
func (in *ControlPlaneMachineSetStrategy) DeepCopy() *ControlPlaneMachineSetStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneMachineSetStrategy.
func (*ControlPlaneMachineSetStrategy) DeepCopyInto ¶
func (in *ControlPlaneMachineSetStrategy) DeepCopyInto(out *ControlPlaneMachineSetStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ControlPlaneMachineSetStrategy) SwaggerDoc ¶
func (ControlPlaneMachineSetStrategy) SwaggerDoc() map[string]string
type ControlPlaneMachineSetStrategyType ¶
type ControlPlaneMachineSetStrategyType string
ControlPlaneMachineSetStrategyType is an enumeration of different update strategies for the Control Plane Machines.
const ( // RollingUpdate is the default update strategy type for a // ControlPlaneMachineSet. This will cause the ControlPlaneMachineSet to // first create a new Machine and wait for this to be Ready // before removing the Machine chosen for replacement. RollingUpdate ControlPlaneMachineSetStrategyType = "RollingUpdate" // Recreate causes the ControlPlaneMachineSet controller to first // remove a ControlPlaneMachine before creating its // replacement. This allows for scenarios with limited capacity // such as baremetal environments where additional capacity to // perform rolling updates is not available. Recreate ControlPlaneMachineSetStrategyType = "Recreate" // OnDelete causes the ControlPlaneMachineSet to only replace a // Machine once it has been marked for deletion. This strategy // makes the rollout of updated specifications into a manual // process. This allows users to test new configuration on // a single Machine without forcing the rollout of all of their // Control Plane Machines. OnDelete ControlPlaneMachineSetStrategyType = "OnDelete" )
type ControlPlaneMachineSetTemplate ¶
type ControlPlaneMachineSetTemplate struct {
// MachineType determines the type of Machines that should be managed by the ControlPlaneMachineSet.
// Currently, the only valid value is machines_v1beta1_machine_openshift_io.
// +unionDiscriminator
// +kubebuilder:validation:Required
MachineType ControlPlaneMachineSetMachineType `json:"machineType,omitempty"`
// OpenShiftMachineV1Beta1Machine defines the template for creating Machines
// from the v1beta1.machine.openshift.io API group.
// +optional
OpenShiftMachineV1Beta1Machine *OpenShiftMachineV1Beta1MachineTemplate `json:"machines_v1beta1_machine_openshift_io,omitempty"`
}
ControlPlaneMachineSetTemplate is a template used by the ControlPlaneMachineSet to create the Machines that it will manage in the future. +union + --- + This struct is a discriminated union which allows users to select the type of Machine + that the ControlPlaneMachineSet should create and manage. + For now, the only supported type is the OpenShift Machine API Machine, but in the future + we plan to expand this to allow other Machine types such as Cluster API Machines or a + future version of the Machine API Machine. +kubebuilder:validation:XValidation:rule="has(self.machineType) && self.machineType == 'machines_v1beta1_machine_openshift_io' ? has(self.machines_v1beta1_machine_openshift_io) : !has(self.machines_v1beta1_machine_openshift_io)",message="machines_v1beta1_machine_openshift_io configuration is required when machineType is machines_v1beta1_machine_openshift_io, and forbidden otherwise"
func (*ControlPlaneMachineSetTemplate) DeepCopy ¶
func (in *ControlPlaneMachineSetTemplate) DeepCopy() *ControlPlaneMachineSetTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneMachineSetTemplate.
func (*ControlPlaneMachineSetTemplate) DeepCopyInto ¶
func (in *ControlPlaneMachineSetTemplate) DeepCopyInto(out *ControlPlaneMachineSetTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ControlPlaneMachineSetTemplate) SwaggerDoc ¶
func (ControlPlaneMachineSetTemplate) SwaggerDoc() map[string]string
type ControlPlaneMachineSetTemplateObjectMeta ¶
type ControlPlaneMachineSetTemplateObjectMeta struct {
// Map of string keys and values that can be used to organize and categorize
// (scope and select) objects. May match selectors of replication controllers
// and services.
// More info: http://kubernetes.io/docs/user-guide/labels.
// This field must contain both the 'machine.openshift.io/cluster-api-machine-role' and 'machine.openshift.io/cluster-api-machine-type' labels, both with a value of 'master'.
// It must also contain a label with the key 'machine.openshift.io/cluster-api-cluster'.
// +kubebuilder:validation:XValidation:rule="'machine.openshift.io/cluster-api-machine-role' in self && self['machine.openshift.io/cluster-api-machine-role'] == 'master'",message="label 'machine.openshift.io/cluster-api-machine-role' is required, and must have value 'master'"
// +kubebuilder:validation:XValidation:rule="'machine.openshift.io/cluster-api-machine-type' in self && self['machine.openshift.io/cluster-api-machine-type'] == 'master'",message="label 'machine.openshift.io/cluster-api-machine-type' is required, and must have value 'master'"
// +kubebuilder:validation:XValidation:rule="'machine.openshift.io/cluster-api-cluster' in self",message="label 'machine.openshift.io/cluster-api-cluster' is required"
// +kubebuilder:validation:Required
Labels map[string]string `json:"labels"`
// Annotations is an unstructured key value map stored with a resource that may be
// set by external tools to store and retrieve arbitrary metadata. They are not
// queryable and should be preserved when modifying objects.
// More info: http://kubernetes.io/docs/user-guide/annotations
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
}
ControlPlaneMachineSetTemplateObjectMeta is a subset of the metav1.ObjectMeta struct. It allows users to specify labels and annotations that will be copied onto Machines created from this template.
func (*ControlPlaneMachineSetTemplateObjectMeta) DeepCopy ¶
func (in *ControlPlaneMachineSetTemplateObjectMeta) DeepCopy() *ControlPlaneMachineSetTemplateObjectMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneMachineSetTemplateObjectMeta.
func (*ControlPlaneMachineSetTemplateObjectMeta) DeepCopyInto ¶
func (in *ControlPlaneMachineSetTemplateObjectMeta) DeepCopyInto(out *ControlPlaneMachineSetTemplateObjectMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ControlPlaneMachineSetTemplateObjectMeta) SwaggerDoc ¶
func (ControlPlaneMachineSetTemplateObjectMeta) 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 FailureDomains ¶
type FailureDomains struct {
// Platform identifies the platform for which the FailureDomain represents.
// Currently supported values are AWS, Azure, and GCP.
// +unionDiscriminator
// +kubebuilder:validation:Required
Platform configv1.PlatformType `json:"platform"`
// AWS configures failure domain information for the AWS platform.
// +optional
AWS *[]AWSFailureDomain `json:"aws,omitempty"`
// Azure configures failure domain information for the Azure platform.
// +optional
Azure *[]AzureFailureDomain `json:"azure,omitempty"`
// GCP configures failure domain information for the GCP platform.
// +optional
GCP *[]GCPFailureDomain `json:"gcp,omitempty"`
// OpenStack configures failure domain information for the OpenStack platform.
// +optional
//
// + ---
// + Unlike other platforms, OpenStack failure domains can be empty.
// + Some OpenStack deployments may not have availability zones or root volumes.
// + Therefore we'll check the length of the list to determine if it's empty instead
// + of nil if it would be a pointer.
// +optional
OpenStack []OpenStackFailureDomain `json:"openstack,omitempty"`
}
FailureDomain represents the different configurations required to spread Machines across failure domains on different platforms. +union +kubebuilder:validation:XValidation:rule="has(self.platform) && self.platform == 'AWS' ? has(self.aws) : !has(self.aws)",message="aws configuration is required when platform is AWS, and forbidden otherwise" +kubebuilder:validation:XValidation:rule="has(self.platform) && self.platform == 'Azure' ? has(self.azure) : !has(self.azure)",message="azure configuration is required when platform is Azure, and forbidden otherwise" +kubebuilder:validation:XValidation:rule="has(self.platform) && self.platform == 'GCP' ? has(self.gcp) : !has(self.gcp)",message="gcp configuration is required when platform is GCP, and forbidden otherwise" +kubebuilder:validation:XValidation:rule="has(self.platform) && self.platform == 'OpenStack' ? has(self.openstack) : !has(self.openstack)",message="openstack configuration is required when platform is OpenStack, and forbidden otherwise"
func (*FailureDomains) DeepCopy ¶
func (in *FailureDomains) DeepCopy() *FailureDomains
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailureDomains.
func (*FailureDomains) DeepCopyInto ¶
func (in *FailureDomains) DeepCopyInto(out *FailureDomains)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (FailureDomains) SwaggerDoc ¶
func (FailureDomains) SwaggerDoc() map[string]string
type GCPFailureDomain ¶
type GCPFailureDomain struct {
// Zone is the zone in which the GCP machine provider will create the VM.
// +kubebuilder:validation:Required
Zone string `json:"zone"`
}
GCPFailureDomain configures failure domain information for the GCP platform
func (*GCPFailureDomain) DeepCopy ¶
func (in *GCPFailureDomain) DeepCopy() *GCPFailureDomain
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPFailureDomain.
func (*GCPFailureDomain) DeepCopyInto ¶
func (in *GCPFailureDomain) DeepCopyInto(out *GCPFailureDomain)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (GCPFailureDomain) SwaggerDoc ¶
func (GCPFailureDomain) SwaggerDoc() map[string]string
type IBMVPCLoadBalancerType ¶
type IBMVPCLoadBalancerType string
IBMVPCLoadBalancerType is the type of LoadBalancer to use when registering an instance with load balancers specified in LoadBalancerNames
const (
ApplicationLoadBalancerType IBMVPCLoadBalancerType = "Application" // Application Load Balancer for VPC (ALB)
)
ApplicationLoadBalancerType is possible values for IBMVPCLoadBalancerType.
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 LoadBalancerReference ¶
type LoadBalancerReference struct {
// name of the LoadBalancer in IBM Cloud VPC.
// The name should be between 1 and 63 characters long and may consist of lowercase alphanumeric characters and hyphens only.
// The value must not end with a hyphen.
// It is a reference to existing LoadBalancer created by openshift installer component.
// +kubebuilder:validation:Required
// +kubebuilder:validation:Pattern=`^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$`
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
Name string `json:"name"`
// type of the LoadBalancer service supported by IBM Cloud VPC.
// Currently, only Application LoadBalancer is supported.
// More details about Application LoadBalancer
// https://cloud.ibm.com/docs/vpc?topic=vpc-load-balancers-about&interface=ui
// Supported values are Application.
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum:="Application"
Type IBMVPCLoadBalancerType `json:"type"`
}
LoadBalancerReference is a reference to a load balancer on IBM Cloud virtual private cloud(VPC).
func (*LoadBalancerReference) DeepCopy ¶
func (in *LoadBalancerReference) DeepCopy() *LoadBalancerReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerReference.
func (*LoadBalancerReference) DeepCopyInto ¶
func (in *LoadBalancerReference) DeepCopyInto(out *LoadBalancerReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (LoadBalancerReference) SwaggerDoc ¶
func (LoadBalancerReference) SwaggerDoc() map[string]string
type NutanixBootType ¶
type NutanixBootType string
NutanixBootType is an enumeration of different boot types for Nutanix VM.
const ( // NutanixLegacyBoot is the legacy BIOS boot type NutanixLegacyBoot NutanixBootType = "Legacy" // NutanixUEFIBoot is the UEFI boot type NutanixUEFIBoot NutanixBootType = "UEFI" // NutanixSecureBoot is the Secure boot type NutanixSecureBoot NutanixBootType = "SecureBoot" )
type NutanixCategory ¶
type NutanixCategory struct {
// key is the prism category key name
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=64
// +kubebuilder:validation:Required
Key string `json:"key"`
// value is the prism category value associated with the key
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=64
// +kubebuilder:validation:Required
Value string `json:"value"`
}
NutanixCategory identifies a pair of prism category key and value
func (*NutanixCategory) DeepCopy ¶
func (in *NutanixCategory) DeepCopy() *NutanixCategory
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixCategory.
func (*NutanixCategory) DeepCopyInto ¶
func (in *NutanixCategory) DeepCopyInto(out *NutanixCategory)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (NutanixCategory) SwaggerDoc ¶
func (NutanixCategory) SwaggerDoc() map[string]string
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"`
// metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
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"`
// bootType indicates the boot type (Legacy, UEFI or SecureBoot) the Machine's VM uses to boot.
// If this field is empty or omitted, the VM will use the default boot type "Legacy" to boot.
// "SecureBoot" depends on "UEFI" boot, i.e., enabling "SecureBoot" means that "UEFI" boot is also enabled.
// +kubebuilder:validation:Enum="";Legacy;UEFI;SecureBoot
// +optional
BootType NutanixBootType `json:"bootType"`
// project optionally identifies a Prism project for the Machine's VM to associate with.
// +optional
Project NutanixResourceIdentifier `json:"project"`
// categories optionally adds one or more prism categories (each with key and value) for
// the Machine's VM to associate with. All the category key and value pairs specified must
// already exist in the prism central.
// +listType=map
// +listMapKey=key
// +optional
Categories []NutanixCategory `json:"categories"`
// 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.
// +unionDiscriminator
// +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 OpenShiftMachineV1Beta1MachineTemplate ¶
type OpenShiftMachineV1Beta1MachineTemplate struct {
// FailureDomains is the list of failure domains (sometimes called
// availability zones) in which the ControlPlaneMachineSet should balance
// the Control Plane Machines.
// This will be merged into the ProviderSpec given in the template.
// This field is optional on platforms that do not require placement information.
// +optional
FailureDomains FailureDomains `json:"failureDomains,omitempty"`
// ObjectMeta is the standard object metadata
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// Labels are required to match the ControlPlaneMachineSet selector.
// +kubebuilder:validation:Required
ObjectMeta ControlPlaneMachineSetTemplateObjectMeta `json:"metadata"`
// Spec contains the desired configuration of the Control Plane Machines.
// The ProviderSpec within contains platform specific details
// for creating the Control Plane Machines.
// The ProviderSe should be complete apart from the platform specific
// failure domain field. This will be overriden when the Machines
// are created based on the FailureDomains field.
// +kubebuilder:validation:Required
Spec machinev1beta1.MachineSpec `json:"spec"`
}
OpenShiftMachineV1Beta1MachineTemplate is a template for the ControlPlaneMachineSet to create Machines from the v1beta1.machine.openshift.io API group.
func (*OpenShiftMachineV1Beta1MachineTemplate) DeepCopy ¶
func (in *OpenShiftMachineV1Beta1MachineTemplate) DeepCopy() *OpenShiftMachineV1Beta1MachineTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenShiftMachineV1Beta1MachineTemplate.
func (*OpenShiftMachineV1Beta1MachineTemplate) DeepCopyInto ¶
func (in *OpenShiftMachineV1Beta1MachineTemplate) DeepCopyInto(out *OpenShiftMachineV1Beta1MachineTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (OpenShiftMachineV1Beta1MachineTemplate) SwaggerDoc ¶
func (OpenShiftMachineV1Beta1MachineTemplate) SwaggerDoc() map[string]string
type OpenStackFailureDomain ¶
type OpenStackFailureDomain struct {
// availabilityZone is the nova availability zone in which the OpenStack machine provider will create the VM.
// If not specified, the VM will be created in the default availability zone specified in the nova configuration.
// Availability zone names must NOT contain : since it is used by admin users to specify hosts where instances
// are launched in server creation. Also, it must not contain spaces otherwise it will lead to node that belongs
// to this availability zone register failure, see kubernetes/cloud-provider-openstack#1379 for further information.
// The maximum length of availability zone name is 63 as per labels limits.
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:Pattern=`^[^: ]*$`
// +kubebuilder:validation:MaxLength=63
// +optional
AvailabilityZone string `json:"availabilityZone,omitempty"`
// rootVolume contains settings that will be used by the OpenStack machine provider to create the root volume attached to the VM.
// If not specified, no root volume will be created.
//
// + ---
// + RootVolume must be a pointer to allow us to require at least one valid property is set within the failure domain.
// + If it were a reference then omitempty doesn't work and the minProperties validations are no longer valid.
// +optional
RootVolume *RootVolume `json:"rootVolume,omitempty"`
}
OpenStackFailureDomain configures failure domain information for the OpenStack platform. +kubebuilder:validation:MinProperties:=1
func (*OpenStackFailureDomain) DeepCopy ¶
func (in *OpenStackFailureDomain) DeepCopy() *OpenStackFailureDomain
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackFailureDomain.
func (*OpenStackFailureDomain) DeepCopyInto ¶
func (in *OpenStackFailureDomain) DeepCopyInto(out *OpenStackFailureDomain)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (OpenStackFailureDomain) SwaggerDoc ¶
func (OpenStackFailureDomain) 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"`
// loadBalancers is the set of load balancers to which the new control plane instance
// should be added once it is created.
// +optional
LoadBalancers []LoadBalancerReference `json:"loadBalancers,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" patchStrategy:"merge" patchMergeKey:"type"`
// 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 RootVolume ¶
type RootVolume struct {
// availabilityZone specifies the Cinder availability zone where the root volume will be created.
// If not specifified, the root volume will be created in the availability zone specified by the volume type in the cinder configuration.
// If the volume type (configured in the OpenStack cluster) does not specify an availability zone, the root volume will be created in the default availability
// zone specified in the cinder configuration. See https://docs.openstack.org/cinder/latest/admin/availability-zone-type.html for more details.
// If the OpenStack cluster is deployed with the cross_az_attach configuration option set to false, the root volume will have to be in the same
// availability zone as the VM (defined by OpenStackFailureDomain.AvailabilityZone).
// Availability zone names must NOT contain spaces otherwise it will lead to volume that belongs to this availability zone register failure,
// see kubernetes/cloud-provider-openstack#1379 for further information.
// The maximum length of availability zone name is 63 as per labels limits.
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:Pattern=`^[^ ]*$`
// +optional
AvailabilityZone string `json:"availabilityZone,omitempty"`
// volumeType specifies the type of the root volume that will be provisioned.
// If not specifified, the root volume will be created as the type in the machine template.
// The maximum length of a volume type name is 255 characters, as per the OpenStack limit.
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=255
// +optional
VolumeType string `json:"volumeType,omitempty"`
}
RootVolume represents the volume metadata to boot from. The original RootVolume struct is defined in the v1alpha1 but it's not best practice to use it directly here so we define a new one that should stay in sync with the original one. +kubebuilder:validation:MinProperties:=1
func (*RootVolume) DeepCopy ¶
func (in *RootVolume) DeepCopy() *RootVolume
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RootVolume.
func (*RootVolume) DeepCopyInto ¶
func (in *RootVolume) DeepCopyInto(out *RootVolume)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (RootVolume) SwaggerDoc ¶
func (RootVolume) 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.