config/manifest/eksa-components.yaml [5865:6217]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.17.2
  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
                  required:
                  - key
                  - value
                  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
              gpus:
                description: List of GPU devices that should be added to the VMs.
                items:
                  description: NutanixGPUIdentifier holds VM GPU device configuration.
                  properties:
                    deviceID:
                      description: deviceID is the device ID of the GPU device.
                      format: int64
                      type: integer
                    name:
                      description: vendorID is the vendor ID of the GPU device.
                      type: string
                    type:
                      description: type is the type of the GPU device.
                      enum:
                      - deviceID
                      - name
                      type: string
                  required:
                  - type
                  type: object
                type: array
              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.
                  It must include the Kubernetes version(s). For example, a template used for
                  Kubernetes 1.27 could be ubuntu-2204-1.27.
                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.
                    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
                x-kubernetes-map-type: atomic
              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: {}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



