action rudder_list_pending_nodes { label: "List pending nodes" description: "Get information about the nodes pending acceptation" provider: rudder method: GET path: "/nodes/pending" encoding: json output: { type: "object" required: ["action", "data", "result"] properties: { action: { type: "string" description: "The id of the action" enum: ["listPendingNodes"] } data: { type: "object" description: "Information about the nodes" required: ["nodes"] properties: { nodes: { type: "array" items: { type: "object" required: ["id", "hostname", "status", "ipAddresses", "managementTechnology", "policyServerId", "properties"] properties: { accounts: { type: "array" description: "User accounts declared in the node" items: { type: "string" description: "User present on the system" } } architectureDescription: { type: "string" description: "Information about CPU architecture (32/64 bits)" } bios: { type: "object" description: "BIOS information" properties: { description: { type: "string" description: "System provided description of the BIOS (long name)" } editor: { type: "string" description: "BIOS editor" } name: { type: "string" description: "BIOS name" } quantity: { type: "integer" description: "Number of BIOS on the machine" } releaseDate: { type: "string" description: "Release date of the BIOS" } version: { type: "string" description: "BIOS version" } } } controllers: { type: "array" description: "Physical controller information" items: { type: "object" properties: { description: { type: "string" description: "System provided description of the controller" } manufacturer: { type: "string" description: "Controller manufacturer" } name: { type: "string" description: "Controller name" } quantity: { type: "integer" description: "Quantity of that controller" } type: { type: "string" description: "Controller type" } } } } description: { type: "string" description: "A human intended description of the node (not used)" } environmentVariables: { type: "array" description: "Environment variables defined on the node in the context of the agent" items: { type: "object" properties: { name: { type: "string" description: "Environment variable name" } value: { type: "string" description: "Environment variable value" } } } } fileSystems: { type: "array" description: "File system declared on the node" items: { type: "object" properties: { description: { type: "string" description: "Description of the file system" } fileCount: { type: "integer" description: "Number of files" } freeSpace: { type: "integer" description: "Free space remaining" } mountPoint: { type: "string" description: "Mount point" } name: { type: "string" description: "Type of file system (`ext4`, `swap`, etc.)" } totalSpace: { type: "integer" description: "Total space" } } } } hostname: { type: "string" description: "Fully qualified name of the node" } id: { type: "string" format: "uuid (or \"root\")" description: "Unique id of the node" } ipAddresses: { type: "array" description: "IP addresses of the node (IPv4 and IPv6)" items: { type: "string" description: "IP of the node" } } lastInventoryDate: { type: "string" format: "date" description: "Date and time of the latest generated inventory, if one is available (node time). Up to API v11, format was: \"YYYY-MM-dd HH:mm\"" } lastRunDate: { type: "string" format: "date" description: "Date and time of the latest run, if one is available (node time). Up to API v11, format was: \"YYYY-MM-dd HH:mm\"" } machine: { type: "object" description: "Information about the underlying machine" properties: { id: { type: "string" description: "Rudder unique identifier for the machine" } manufacturer: { type: "string" description: "Information about machine manufacturer" } provider: { type: "string" description: "In the case of VM, the VM technology" } serialNumber: { type: "string" description: "If available, a unique identifier provided by the machine" } type: { type: "string" description: "Type of the machine" enum: ["Physical", "Virtual"] } } } managementTechnology: { type: "array" description: "Management agents running on the node" items: { type: "object" required: ["name", "value"] properties: { capabilities: { type: "array" description: "List of agent capabilities" items: { type: "string" description: "Special capacities of the agent, like parsing xml or yaml, support of advanced acl, etc." } } name: { type: "string" description: "Agent name" } nodeKind: { type: "string" description: "kind of node for the management engine, like `root`, `relay`, `node`, `root-component`" } rootComponents: { type: "array" description: "Roles fulfilled by the agent" items: { type: "string" description: "A role that node fulfills in management technology" } } version: { type: "string" description: "Agent version" } } } } managementTechnologyDetails: { type: "object" description: "Additional information about management technology" properties: { cfengineKeys: { type: "array" description: "Certificates used by the agent" items: { type: "string" format: "PEM" description: "Certificate (or public key for <6.0 agents) used by the agent" } } cfengineUser: { type: "string" description: "Local user account used by the agent" } } } memories: { type: "array" description: "Memory slots" items: { type: "object" description: "Memory slots" properties: { capacity: { type: "integer" description: "Size of modules" } caption: { type: "string" description: "Manufacturer provided information about the module" } description: { type: "string" description: "System provided description" } name: { type: "string" description: "Name of the memory slot or memory module" } quantity: { type: "string" description: "Number of modules in that slot" } serialNumber: { type: "string" description: "Serial number of the module" } slotNumber: { type: "integer" description: "Slot number" } speed: { type: "integer" description: "Memory speed (frequency)" } type: { type: "string" description: "Memory slot type" } } } } networkInterfaces: { type: "array" description: "Detailed information about registered network interfaces on the node" items: { type: "object" properties: { dhcpServer: { type: "string" description: "DHCP server managing that network interface" } ipAddresses: { type: "array" description: "IP addresses of the network interface" items: { type: "string" description: "IP address" } } macAddress: { type: "string" description: "MAC address of the network interface" } mask: { type: "array" items: { type: "string" format: "CIDR" description: "Network interface mask" } } name: { type: "string" description: "Interface name (for ex \"eth0\")" } speed: { type: "string" description: "Information about synchronization speed" } status: { type: "string" description: "network interface status (enabled or not, up or down)" } type: { type: "string" description: "Information about the type of network interface" } } } } os: { type: "object" description: "Information about the operating system" required: ["type", "name", "version", "fullName", "kernelVersion"] properties: { fullName: { type: "string" description: "Full operating system name" } kernelVersion: { type: "string" description: "Version of the OS kernel" } name: { type: "string" description: "Operating system name (distribution on Linux, etc.)" } servicePack: { type: "string" description: "If relevant, the service pack of the OS" } type: { type: "string" description: "Family of the OS" enum: ["Windows", "Linux", "AIX", "FreeBSD"] } version: { type: "string" description: "OS version" } } } policyMode: { type: "string" description: "Rudder policy mode for the node (`default` follows the global configuration)" enum: ["enforce", "audit", "default"] } policyServerId: { type: "string" format: "uuid (or \"root\")" description: "Rudder policy server managing the node" } ports: { type: "array" description: "Physical port information objects" items: { type: "object" properties: { description: { type: "string" description: "System provided description of the port" } name: { type: "string" description: "Port name" } quantity: { type: "integer" description: "Quantity of similar ports" } type: { type: "string" description: "Port type" } } } } processes: { type: "array" description: "Process running (at inventory time)" items: { type: "object" description: "Process information" properties: { cpuUsage: { type: "integer" description: "CPU used by the process (at inventory time)" } description: { type: "string" description: "System provided description about the process" } memory: { type: "number" format: "float" description: "Memory allocated to the process (at inventory time)" } name: { type: "string" description: "Process name" } pid: { type: "integer" description: "PID of the process" } started: { type: "string" format: "date" description: "Started date and time of the process" } tty: { type: "string" description: "TTY to which the process is" } user: { type: "string" description: "User account who started the process" } virtualMemory: { type: "integer" description: "Virtual memory allocated to the process (at inventory time)" } } } } processors: { type: "array" description: "CPU information" items: { type: "object" properties: { arch: { type: "string" description: "CPU architecture" } core: { type: "integer" description: "Number of core for that CPU" } cpuid: { type: "string" description: "Identifier of the CPU" } description: { type: "string" description: "System provided description of the CPU" } externalClock: { type: "string" description: "External clock used by the CPU" } familyName: { type: "string" description: "CPU family" } manufacturer: { type: "string" description: "CPU manufacturer" } model: { type: "integer" description: "CPU model" } name: { type: "string" description: "CPU name" } quantity: { type: "integer" description: "Number of CPU with these features" } speed: { type: "integer" description: "Speed (frequency) of the CPU" } stepping: { type: "integer" description: "Stepping or power management information" } thread: { type: "integer" description: "Number of thread by core for the CPU" } } } } properties: { type: "array" description: "Node properties (either set by user or filled by third party sources)" items: { type: "object" required: ["name", "value"] properties: { name: { type: "string" description: "Property name" } value: { format: "string or JSON" description: "Property value (can be a string or JSON object)" type: "object" } } } } ram: { type: "integer" description: "Size of RAM in MB" } slots: { type: "array" description: "Physical extension slot information" items: { type: "object" properties: { description: { type: "string" description: "System provided description of the slots" } name: { type: "string" description: "Slot name or identifier" } quantity: { type: "integer" description: "Quantity of similar slots" } status: { type: "string" description: "Slot status (used, powered, etc)" } } } } software: { type: "array" description: "Software installed on the node (can have thousands items)" items: { type: "object" properties: { description: { type: "string" description: "A description of the software" } editor: { type: "string" description: "Editor of the software" } license: { type: "object" description: "Information about the license" properties: { description: { type: "string" description: "License description" } expirationDate: { type: "string" format: "date" description: "License expiration date" } name: { type: "string" description: "License name" } oem: { type: "string" description: "Is this an OEM license (and information)" } productId: { type: "string" description: "License product identifier" } productKey: { type: "string" description: "License key" } } } name: { type: "string" description: "Name of the software (as reported by the node)" } releaseDate: { type: "string" format: "date" description: "Release date of the software" } version: { type: "string" description: "Version of the software" } } } } softwareUpdate: { type: "array" description: "Software that can be updated on that machine" items: { type: "object" properties: { arch: { type: "string" description: "CPU architecture of the update" } description: { type: "string" description: "details about the content of the update, if available" } from: { type: "string" description: "tool that discovered that update" } ids: { type: "array" items: { type: "string" description: "Related identifiers, can be CVE number, vendor-specific advisory (RHSA, etc.)" } } kind: { type: "string" description: "if available, kind of patch provided by that update, else none" enum: ["none", "security", "defect", "enhancement", "other"] } name: { type: "string" description: "name of software that can be updated" } severity: { type: "string" description: "if available, the severity of the update" enum: ["critical", "high", "moderate", "low", "other"] } source: { type: "string" description: "information about the source providing that update" } version: { type: "string" description: "available version for software" } } } } sound: { type: "array" description: "Sound card information" items: { type: "object" properties: { description: { type: "string" description: "System provided description of the sound card" } name: { type: "string" description: "Sound card name" } quantity: { type: "integer" description: "Quantity of similar sound cards" } } } } status: { type: "string" description: "Status of the node" enum: ["pending", "accepted", "deleted"] } storage: { type: "array" description: "Storage (disks) information objects" items: { type: "object" properties: { description: { type: "string" description: "System provided information about the storage" } firmware: { type: "string" description: "Storage firmware information" } manufacturer: { type: "string" description: "Storage manufacturer" } model: { type: "string" description: "Storage model" } name: { type: "string" description: "Storage name" } quantity: { type: "integer" description: "Quantity of similar storage" } serialNumber: { type: "string" description: "Storage serial number" } size: { type: "integer" description: "Storage size in MB" } type: { type: "string" description: "Storage type" } } } } timezone: { type: "object" required: ["name", "value"] properties: { name: { type: "string" description: "Timezone name" } offset: { type: "string" format: "+/-difference" description: "Timezone offset to UTC" } } } videos: { type: "array" description: "Video card information" items: { type: "object" properties: { chipset: { type: "string" description: "information about video card chipset" } description: { type: "string" description: "System provided description for that video card" } memory: { type: "string" description: "Quantity of memory for that video card" } name: { type: "string" description: "Video card name" } quantity: { type: "integer" description: "Quantity of similar video cards" } resolution: { type: "string" description: "Resolution used by that video card at inventory time" } } } } virtualMachines: { type: "array" description: "Hosted virtual machine information" items: { type: "object" properties: { description: { type: "string" description: "System provided description of the hosted virtual machine" } memory: { type: "string" description: "Memory allocated to the hosted virtual machine" } name: { type: "string" description: "Name of the hosted virtual machine" } owner: { type: "string" description: "Owner of the hosted virtual machine" } status: { type: "string" description: "Status (up, starting, etc) of the hosted virtual machine" } subsystem: { type: "string" description: "Technology of the hosted virtual machine" } type: { type: "string" description: "Type of the hosted virtual machine" } uuid: { type: "string" description: "Unique identifier of the hosted virtual machine" } vcpu: { type: "string" description: "Number of virtual CPU allocated to the hosted virtual machine" } } } } } } } } } result: { type: "string" description: "Result of the request" enum: ["success", "error"] } } } }