--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.6.1 creationTimestamp: null name: nutanixmachineconfigs.anywhere.eks.amazonaws.com spec: group: anywhere.eks.amazonaws.com names: kind: NutanixMachineConfig listKind: NutanixMachineConfigList plural: nutanixmachineconfigs singular: nutanixmachineconfig scope: Namespaced versions: - name: v1alpha1 schema: openAPIV3Schema: description: NutanixMachineConfig is the Schema for the nutanix machine configs API properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: description: NutanixMachineConfigSpec defines the desired state of NutanixMachineConfig. properties: additionalCategories: description: additionalCategories is a list of optional categories to be added to the VM. Categories must be created in Prism Central before they can be used. items: description: NutanixCategoryIdentifier holds the identity of a Nutanix Prism Central category. properties: key: description: key is the Key of the category in the Prism Central. type: string value: description: value is the category value linked to the key in the Prism Central. type: string type: object type: array cluster: description: 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. properties: name: description: name is the resource name in the PC type: string type: description: Type is the identifier type to use for this resource. enum: - uuid - name type: string uuid: description: uuid is the UUID of the resource in the PC. type: string required: - type type: object image: description: image is to identify the OS 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. properties: name: description: name is the resource name in the PC type: string type: description: Type is the identifier type to use for this resource. enum: - uuid - name type: string uuid: description: uuid is the UUID of the resource in the PC. type: string required: - type type: object memorySize: anyOf: - type: integer - type: string description: memorySize is the memory size (in Quantity format) of the VM The minimum memorySize is 2Gi bytes pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true osFamily: type: string project: description: Project is an optional property that specifies the Prism Central project so that machine resources can be linked to it. The project identifier (uuid or name) can be obtained from the Prism Central console or using the Prism Central API. properties: name: description: name is the resource name in the PC type: string type: description: Type is the identifier type to use for this resource. enum: - uuid - name type: string uuid: description: uuid is the UUID of the resource in the PC. type: string required: - type type: object subnet: description: subnet is to identify the cluster's network subnet to use for the Machine's VM The cluster identifier (uuid or name) can be obtained from the Prism Central console or using the Prism Central API. properties: name: description: name is the resource name in the PC type: string type: description: Type is the identifier type to use for this resource. enum: - uuid - name type: string uuid: description: uuid is the UUID of the resource in the PC. type: string required: - type type: object systemDiskSize: anyOf: - type: integer - type: string description: systemDiskSize is size (in Quantity format) of the system disk of the VM The minimum systemDiskSize is 20Gi bytes pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true users: items: description: UserConfiguration defines the configuration of the user to be added to the VM. properties: name: type: string sshAuthorizedKeys: items: type: string type: array required: - name - sshAuthorizedKeys type: object type: array vcpuSockets: description: vcpuSockets is the number of vCPU sockets of the VM format: int32 minimum: 1 type: integer vcpusPerSocket: description: vcpusPerSocket is the number of vCPUs per socket of the VM format: int32 minimum: 1 type: integer required: - cluster - image - memorySize - osFamily - subnet - systemDiskSize - vcpuSockets - vcpusPerSocket type: object status: description: NutanixMachineConfigStatus defines the observed state of NutanixMachineConfig. properties: addresses: description: Addresses contains the Nutanix VM associated addresses. Address type is one of Hostname, ExternalIP, InternalIP, ExternalDNS, InternalDNS items: description: MachineAddress contains information for the node's address. properties: address: description: The machine address. type: string type: description: Machine address type, one of Hostname, ExternalIP, InternalIP, ExternalDNS or InternalDNS. type: string required: - address - type type: object type: array conditions: description: Conditions defines current service state of the NutanixMachine. items: description: Condition defines an observation of a Cluster API resource operational state. properties: lastTransitionTime: description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: description: A human readable message indicating details about the transition. This field may be empty. type: string reason: description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime - status - type type: object type: array nodeRef: description: NodeRef is a reference to the corresponding workload cluster Node if it exists. properties: apiVersion: description: API version of the referent. type: string fieldPath: description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object ready: description: Ready is true when the provider resource is ready. type: boolean vmUUID: description: The Nutanix VM's UUID type: string type: object type: object served: true storage: true subresources: status: {} status: acceptedNames: kind: "" plural: "" conditions: [] storedVersions: []