v1

package
v0.0.0-...-02e2c3d Latest Latest
Warning

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

Go to latest
Published: Jul 3, 2026 License: Apache-2.0 Imports: 8 Imported by: 80

Documentation

Overview

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

Index

Constants

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

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

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

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

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

Variables

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

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

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

Functions

func Resource

func Resource(resource string) schema.GroupResource

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

Types

type 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) OpenAPIModelName

func (in AWSFailureDomain) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (AWSFailureDomain) SwaggerDoc

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

type AWSFailureDomainPlacement

type AWSFailureDomainPlacement struct {
	// availabilityZone is the availability zone of the instance.
	// +required
	AvailabilityZone string `json:"availabilityZone"`
}

AWSFailureDomainPlacement configures the placement information for the AWSFailureDomain.

func (*AWSFailureDomainPlacement) DeepCopy

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

func (*AWSFailureDomainPlacement) DeepCopyInto

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

func (AWSFailureDomainPlacement) OpenAPIModelName

func (in AWSFailureDomainPlacement) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (AWSFailureDomainPlacement) SwaggerDoc

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

type AWSResourceFilter

type AWSResourceFilter struct {
	// name of the filter. Filter names are case-sensitive.
	// +required
	Name string `json:"name"`
	// values includes one or more filter values. Filter values are case-sensitive.
	// +optional
	// +listType=atomic
	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) OpenAPIModelName

func (in AWSResourceFilter) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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
	// +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
	// +listType=atomic
	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

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) OpenAPIModelName

func (in AWSResourceReference) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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

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

func (*AlibabaCloudMachineProviderConfig) DeepCopyInto

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

func (*AlibabaCloudMachineProviderConfig) DeepCopyObject

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

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

func (AlibabaCloudMachineProviderConfig) OpenAPIModelName

func (in AlibabaCloudMachineProviderConfig) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (AlibabaCloudMachineProviderConfig) SwaggerDoc

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

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

func (*AlibabaCloudMachineProviderConfigList) DeepCopyInto

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

func (*AlibabaCloudMachineProviderConfigList) DeepCopyObject

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

func (AlibabaCloudMachineProviderConfigList) OpenAPIModelName

func (in AlibabaCloudMachineProviderConfigList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (AlibabaCloudMachineProviderConfigList) SwaggerDoc

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
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

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

func (*AlibabaCloudMachineProviderStatus) DeepCopy

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

func (*AlibabaCloudMachineProviderStatus) DeepCopyInto

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

func (*AlibabaCloudMachineProviderStatus) DeepCopyObject

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

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

func (AlibabaCloudMachineProviderStatus) OpenAPIModelName

func (in AlibabaCloudMachineProviderStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (AlibabaCloudMachineProviderStatus) SwaggerDoc

type AlibabaDiskCategory

type AlibabaDiskCategory string

AlibabaDiskCatagory enum attribute to deescribe a disk's category

type AlibabaDiskEncryptionMode

type AlibabaDiskEncryptionMode string

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

type AlibabaDiskPerformanceLevel

type AlibabaDiskPerformanceLevel string

AlibabaDiskPerformanceLevel enum attribute to describe a disk's performance level

type AlibabaDiskPreservationPolicy

type AlibabaDiskPreservationPolicy string

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

type AlibabaResourceReference

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

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

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

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

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

func (*AlibabaResourceReference) DeepCopy

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

func (*AlibabaResourceReference) DeepCopyInto

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

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

func (AlibabaResourceReference) OpenAPIModelName

func (in AlibabaResourceReference) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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.
	// +required
	Zone string `json:"zone"`

	// subnet is the name of the network subnet in which the VM will be created.
	// When omitted, the subnet value from the machine providerSpec template will be used.
	// +kubebuilder:validation:MaxLength=80
	// +kubebuilder:validation:Pattern=`^[a-zA-Z0-9](?:[a-zA-Z0-9._-]*[a-zA-Z0-9_])?$`
	// +optional
	Subnet string `json:"subnet,omitempty"`
}

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) OpenAPIModelName

func (in AzureFailureDomain) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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) OpenAPIModelName

func (in BandwidthProperties) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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. 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

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) OpenAPIModelName

func (in ControlPlaneMachineSet) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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

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

func (*ControlPlaneMachineSetList) DeepCopyInto

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) OpenAPIModelName

func (in ControlPlaneMachineSetList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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 {
	// machineNamePrefix is the prefix used when creating machine names.
	// Each machine name will consist of this prefix, followed by
	// a randomly generated string of 5 characters, and the index of the machine.
	// It must be a lowercase RFC 1123 subdomain, consisting of lowercase
	// alphanumeric characters, hyphens ('-'), and periods ('.').
	// Each block, separated by periods, must start and end with an alphanumeric character.
	// Hyphens are not allowed at the start or end of a block, and consecutive periods are not permitted.
	// The prefix must be between 1 and 245 characters in length.
	// For example, if machineNamePrefix is set to 'control-plane',
	// and three machines are created, their names might be:
	// control-plane-abcde-0, control-plane-fghij-1, control-plane-klmno-2
	// +kubebuilder:validation:XValidation:rule="!format.dns1123Subdomain().validate(self).hasValue()",message="a lowercase RFC 1123 subdomain must consist of lowercase alphanumeric characters, hyphens ('-'), and periods ('.'). Each block, separated by periods, must start and end with an alphanumeric character. Hyphens are not allowed at the start or end of a block, and consecutive periods are not permitted."
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=245
	// +optional
	MachineNamePrefix string `json:"machineNamePrefix,omitempty"`

	// 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"
	// +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"
	// +required
	Selector metav1.LabelSelector `json:"selector"`

	// template describes the Control Plane Machines that will be created
	// by this ControlPlaneMachineSet.
	// +required
	Template ControlPlaneMachineSetTemplate `json:"template"`
}

ControlPlaneMachineSet represents the configuration of the ControlPlaneMachineSet.

func (*ControlPlaneMachineSetSpec) DeepCopy

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

func (*ControlPlaneMachineSetSpec) DeepCopyInto

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

func (ControlPlaneMachineSetSpec) OpenAPIModelName

func (in ControlPlaneMachineSetSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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.
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// 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"`

	// unavailableReplicas is the number of Control Plane Machines that are
	// 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

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

func (*ControlPlaneMachineSetStatus) DeepCopyInto

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

func (ControlPlaneMachineSetStatus) OpenAPIModelName

func (in ControlPlaneMachineSetStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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

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

func (*ControlPlaneMachineSetStrategy) DeepCopyInto

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

func (ControlPlaneMachineSetStrategy) OpenAPIModelName

func (in ControlPlaneMachineSetStrategy) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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
	// +required
	MachineType ControlPlaneMachineSetMachineType `json:"machineType"`

	// 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

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

func (*ControlPlaneMachineSetTemplate) DeepCopyInto

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

func (ControlPlaneMachineSetTemplate) OpenAPIModelName

func (in ControlPlaneMachineSetTemplate) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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"
	// +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

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

func (*ControlPlaneMachineSetTemplateObjectMeta) DeepCopyInto

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

func (ControlPlaneMachineSetTemplateObjectMeta) OpenAPIModelName

func (in ControlPlaneMachineSetTemplateObjectMeta) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (ControlPlaneMachineSetTemplateObjectMeta) SwaggerDoc

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) OpenAPIModelName

func (in DataDiskProperties) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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, GCP, OpenStack, VSphere and Nutanix.
	// +unionDiscriminator
	// +required
	Platform configv1.PlatformType `json:"platform"`

	// aws configures failure domain information for the AWS platform.
	// +listType=atomic
	// +optional
	AWS *[]AWSFailureDomain `json:"aws,omitempty"`

	// azure configures failure domain information for the Azure platform.
	// +listType=atomic
	// +optional
	Azure *[]AzureFailureDomain `json:"azure,omitempty"`

	// gcp configures failure domain information for the GCP platform.
	// +listType=atomic
	// +optional
	GCP *[]GCPFailureDomain `json:"gcp,omitempty"`

	// vsphere configures failure domain information for the VSphere platform.
	// +listType=map
	// +listMapKey=name
	// +optional
	VSphere []VSphereFailureDomain `json:"vsphere,omitempty"`

	// openstack configures failure domain information for the OpenStack platform.
	//
	// + ---
	// + 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.
	// +listType=atomic
	// +optional
	OpenStack []OpenStackFailureDomain `json:"openstack,omitempty"`

	// nutanix configures failure domain information for the Nutanix platform.
	// +listType=map
	// +listMapKey=name
	// +optional
	Nutanix []NutanixFailureDomainReference `json:"nutanix,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" +kubebuilder:validation:XValidation:rule="has(self.platform) && self.platform == 'VSphere' ? has(self.vsphere) : !has(self.vsphere)",message="vsphere configuration is required when platform is VSphere, and forbidden otherwise" +kubebuilder:validation:XValidation:rule="has(self.platform) && self.platform == 'Nutanix' ? has(self.nutanix) : !has(self.nutanix)",message="nutanix configuration is required when platform is Nutanix, 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) OpenAPIModelName

func (in FailureDomains) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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.
	// +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) OpenAPIModelName

func (in GCPFailureDomain) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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.
	// +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.
	// +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

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) OpenAPIModelName

func (in LoadBalancerReference) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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
	// +required
	Key string `json:"key"`

	// value is the prism category value associated with the key
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=64
	// +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) OpenAPIModelName

func (in NutanixCategory) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (NutanixCategory) SwaggerDoc

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

type NutanixDiskAdapterType

type NutanixDiskAdapterType string

NutanixDiskAdapterType is an enumeration of different disk device adapter types. +kubebuilder:validation:Enum:=SCSI;IDE;PCI;SATA;SPAPR

const (
	// NutanixDiskAdapterTypeSCSI represents the disk adapter type "SCSI".
	NutanixDiskAdapterTypeSCSI NutanixDiskAdapterType = "SCSI"

	// NutanixDiskAdapterTypeIDE represents the disk adapter type "IDE".
	NutanixDiskAdapterTypeIDE NutanixDiskAdapterType = "IDE"

	// NutanixDiskAdapterTypePCI represents the disk adapter type "PCI".
	NutanixDiskAdapterTypePCI NutanixDiskAdapterType = "PCI"

	// NutanixDiskAdapterTypeSATA represents the disk adapter type "SATA".
	NutanixDiskAdapterTypeSATA NutanixDiskAdapterType = "SATA"

	// NutanixDiskAdapterTypeSPAPR represents the disk adapter type "SPAPR".
	NutanixDiskAdapterTypeSPAPR NutanixDiskAdapterType = "SPAPR"
)

type NutanixDiskDeviceType

type NutanixDiskDeviceType string

NutanixDiskDeviceType is the VM disk device type. +kubebuilder:validation:Enum=Disk;CDRom

const (
	// NutanixDiskDeviceTypeDisk represents the VM disk device type "Disk".
	NutanixDiskDeviceTypeDisk NutanixDiskDeviceType = "Disk"

	// NutanixDiskDeviceTypeCDROM represents the VM disk device type "CDRom".
	NutanixDiskDeviceTypeCDROM NutanixDiskDeviceType = "CDRom"
)

type NutanixDiskMode

type NutanixDiskMode string

NutanixDiskMode is an enumeration of different disk modes. +kubebuilder:validation:Enum=Standard;Flash

const (
	// NutanixDiskModeStandard represents the disk standard mode (not flash).
	NutanixDiskModeStandard NutanixDiskMode = "Standard"

	// NutanixDiskModeFlash represents the disk flash mode.
	NutanixDiskModeFlash NutanixDiskMode = "Flash"
)

type NutanixFailureDomainReference

type NutanixFailureDomainReference struct {
	// name of the failure domain in which the nutanix machine provider will create the VM.
	// Failure domains are defined in a cluster's config.openshift.io/Infrastructure resource.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=64
	// +kubebuilder:validation:Pattern=`[a-z0-9]([-a-z0-9]*[a-z0-9])?`
	Name string `json:"name"`
}

NutanixFailureDomainReference refers to the failure domain of the Nutanix platform.

func (*NutanixFailureDomainReference) DeepCopy

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

func (*NutanixFailureDomainReference) DeepCopyInto

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

func (NutanixFailureDomainReference) OpenAPIModelName

func (in NutanixFailureDomainReference) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (NutanixFailureDomainReference) SwaggerDoc

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

type NutanixGPU

type NutanixGPU struct {
	// type is the identifier type of the GPU device.
	// Valid values are Name and DeviceID.
	// +unionDiscriminator
	// +required
	Type NutanixGPUIdentifierType `json:"type"`

	// deviceID is the GPU device ID with the integer value.
	// +optional
	// +unionMember
	DeviceID *int32 `json:"deviceID,omitempty"`

	// name is the GPU device name
	// +optional
	// +unionMember
	Name *string `json:"name,omitempty"`
}

NutanixGPU holds the identity of a Nutanix GPU resource in the Prism Central +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'DeviceID' ? has(self.deviceID) : !has(self.deviceID)",message="deviceID configuration is required when type is DeviceID, and forbidden otherwise" +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'Name' ? has(self.name) : !has(self.name)",message="name configuration is required when type is Name, and forbidden otherwise" +union

func (*NutanixGPU) DeepCopy

func (in *NutanixGPU) DeepCopy() *NutanixGPU

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

func (*NutanixGPU) DeepCopyInto

func (in *NutanixGPU) DeepCopyInto(out *NutanixGPU)

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

func (NutanixGPU) OpenAPIModelName

func (in NutanixGPU) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (NutanixGPU) SwaggerDoc

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

type NutanixGPUIdentifierType

type NutanixGPUIdentifierType string

NutanixGPUIdentifierType is an enumeration of different resource identifier types for GPU entities. +kubebuilder:validation:Enum:=Name;DeviceID

const (
	// NutanixGPUIdentifierName identifies a GPU by Name.
	NutanixGPUIdentifierName NutanixGPUIdentifierType = "Name"

	// NutanixGPUIdentifierDeviceID identifies a GPU by device ID.
	NutanixGPUIdentifierDeviceID NutanixGPUIdentifierType = "DeviceID"
)

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.
	// +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.
	// +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.
	// +required
	// +kubebuilder:validation:MinItems=1
	Subnets []NutanixResourceIdentifier `json:"subnets"`

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

	// vcpuSockets is the number of vCPU sockets of the VM
	// +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
	// +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
	// +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"`

	// gpus is a list of GPU devices to attach to the machine's VM.
	// The GPU devices should already exist in Prism Central and associated with
	// one of the Prism Element's hosts and available for the VM to attach (in "UNUSED" status).
	// +listType=set
	// +optional
	GPUs []NutanixGPU `json:"gpus"`

	// dataDisks holds information of the data disks to attach to the Machine's VM
	// +listType=set
	// +optional
	DataDisks []NutanixVMDisk `json:"dataDisks"`

	// 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
	// +required
	CredentialsSecret *corev1.LocalObjectReference `json:"credentialsSecret"`

	// failureDomain refers to the name of the FailureDomain with which this Machine is associated.
	// If this is configured, the Nutanix machine controller will use the prism_central endpoint
	// and credentials defined in the referenced FailureDomain to communicate to the prism_central.
	// It will also verify that the 'cluster' and subnets' configuration in the NutanixMachineProviderConfig
	// is consistent with that in the referenced failureDomain.
	// +optional
	FailureDomain *NutanixFailureDomainReference `json:"failureDomain"`
}

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

func (*NutanixMachineProviderConfig) DeepCopy

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

func (*NutanixMachineProviderConfig) DeepCopyInto

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

func (*NutanixMachineProviderConfig) DeepCopyObject

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

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

func (NutanixMachineProviderConfig) OpenAPIModelName

func (in NutanixMachineProviderConfig) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty"`

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

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

func (*NutanixMachineProviderStatus) DeepCopy

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

func (*NutanixMachineProviderStatus) DeepCopyInto

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

func (*NutanixMachineProviderStatus) DeepCopyObject

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

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

func (NutanixMachineProviderStatus) OpenAPIModelName

func (in NutanixMachineProviderStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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
	// +required
	// +kubebuilder:validation:Enum:=uuid;name
	Type NutanixIdentifierType `json:"type"`

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

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

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

func (*NutanixResourceIdentifier) DeepCopy

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

func (*NutanixResourceIdentifier) DeepCopyInto

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

func (NutanixResourceIdentifier) OpenAPIModelName

func (in NutanixResourceIdentifier) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (NutanixResourceIdentifier) SwaggerDoc

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

type NutanixStorageResourceIdentifier

type NutanixStorageResourceIdentifier struct {
	// type is the identifier type to use for this resource.
	// The valid value is "uuid".
	// +unionDiscriminator
	// +required
	// +kubebuilder:validation:Enum:=uuid
	Type NutanixIdentifierType `json:"type"`

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

NutanixStorageResourceIdentifier holds the identity of a Nutanix storage resource (storage_container, etc.) +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'uuid' ? has(self.uuid) : !has(self.uuid)",message="uuid configuration is required when type is uuid, and forbidden otherwise" +union

func (*NutanixStorageResourceIdentifier) DeepCopy

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

func (*NutanixStorageResourceIdentifier) DeepCopyInto

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

func (NutanixStorageResourceIdentifier) OpenAPIModelName

func (in NutanixStorageResourceIdentifier) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (NutanixStorageResourceIdentifier) SwaggerDoc

type NutanixVMDisk

type NutanixVMDisk struct {
	// diskSize is size (in Quantity format) of the disk attached to the VM.
	// See https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Format for the Quantity format and example documentation.
	// The minimum diskSize is 1GB.
	// +required
	DiskSize resource.Quantity `json:"diskSize"`

	// deviceProperties are the properties of the disk device.
	// +optional
	DeviceProperties *NutanixVMDiskDeviceProperties `json:"deviceProperties,omitempty"`

	// storageConfig are the storage configuration parameters of the VM disks.
	// +optional
	StorageConfig *NutanixVMStorageConfig `json:"storageConfig,omitempty"`

	// dataSource refers to a data source image for the VM disk.
	// +optional
	DataSource *NutanixResourceIdentifier `json:"dataSource,omitempty"`
}

NutanixDataDisk specifies the VM data disk configuration parameters.

func (*NutanixVMDisk) DeepCopy

func (in *NutanixVMDisk) DeepCopy() *NutanixVMDisk

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

func (*NutanixVMDisk) DeepCopyInto

func (in *NutanixVMDisk) DeepCopyInto(out *NutanixVMDisk)

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

func (NutanixVMDisk) OpenAPIModelName

func (in NutanixVMDisk) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (NutanixVMDisk) SwaggerDoc

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

type NutanixVMDiskDeviceProperties

type NutanixVMDiskDeviceProperties struct {
	// deviceType specifies the disk device type.
	// The valid values are "Disk" and "CDRom", and the default is "Disk".
	// +kubebuilder:default=Disk
	// +required
	DeviceType NutanixDiskDeviceType `json:"deviceType"`

	// adapterType is the adapter type of the disk address.
	// If the deviceType is "Disk", the valid adapterType can be "SCSI", "IDE", "PCI", "SATA" or "SPAPR".
	// If the deviceType is "CDRom", the valid adapterType can be "IDE" or "SATA".
	// +required
	AdapterType NutanixDiskAdapterType `json:"adapterType"`

	// deviceIndex is the index of the disk address. The valid values are non-negative integers, with the default value 0.
	// For a Machine VM, the deviceIndex for the disks with the same deviceType.adapterType combination should
	// start from 0 and increase consecutively afterwards. Note that for each Machine VM, the Disk.SCSI.0
	// and CDRom.IDE.0 are reserved to be used by the VM's system. So for dataDisks of Disk.SCSI and CDRom.IDE,
	// the deviceIndex should start from 1.
	// +kubebuilder:default=0
	// +kubebuilder:validation:Minimum=0
	// +required
	DeviceIndex int32 `json:"deviceIndex,omitempty"`
}

NutanixVMDiskDeviceProperties specifies the disk device properties.

func (*NutanixVMDiskDeviceProperties) DeepCopy

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

func (*NutanixVMDiskDeviceProperties) DeepCopyInto

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

func (NutanixVMDiskDeviceProperties) OpenAPIModelName

func (in NutanixVMDiskDeviceProperties) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (NutanixVMDiskDeviceProperties) SwaggerDoc

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

type NutanixVMStorageConfig

type NutanixVMStorageConfig struct {
	// diskMode specifies the disk mode.
	// The valid values are Standard and Flash, and the default is Standard.
	// +kubebuilder:default=Standard
	DiskMode NutanixDiskMode `json:"diskMode"`

	// storageContainer refers to the storage_container used by the VM disk.
	// +optional
	StorageContainer *NutanixStorageResourceIdentifier `json:"storageContainer,omitempty"`
}

NutanixVMStorageConfig specifies the storage configuration parameters for VM disks.

func (*NutanixVMStorageConfig) DeepCopy

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

func (*NutanixVMStorageConfig) DeepCopyInto

func (in *NutanixVMStorageConfig) DeepCopyInto(out *NutanixVMStorageConfig)

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

func (NutanixVMStorageConfig) OpenAPIModelName

func (in NutanixVMStorageConfig) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (NutanixVMStorageConfig) SwaggerDoc

func (NutanixVMStorageConfig) 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.
	// +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 overridden when the Machines
	// are created based on the FailureDomains field.
	// +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

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

func (*OpenShiftMachineV1Beta1MachineTemplate) DeepCopyInto

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

func (OpenShiftMachineV1Beta1MachineTemplate) OpenAPIModelName

func (in OpenShiftMachineV1Beta1MachineTemplate) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (OpenShiftMachineV1Beta1MachineTemplate) SwaggerDoc

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 +kubebuilder:validation:XValidation:rule="!has(self.availabilityZone) || !has(self.rootVolume) || has(self.rootVolume.availabilityZone)",message="rootVolume.availabilityZone is required when availabilityZone is set"

func (*OpenStackFailureDomain) DeepCopy

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) OpenAPIModelName

func (in OpenStackFailureDomain) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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

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

func (*PowerVSMachineProviderConfig) DeepCopyInto

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

func (*PowerVSMachineProviderConfig) DeepCopyObject

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

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

func (PowerVSMachineProviderConfig) OpenAPIModelName

func (in PowerVSMachineProviderConfig) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

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

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

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

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

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

func (*PowerVSMachineProviderStatus) DeepCopy

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

func (*PowerVSMachineProviderStatus) DeepCopyInto

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

func (*PowerVSMachineProviderStatus) DeepCopyObject

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

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

func (PowerVSMachineProviderStatus) OpenAPIModelName

func (in PowerVSMachineProviderStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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) OpenAPIModelName

func (in PowerVSResource) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (PowerVSResource) SwaggerDoc

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

type PowerVSResourceType

type PowerVSResourceType string

PowerVSResourceType enum attribute to identify the type of resource reference

type PowerVSSecretReference

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

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

func (*PowerVSSecretReference) DeepCopy

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

func (*PowerVSSecretReference) DeepCopyInto

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

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

func (PowerVSSecretReference) OpenAPIModelName

func (in PowerVSSecretReference) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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.
	// The maximum length of a volume type name is 255 characters, as per the OpenStack limit.
	// + ---
	// + Historically, the installer has always required a volume type to be specified when deploying
	// + the control plane with a root volume. This is because the default volume type in Cinder is not guaranteed
	// + to be available, therefore we prefer the user to be explicit about the volume type to use.
	// + We apply the same logic in CPMS: if the failure domain specifies a root volume, we require the user to specify a volume type.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=255
	VolumeType string `json:"volumeType"`
}

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.

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) OpenAPIModelName

func (in RootVolume) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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

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) OpenAPIModelName

func (in SystemDiskProperties) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (SystemDiskProperties) SwaggerDoc

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

type Tag

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

Tag The tags of ECS Instance

func (*Tag) DeepCopy

func (in *Tag) DeepCopy() *Tag

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

func (*Tag) DeepCopyInto

func (in *Tag) DeepCopyInto(out *Tag)

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

func (Tag) OpenAPIModelName

func (in Tag) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (Tag) SwaggerDoc

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

type VSphereFailureDomain

type VSphereFailureDomain struct {
	// name of the failure domain in which the vSphere machine provider will create the VM.
	// Failure domains are defined in a cluster's config.openshift.io/Infrastructure resource.
	// When balancing machines across failure domains, the control plane machine set will inject configuration from the
	// Infrastructure resource into the machine providerSpec to allocate the machine to a failure domain.
	// +required
	Name string `json:"name"`
}

VSphereFailureDomain configures failure domain information for the vSphere platform

func (*VSphereFailureDomain) DeepCopy

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

func (*VSphereFailureDomain) DeepCopyInto

func (in *VSphereFailureDomain) DeepCopyInto(out *VSphereFailureDomain)

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

func (VSphereFailureDomain) OpenAPIModelName

func (in VSphereFailureDomain) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (VSphereFailureDomain) SwaggerDoc

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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