--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.8.0 creationTimestamp: null labels: clusterctl.cluster.x-k8s.io: "" clusterctl.cluster.x-k8s.io/move: "" name: hardware.tinkerbell.org spec: group: tinkerbell.org names: categories: - tinkerbell kind: Hardware listKind: HardwareList plural: hardware shortNames: - hw singular: hardware scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .status.state name: State type: string name: v1alpha1 schema: openAPIV3Schema: description: Hardware is the Schema for the Hardware 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: HardwareSpec defines the desired state of Hardware. properties: bmcRef: description: BMCRef contains a relation to a BMC state management type in the same namespace as the Hardware. This may be used for BMC management by orchestrators. properties: apiGroup: description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. type: string kind: description: Kind is the type of resource being referenced type: string name: description: Name is the name of resource being referenced type: string required: - kind - name type: object disks: items: description: Disk represents a disk device for Tinkerbell Hardware. properties: device: type: string type: object type: array interfaces: items: description: Interface represents a network interface configuration for Hardware. properties: dhcp: description: DHCP configuration. properties: arch: type: string hostname: type: string iface_name: type: string ip: description: IP configuration. properties: address: type: string family: format: int64 type: integer gateway: type: string netmask: type: string type: object lease_time: format: int64 type: integer mac: pattern: ([0-9a-f]{2}[:]){5}([0-9a-f]{2}) type: string name_servers: items: type: string type: array time_servers: items: type: string type: array uefi: type: boolean vlan_id: description: validation pattern for VLANDID is a string number between 0-4096 pattern: ^(([0-9][0-9]{0,2}|[1-3][0-9][0-9][0-9]|40([0-8][0-9]|9[0-6]))(,[1-9][0-9]{0,2}|[1-3][0-9][0-9][0-9]|40([0-8][0-9]|9[0-6]))*)$ type: string type: object netboot: description: Netboot configuration. properties: allowPXE: type: boolean allowWorkflow: type: boolean ipxe: description: IPXE configuration. properties: contents: type: string url: type: string type: object osie: description: OSIE configuration. properties: baseURL: type: string initrd: type: string kernel: type: string type: object type: object type: object type: array metadata: properties: bonding_mode: format: int64 type: integer custom: properties: preinstalled_operating_system_version: properties: distro: type: string image_tag: type: string os_slug: type: string slug: type: string version: type: string type: object private_subnets: items: type: string type: array type: object facility: properties: facility_code: type: string plan_slug: type: string plan_version_slug: type: string type: object instance: properties: allow_pxe: type: boolean always_pxe: type: boolean crypted_root_password: type: string hostname: type: string id: type: string ips: items: properties: address: type: string family: format: int64 type: integer gateway: type: string management: type: boolean netmask: type: string public: type: boolean type: object type: array ipxe_script_url: type: string network_ready: type: boolean operating_system: properties: distro: type: string image_tag: type: string os_slug: type: string slug: type: string version: type: string type: object rescue: type: boolean ssh_keys: items: type: string type: array state: type: string storage: properties: disks: items: properties: device: type: string partitions: items: properties: label: type: string number: format: int64 type: integer size: format: int64 type: integer start: format: int64 type: integer type_guid: type: string type: object type: array wipe_table: type: boolean type: object type: array filesystems: items: properties: mount: properties: create: properties: force: type: boolean options: items: type: string type: array type: object device: type: string files: items: properties: contents: type: string gid: format: int64 type: integer mode: format: int64 type: integer path: type: string uid: format: int64 type: integer type: object type: array format: type: string point: type: string type: object type: object type: array raid: items: properties: devices: items: type: string type: array level: type: string name: type: string spare: format: int64 type: integer type: object type: array type: object tags: items: type: string type: array userdata: type: string type: object manufacturer: properties: id: type: string slug: type: string type: object state: type: string type: object resources: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true description: Resources represents known resources that are available on a machine. Resources may be used for scheduling by orchestrators. type: object tinkVersion: format: int64 type: integer userData: description: UserData is the user data to configure in the hardware's metadata type: string vendorData: description: VendorData is the vendor data to configure in the hardware's metadata type: string type: object status: description: HardwareStatus defines the observed state of Hardware. properties: state: description: HardwareState represents the hardware state. type: string type: object type: object served: true storage: true subresources: status: {} status: acceptedNames: kind: "" plural: "" conditions: [] storedVersions: []