"\"\"Ensure field resolved in transaction\"\""
directive @transactional(readOnly: Boolean, transactionManager: String) on FIELD | FIELD_DEFINITION

# Java enumeration mapping for com.jdisc.common.ssh.SshKeyType
"""The SSH key type"""
enum SshKeyType {
  RSA,
  DSA,
  OPENSSH
}


# Java enumeration mapping for com.jdisc.graphql.type.GraphQLNodeDataType
"""The node data type."""
enum GraphQLNodeDataType {
  CyberarkSafe,
  PasswordManagerAccountDefinition,
  CyberarkGroup,
  ThycoticFolder,
  AceBITPasswordDepotFolder,
  PasswordStatePasswordList,
  ManageEnginePMPResource,
  DocumentInfo
}


# Java enumeration mapping for com.jdisc.inventory.common.constants.AddOnProduct
"""The available Add-On products"""
enum AddOnProduct {
  WEB_SERVICE_ADD_ON,
  DEPENDENCY_MAPPING,
  NETWORKING,
  HISTORY,
  SECURITY,
  SHI,
  MEASUREMENT,
  WEBUI
}


# Java enumeration mapping for com.jdisc.inventory.common.constants.FieldWidthEnum
"""Enumeration for field widths in the UI"""
enum FieldWidthEnum {
  checkbox,
  ip4Address,
  timestamp,
  tiny,
  verySmall,
  small,
  deviceType,
  medium,
  large,
  veryLarge,
  incrediblyLarge,
  ipAddress,
  ip6Address,
  ip6NetworkPrefix
}


# Java enumeration mapping for com.jdisc.inventory.common.datastructures.accounts.snmp.SnmpV3AuthProtocol
"""The SNMPv3 authentication protocol"""
enum SnmpV3AuthProtocol {
  None,
  SHA,
  MD5,
  HMAC128SHA224,
  HMAC192SHA256,
  HMAC256SHA384,
  HMAC384SHA512
}


# Java enumeration mapping for com.jdisc.inventory.common.datastructures.accounts.snmp.SnmpV3PrivProtocol
"""The SNMPv3 privacy/encryption protocol"""
enum SnmpV3PrivProtocol {
  None,
  DES,
  AES128,
  AES192,
  AES256,
  AES256WithDESKey,
  AES192WithDESKey
}


# Java enumeration mapping for com.jdisc.inventory.common.datastructures.cloud.microsoft.azure.AzureSubscriptionState
"""The Azure Subscription States"""
enum AzureSubscriptionState {
  Deleted,
  Disabled,
  Enabled,
  PastDue,
  Warned
}


# Java enumeration mapping for com.jdisc.inventory.common.datastructures.customattributes.AttributeType
"""The custom attribute type"""
enum AttributeType {
  Integer,
  Long,
  SingleLineText,
  MultilineText,
  Datetime,
  Date,
  Time,
  Folder,
  Float,
  Enum,
  Currency,
  Boolean,
  Document,
  Table,
  Group,
  Any,
  SnmpGroup,
  SnmpTable,
  WMIQuery
}


# Java enumeration mapping for com.jdisc.inventory.common.datastructures.customattributes.collection.CustomAttributeCollectionMethod
"""The custom attribute collection method"""
enum CustomAttributeCollectionMethod {
  WindowsRegistry,
  RemoteExecute,
  Snmp,
  WMI
}


# Java enumeration mapping for com.jdisc.inventory.common.datastructures.customattributes.collection.ScriptCollectionType
"""The script collection type"""
enum ScriptCollectionType {
  Software,
  CustomAttribute
}


# Java enumeration mapping for com.jdisc.inventory.common.datastructures.customattributes.collection.registry.RegistryKey
"""The registry key enum"""
enum RegistryKey {
  HKCR,
  HKCU,
  HKLM,
  HKU,
  HKCC
}


# Java enumeration mapping for com.jdisc.inventory.common.datastructures.java.JavaRiskSeverity
"""The java risk severity"""
enum JavaRiskSeverity {
  Ok,
  DontKnow,
  AtRisk
}


# Java enumeration mapping for com.jdisc.inventory.common.datastructures.java.JavaRiskType
"""The risk type for a java usage to become possibly licensable"""
enum JavaRiskType {
  UpdateNotFound,
  NoCommandLineParams,
  CommercialFeaturesUsed,
  OTNVersion,
  FlightRecorderUsed
}


# Java enumeration mapping for com.jdisc.inventory.common.datastructures.passwordmanagment.acebitpassworddepot.AceBITPasswordDepotItemClassType
"""The AceBIT Password Depot Itemclass type"""
enum AceBITPasswordDepotItemClassType {
  FOLDER,
  PASSWORD,
  CREDIT,
  LICENSE,
  IDENTITY,
  INFORMATION,
  CARD,
  FILE,
  DOCUMENT,
  RDP,
  PUTTY,
  TEAMVIEWER
}


# Java enumeration mapping for com.jdisc.inventory.common.datastructures.passwordmanagment.cyberark.CyberarkAuthenticationType
"""The cyberark authentication type"""
enum CyberarkAuthenticationType {
  CyberArk,
  Windows,
  LDAP,
  RADIUS
}


# Java enumeration mapping for com.jdisc.inventory.common.devicedata.ConnectionDirection
"""The direction of the relation. Forward means source initiated, Backward means destination initiated."""
enum ConnectionDirection {
  Forward,
  Backward
}


# Java enumeration mapping for com.jdisc.inventory.common.devicedata.ConnectorState
"""The state for a relation between two devices. This state is used
for instance for virtualation relations between the physical host and the VM
in order to indicate the virtual machine state"""
enum ConnectorState {
  Unknown,
  Running,
  Stopped,
  Suspended,
  Pending,
  Paused,
  Pausing,
  Resuming,
  Saving,
  Snapshotting,
  Starting,
  Stopping,
  Configured,
  Blocked,
  Dying,
  Crashed,
  Creating,
  Deallocating,
  Deallocated,
  Migrating,
  Rebuilding,
  Intune,
  Repairing,
  Suspending,
  ImageLocked,
  NotResponding,
  Rebooting,
  Succeeded,
  Failure
}


# Java enumeration mapping for com.jdisc.inventory.common.devicedata.ConnectorType
"""The relation type for relations between two devices"""
enum ConnectorType {
  Unknown,
  Other,
  Male,
  Female,
  Shielded,
  Unshielded,
  SCSI_A_High_Density_50_pins,
  SCSI_A_Low_Density_50_pins,
  SCSI_P_High_Density_68_pins,
  SCSI_SCA_I_80_pins,
  SCSI_SCA_II_80_pins,
  SCSI_Fibre_Channel_DB_9_Copper,
  SCSI_Fibre_Channel_Fibre,
  SCSI_Fibre_Channel_SCA_II_40_pins,
  SCSI_Fibre_Channel_SCA_II_20_pins,
  SCSI_Fibre_Channel_BNC,
  ATA_3_1_2_Inch_40_pins,
  ATA_2_1_2_Inch_44_pins,
  ATA_2,
  ATA_3,
  ATA_66,
  DB_9,
  DB_15,
  DB_25,
  DB_36,
  RS_232C,
  RS_422,
  RS_423,
  RS_485,
  RS_449,
  V_35,
  X_21,
  IEEE_488,
  AUI,
  Category_3,
  Category_4,
  UTP_Category_5,
  BNC,
  RJ11,
  RJ45,
  Fiber_MIC,
  Apple_AUI,
  Apple_GeoPort,
  PCI,
  ISA,
  EISA,
  VESA,
  PCMCIA,
  PCMCIA_Type_I,
  PCMCIA_Type_II,
  PCMCIA_Type_III,
  ZV_Port,
  CardBus,
  USB,
  IEEE_1394,
  HIPPI,
  HSSDC_6_pins,
  GBIC,
  DIN,
  Mini_DIN,
  Micro_DIN,
  PS_2,
  Infrared,
  HP_HIL,
  Access_bus,
  NuBus,
  Centronics,
  Mini_Centronics,
  Mini_Centronics_Type_14,
  Mini_Centronics_Type_20,
  Mini_Centronics_Type_26,
  BusMouse,
  ADB,
  AGP,
  VME_Bus,
  VME64,
  Proprietary,
  Proprietary_Processor_Card_Slot,
  Proprietary_Memory_Card_Slot,
  Proprietary_IO_Riser_Slot,
  PCI_66,
  AGP2X,
  AGP4X,
  PC_98,
  PC_98_Hireso,
  PC_H98,
  PC_98Note,
  PC_98Full,
  PCI_X,
  SSA_SCSI,
  Circular,
  On_Board_IDE_Connector,
  On_Board_Floppy_Connector,
  Dual_Inline_9_Ping,
  Dual_Inline_25_Pin,
  Dual_Inline_50_Pin,
  Dual_Inline_68_Ping,
  On_Board_Sound_Connector,
  Mini_Jack,
  PCI_X2,
  Sbus_IEEE_1396_1993_32_Bit,
  Sbus_IEEE_1396_1993_64_Bit,
  MCA,
  GIO,
  XIO,
  HIO,
  NGIO,
  PMC,
  MTRJ,
  VF_45,
  Future_IO,
  SC,
  SG,
  Electrical,
  Optical,
  Ribbon,
  GLM,
  _1x9,
  Mini_SG,
  LC,
  HSSC,
  VHDCI_Shielded_68_pins,
  InfiniBand,
  AGP8X,
  PCI_E,
  VMwareVirtualInstance,
  MSVirtualServerInstance,
  SolarisZone,
  HPIntegrityVM,
  MSHyperVInstance,
  XenInstance,
  SolarisLDom,
  VirtualBoxInstance,
  KVMVirtualInstance,
  IbmLPar,
  CitrixXenInstance,
  HPIntegrityVPar,
  LXCVirtualInstance,
  DockerVirtualInstance,
  VFilerInstance,
  F5Appliance,
  NetAppVServerInstance,
  F5VirtualServer,
  CitrixNetScalerServer,
  KubernetesPod,
  ContainerdInstance,
  KubernetesService,
  KubernetesServicePod,
  PodMember,
  A10VServerInstance,
  ManagedVirtualizationServer,
  BladeChassisMember,
  DirectlyAttachedDevice,
  AttachedDiskArray,
  AttachedManagementDevice,
  StackedSwitch,
  AttachedComputeNode,
  DirectlyAttachedLocalVirtualSwitch,
  StackedAccessPointController,
  LLDPMED
}


# Java enumeration mapping for com.jdisc.inventory.common.devicedata.scheduledTasks.DeviceScheduledTaskActionType
"""DeviceScheduledTaskActionType"""
enum DeviceScheduledTaskActionType {
  ExecuteCommand,
  ComHandler,
  SendEmail,
  ShowMessage
}


# Java enumeration mapping for com.jdisc.inventory.common.devicedata.scheduledTasks.DeviceScheduledTaskLogonType
"""DeviceScheduledTaskLogonType"""
enum DeviceScheduledTaskLogonType {
  S4U,
  Password,
  InteractiveToken,
  InteractiveTokenOrPassword
}


# Java enumeration mapping for com.jdisc.inventory.common.devicedata.scheduledTasks.DeviceScheduledTaskRunLevelType
"""DeviceScheduledTaskRunLevelType"""
enum DeviceScheduledTaskRunLevelType {
  LeastPrivilege,
  HighestAvailable
}


# Java enumeration mapping for com.jdisc.inventory.common.devicedata.scheduledTasks.DeviceScheduledTaskTriggerFrequency
"""DeviceScheduledTaskTriggerFrequency"""
enum DeviceScheduledTaskTriggerFrequency {
  ScheduleByDay,
  ScheduleByWeek,
  ScheduleByMonth,
  ScheduleByMonthDayOfWeek
}


# Java enumeration mapping for com.jdisc.inventory.common.devicedata.scheduledTasks.DeviceScheduledTaskTriggerType
"""DeviceScheduledTaskTriggerType"""
enum DeviceScheduledTaskTriggerType {
  AtSystemStartUp,
  AtRegistration,
  WhenIdle,
  TimeTrigger,
  WhenAnEventOccurs,
  AtLogonTime,
  WhenSessionStateChanged,
  CalendarTrigger,
  OnDemandOnly,
  WhenWnfStateChanged
}


# Java enumeration mapping for com.jdisc.inventory.common.diagram.ContextMenuGroup
"""The context menu group"""
enum ContextMenuGroup {
  ROOT,
  HARDWARE,
  DISKS,
  PROCESSORS,
  MEMORY,
  MODULES,
  SOFTWARE,
  CONNECT_WITH,
  VIRTUALIZATION,
  NETWORK,
  INTERFACES
}


# Java enumeration mapping for com.jdisc.inventory.common.diagram.ContextMenuItemKey
"""The context menu item key"""
enum ContextMenuItemKey {
  APPLICATIONS,
  INSTALLED_APPLICATIONS,
  CONNECTED_DEVICES,
  CONNECTED_NETWORK_INTERFACES,
  NETWORK_INTERFACE_OWNER,
  NETWORK_DEVICES,
  PHYSICAL_DISK_SLOTS,
  MEMORY_MODULES,
  MEMORY_MODULE_SLOTS,
  MODULE_SLOTS,
  DEVICE_DISK_PARTITIONS,
  DEVICE_NETWORK_INTERFACES,
  PHYSICAL_DISK_PARTITIONS,
  PHYSICAL_DISK,
  DEVICE_LOGICAL_DISKS,
  PROCESSORS,
  PROCESSOR_SLOTS,
  OS,
  PROPERTIES,
  ConnectMSTSC,
  ConnectHTTP,
  ConnectHTTPS,
  VIRTUALIZATION_TOPOLOGY,
  NETWORK_TOPOLOGY,
  PORT_CONNECTIONS,
  DEVICE_INBOUND_PORT_CONNECTIONS,
  NETWORK_INTERFACE_CONNECTIONS,
  DEVICE_OUTBOUND_PORT_CONNECTIONS,
  V_CENTERS_MEMBERSHIP,
  MANAGED_V_CENTERS,
  V_CENTER,
  HOSTED_VIRTUAL_MACHINES,
  CLUSTERS,
  CLUSTER_DEVICES,
  CLUSTER_VIRTUAL_MACHINES,
  CLUSTERS_MEMBERSHIP,
  ALL_HARDWARE,
  STACKED_SWITCH_MEMBERS,
  DEVICE_OPEN_PORTS,
  DEVICE_OUTBOUND_CONNECTIONS,
  LISTENING_PORT_CONNECTED_DEVICES,
  LISTENING_PORT_PROCESS,
  LISTENING_PORT_APPLICATION_INSTANCE,
  LISTENING_PORT_OWNER
}


# Java enumeration mapping for com.jdisc.inventory.common.diagram.DiagramEntityId
"""The diagram entity name"""
enum DiagramEntityId {
  Application,
  ApplicationInstance,
  Cluster,
  Device,
  DiskPartition,
  InstalledApplication,
  IP4Network,
  IP6Network,
  LogicalDisk,
  ListeningPort,
  MemoryModule,
  MemoryModuleSlot,
  ModuleSlot,
  NetworkInterface,
  OS,
  PhysicalDisk,
  PhysicalDiskSlot,
  Process,
  Processor,
  ProcessorSlot,
  VirtualDatacenter,
  TestEntityId
}


# Java enumeration mapping for com.jdisc.inventory.common.diagram.DiagramLabelDescription
"""The diagram label description"""
enum DiagramLabelDescription {
  APP_NAME,
  APP_VERSION,
  APP_MANUFACTURER,
  APP_INSTANCE_NAME,
  CLUSTER_NAME,
  DEVICE_NAME,
  DEVICE_MANUFACTURER,
  DEVICE_MODEL,
  DEVICE_COMPUTER_NAME,
  DEVICE_IP_ADDRESS,
  DP_NAME,
  LD_NAME,
  LD_FILE_SYSTEM,
  LD_MOUNT_POINT,
  LD_LOCATION,
  IA_INSTALLATION_PATH,
  IP4_BASE_ADDRESS,
  IP4_NAME,
  IP4_SUBNET_MASK,
  IP4_FIRST_ADDRESS,
  IP4_LAST_ADDRESS,
  IP6_BASE_ADDRESS,
  IP6_NAME,
  IP6_FIRST_ADDRESS,
  IP6_LAST_ADDRESS,
  MM_MODEL,
  MM_MANUFACTURER,
  MM_SERIAL_NUMBER,
  MM_MEMORY_TYPE,
  MMS_ID,
  MSS_ID,
  NETWORK_INTERFACE_DEFAULT,
  NETWORK_INTERFACE_INDEX,
  NETWORK_INTERFACE_PORT_ID,
  NETWORK_INTERFACE_PHYSICAL_ADDRESS,
  NETWORK_INTERFACE_ANNOTATION,
  NETWORK_INTERFACE_OPERATIONAL_STATUS,
  NETWORK_INTERFACE_ADMINISTRATIVE_STATUS,
  NETWORK_INTERFACE_DNS_SUFFIX,
  NETWORK_INTERFACE_SPEED,
  OS_FAMILY,
  OS_RAW_VERSION,
  OS_MANUFACTURER,
  OS_VERSION,
  OS_KERNEL_VERSION,
  OS_PATCH_LEVEL,
  OS_SYSTEM_TYPE,
  OS_OWNER,
  PORT_ADDRESS,
  PORT_DEFAULT,
  PORT_NUMBER,
  PORT_TYPE,
  PORT_CONNECTION_PORT_NUMBER,
  PDS_SLOT_ID,
  PDS_SOCKET_DESIGNATION,
  PHD_MODEL,
  PHD_MANUFACTURER,
  PHD_SERIAL_NUMBER,
  PHD_FW_VERSION,
  PHD_DISK_STATUS,
  PRO_MODEL,
  PRO_RAW_MODEL,
  PRO_MANUFACTURER,
  PRO_DEVICE_ID,
  PRO_STATUS,
  PROC_SLOT_ID,
  PROCESS_BINARY_NAME,
  PROCESS_PATH,
  PROCESS_PARAMETERS,
  VD_NAME,
  EMPTY
}


# Java enumeration mapping for com.jdisc.inventory.common.diagram.DiagramRelationId
"""The diagram relation id"""
enum DiagramRelationId {
  getIP4NetworkDevices,
  getIP6NetworkDevices,
  getOperatingSystem,
  getProcessors,
  getProcessorSlots,
  getPhysicalDiskSlots,
  getDeviceLogicalDisks,
  getDeviceDiskPartitions,
  getDeviceNetworkInterfaces,
  getDeviceOpenPorts,
  getDeviceOutboundConnections,
  getListeningPortConnectedDevices,
  getListeningPortOwner,
  getListeningPortApplicationInstance,
  getListeningPortProcess,
  getPhysicalDiskPartitions,
  getPartitionPhysicalDisk,
  getPhysicalDisk,
  getConnectedDevices,
  getManagedVCenters,
  getMemoryModule,
  getMemoryModuleSlots,
  getModuleSlots,
  getVCentersWhereMemberOf,
  getVCenterWhereMemberOf,
  getHostedVirtualMachines,
  getNetworkInterfaceOwner,
  getConnectedNetworkInterfaces,
  getClustersMemberOf,
  getClusterMembers,
  getClusterVirtualMachines,
  getClusters,
  getApplicationInstallations,
  getInstalledApplications,
  getApplications,
  getStackedSwitchMembers
}


# Java enumeration mapping for com.jdisc.inventory.common.diagram.DiagramTemplateId
"""The diagram template id"""
enum DiagramTemplateId {
  NetworkTopology,
  VirtualizationTopology,
  AllHardware,
  AllPortConnections,
  DeviceInboundPortConnections,
  DeviceOutboundPortConnections,
  NetworkInterfaceConnections
}


# Java enumeration mapping for com.jdisc.inventory.common.diagram.model.JDiagramEdgeDirection
"""An edge direction"""
enum JDiagramEdgeDirection {
  SOURCE_TO_TARGET,
  TARGET_TO_SOURCE,
  BIDIRECTIONAL,
  NONE
}


# Java enumeration mapping for com.jdisc.inventory.common.diagram.model.JDiagramEdgeType
"""An edge type"""
enum JDiagramEdgeType {
  SOLID,
  DASHED,
  DOTTED
}


# Java enumeration mapping for com.jdisc.inventory.common.diagram.model.JDiagramLayout
"""A layout type"""
enum JDiagramLayout {
  Organic,
  Hierarchic,
  Radial,
  Balloon,
  Tree
}


# Java enumeration mapping for com.jdisc.inventory.common.diagram.model.JDiagramRelationType
"""A relation type"""
enum JDiagramRelationType {
  PRIMARY,
  SECONDARY
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.ApplicationSource
"""The application source"""
enum ApplicationSource {
  AddRemovePrograms,
  App,
  RPM,
  DPKG,
  SWLIST,
  LSPP,
  PKGINFO,
  WindowsComponent,
  SystemComponent,
  Pacman,
  Equery,
  SWIDTAG,
  OracleCompsXmlFile,
  WSUS,
  RemoteDesktopApp,
  Intune,
  AppFolder,
  BinaryFoundOnFileSystem,
  Firmware
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.BootMode
"""The BIOS boot mode"""
enum BootMode {
  UEFI,
  BIOS
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.CloudType
"""CloudType"""
enum CloudType {
  MSDN,
  AppleICloud,
  Teamviewer,
  Azure,
  AmazonAWS,
  CiscoMeraki,
  Hetzner,
  AdobeCreativeCloud,
  GoogleCloudPlatform,
  CloudFoundry,
  SOTI_MobiControl
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.ClusterMemberType
"""The type of the cluster member relation"""
enum ClusterMemberType {
  ClusterMember,
  AssociatedVM,
  KubernetesArtefact
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.ClusterServiceStatus
"""The Cluster Service Statuses"""
enum ClusterServiceStatus {
  Running,
  Stopped,
  Joining,
  Paused,
  Pausing,
  Starting,
  Stopping,
  Continuing,
  RunningPartial,
  StoppingPartial,
  StartingPartial,
  PausingPartial,
  StoppedPartial,
  ContinuingPartial,
  Blocked,
  Failed,
  Failing,
  FailWait,
  Reconfiguring,
  ReconfigureWait,
  Maintenance,
  Changing,
  HaltWait,
  RelocateWait,
  Disabled,
  Unknown
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.ClusterType
"""A cluster's type"""
enum ClusterType {
  VeritasCluster,
  ServiceGuard,
  MicrosoftCluster,
  OracleSolaris,
  RedHatCluster,
  VRRPCluster,
  HSRPCluster,
  CitrixXenServerCluster,
  VMwareCluster,
  ProxmoxCluster,
  AIXCluster,
  FortinetHA,
  JuniperHA,
  PacemakerCluster,
  SonicwallCluster,
  F5BigIPCluster,
  NutanixStorageCluster,
  NetApp,
  NetAppOntapSelect,
  WatchGuard,
  MicrosoftNLB,
  CiscoAPControllerCluster,
  SophosFirewallCluster,
  OVirt,
  Kubernetes,
  Synology,
  CorosyncCluster
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.CompatibilityState
"""The Windows 11 migration state"""
enum CompatibilityState {
  FAILED,
  DONT_KNOW,
  PROBABLY_YES,
  OK
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.CustomAttributeImportStatus
"""A custom attribute import status"""
enum CustomAttributeImportStatus {
  Success,
  SyntaxError,
  DeviceNotFound,
  NoUniqueDevice
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.CustomReportType
"""A custom report type"""
enum CustomReportType {
  CustomReport,
  Folder,
  SqlCustomReport
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.DataCollectionType
"""The data collection type"""
enum DataCollectionType {
  WindowsBat,
  WindowsCmd,
  WindowsVbs,
  WindowsPowershell,
  Executable,
  UnixScript,
  CommandLine
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.DevicePlatform
"""THe device platform"""
enum DevicePlatform {
  Unknown,
  Windows,
  HPUX,
  SunSolaris,
  AIX,
  Linux,
  VMwareESX,
  MacOSX,
  UnixWare,
  CiscoIOS,
  GenericUnix,
  ProCurve,
  CiscoPixOs,
  CiscoAsa,
  CiscoCatOs,
  CitrixXenServer,
  FreeBSD,
  OracleDataBase,
  PostgresDatabase,
  SAPMaxDb,
  IBMDb2,
  MySQL,
  MariaDB,
  MSSqlServer,
  SybaseDb,
  MongoDB,
  VerticaDb,
  OpenEdgeDb,
  InformixDb,
  NetApp,
  HPE3Par,
  HPEStoreOnce,
  ShortelBusyboxPhone,
  IBMLenovoStorewize,
  BrocadeIcx,
  BrocadeVdx,
  Http,
  CiscoSupportEntitlement,
  HitachiSVP,
  CiscoIOSXE,
  FujitsuEternus,
  ArubaOS,
  AristaEOS,
  FortiOS,
  OVirt,
  CiscoNXOS,
  Redfish,
  Kubernetes,
  IBMOS400,
  MikrotikRouterOS
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.DeviceRole
"""A device's role (such as Domain Controller, DNS Server, Database Server, ...)"""
enum DeviceRole {
  PrimaryDomainController,
  BackupDomainController,
  DNSServer,
  DatabaseServer,
  WebServer,
  VirtualServer,
  DirectoryService,
  GlobalCatalog,
  KerberosKeyDistributionCenter,
  TimeService,
  DomainController,
  ApplicationServer,
  MailServer,
  StorageManagement,
  TerminalServices,
  VirtualizationManagement,
  DeviceManagement,
  AccessPointController,
  Router,
  DhcpServer,
  TransactionServer,
  LicenseService,
  ClusterService,
  S3Bucket,
  LoadBalancer,
  DataIntegrationService,
  DataAnalyticsPlatform,
  StackedSwitchMaster,
  StackedSwitchMember,
  StackedSwitchStandby
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.DeviceTier
"""A device's tier"""
enum DeviceTier {
  Tier0,
  Tier1,
  Tier2,
  Tier3
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.DeviceType
"""A device's type"""
enum DeviceType {
  AllDevices,
  NetworkingDevice,
  Hub,
  Router,
  Switch,
  RoutingSwitch,
  Firewall,
  AccessPoint,
  Modem,
  Analyser,
  Gateway,
  Concentrator,
  Bridge,
  Repeater,
  PortServer,
  ConsoleSwitch,
  ConsoleServer,
  BladeSwitch,
  ServerNetSwitch,
  BladeServerNetSwitch,
  InfiniBandSwitch,
  BladeInfiniBandSwitch,
  OpticalSwitch,
  PatchField,
  VPNRouter,
  AccessPointController,
  LoadBalancer,
  DeviceConnector,
  Receiver,
  CorrelationReceiver,
  WlanRepeater,
  NetworkMonitor,
  TimeServer,
  StackedSwitch,
  DslRouter,
  AggregationDevice,
  UMTSRouter,
  Chassis,
  RackChassis,
  DiskCage,
  ApplicationFirewall,
  WebApplicationFirewall,
  PacketBroker,
  VirtualSwitch,
  LocalVirtualSwitch,
  DistributedVirtualSwitch,
  ASAM,
  DWDMSwitch,
  Antenna,
  Transmitter,
  OpticalAmplifier,
  IsdnRouter,
  MicrowaveTransmitterNode,
  ProtocolConverter,
  EthernetToModbusConverter,
  EthernetToRS232Gateway,
  StackedAccessPointController,
  Shelf,
  StackedDWDMSwitch,
  EthernetExtender,
  OpticalTransmitter,
  SwitchExtension,
  Computer,
  ClientComputer,
  Server,
  RackServer,
  BladeServer,
  Desktop,
  Laptop,
  PDAThinClient,
  MiniTower,
  Tower,
  DTC,
  MediaServer,
  TerminalServer,
  Workstation,
  Terminal,
  XTerminal,
  VirtualComputer,
  VMwareInstance,
  MiniTowerServer,
  TowerServer,
  MSVMInstance,
  ThinClient,
  SolarisZone,
  IBMLPar,
  IntegrityVM,
  MSHyperVInstance,
  XenInstance,
  KVMInstance,
  SunVirtualBoxInstance,
  VirtualIronInstance,
  ParallelsInstance,
  NutanixInstance,
  MedicalPC,
  GamingPC,
  EPOS,
  BladeWorkstation,
  SolarisLDom,
  MiniDesktop,
  VMwareWebGatewayAppliance,
  PizzaBox,
  BochsInstance,
  VMwareAppliance,
  VMwareManagementAppliance,
  MSHyperVAppliance,
  KVMAppliance,
  VMwareSecurityAppliance,
  TabletComputer,
  ChangeTerminalIdentityCard,
  CitrixXenInstance,
  IntegrityVPar,
  ContainerVirtualization,
  Container,
  LxcContainer,
  VMwareIPGatewayAppliance,
  VMwareEmailSecurityAppliance,
  DockerContainer,
  ComputeNode,
  KubernetesPod,
  Containerd,
  KubernetesService,
  EmbeddedComputer,
  vFiler,
  RackPC,
  F5Appliance,
  MiniPC,
  vServer,
  NetAppvServer,
  VirtualAppliance,
  VirtualDiskArrayAppliance,
  VirtualSwitchAppliance,
  F5VirtualServer,
  XCPNGInstance,
  DSLModem,
  IndustrialPC,
  ZVMVirtualMachine,
  VirtualManagementAppliance,
  AccessPointControllerAppliance,
  MiniWorkstation,
  HandheldComputer,
  CloudVM,
  AWS,
  AmazonEC2Instance,
  AmazonEC2WorkspaceClient,
  FirewallAppliance,
  WebApplicationFirewallAppliance,
  VirtualRouterAppliance,
  VirtualSDWanAppliance,
  VirtualLoadBalancerAppliance,
  PolicyManagementAppliance,
  CitrixNetScalerVServer,
  GoogleCloudPlatformInstance,
  VirtualStorageAppliance,
  VirtualSecurityAppliance,
  VirtualEMailSecurityAppliance,
  VirtualWebSecurityAppliance,
  LogicalPartition,
  IntegrityNPar,
  FibreSwitch,
  A10vServer,
  AllInOnePC,
  AmazonS3Buckets,
  ImagingAndPrinting,
  Printer,
  Scanner,
  Fax,
  PrintServer,
  MultifunctionalDevice,
  Projector,
  DigitalSender,
  BarcodeScanner,
  ReceiptPrinter,
  CardPrinter,
  BarcodePositioningSystem,
  BarcodePrinter,
  PresentationGateway,
  LabelPrinter,
  StorageDevice,
  TapeLibrary,
  TapeLibraryExtension,
  FibreChannelHub,
  FibreChannelSwitch,
  FibreChannelBridge,
  FibreChannelAnalyser,
  DiskArray,
  TapeDrive,
  FibreChannelRouter,
  BackupDevice,
  BladeStorageDevice,
  BladeDiskArray,
  BladeTapeDrive,
  FibreChannelGateway,
  FibreChannelConverter,
  BladeFibreChannelSwitch,
  SASSwitch,
  BladeSASSwitch,
  NAS,
  RaidController,
  FloppyDiskDrive,
  USBStick,
  SanController,
  FlashArray,
  DiskWriterDevice,
  StorageAppliance,
  ObjectStorage,
  TelephonyDevice,
  IPTelephonyDevice,
  Phone,
  IPPhone,
  IPVoiceGateway,
  ISDNGateway,
  AccessNode,
  IPVoiceAdapter,
  DectAntenna,
  DoorPhone,
  MobileCard,
  DectStation,
  SMSModem,
  PABX,
  DSLAM,
  MSAN,
  SessionBorderController,
  TelephoneController,
  ManagementDevice,
  BladeEnclosure,
  WlanController,
  DiskArrayController,
  SecurityManagementDevice,
  UnassignedDevice,
  NoAgentDevice,
  UnknownDevice,
  PowerDevice,
  UPS,
  PDU,
  PowerSupply,
  BladePowerSupply,
  ATS,
  PowerSwitch,
  CoolingDevice,
  Fan,
  BladeFan,
  LiquidCoolingDevice,
  AirCondition,
  Rack,
  RackControl,
  Appliance,
  SecurityAppliance,
  WANAppliance,
  PrintServerAppliance,
  WebCachingAppliance,
  VpnAppliance,
  NetworkMonitoringAppliance,
  WebGatewayAppliance,
  EMailAppliance,
  NetworkAutomationAppliance,
  ManagementAppliance,
  PrinterManagementAppliance,
  VirtualNetworkingAppliance,
  WlanControllerAppliance,
  SDWanAppliance,
  WebSecurityAppliance,
  EMailSecurityAppliance,
  CryptoAppliance,
  AccessControlAppliance,
  VideoCommunication,
  VideoTelephone,
  VideoConferencingDevice,
  VideoServer,
  VideoRecorder,
  VideoEncoder,
  Monitor,
  TouchMonitor,
  SmartTV,
  DVBGateway,
  Converter,
  SurveillanceMonitor,
  DviAmplifier,
  SmartMonitor,
  TVConverter,
  ASIGateway,
  QAMGateway,
  IOModule,
  BladeIOModule,
  Multiplexer,
  MPEGMultiplexer,
  ClusterService,
  VeritasClusterService,
  ServiceGuardClusterPackage,
  RfidReader,
  CardReader,
  PinPad,
  SmartcardReader,
  MemoryCardReader,
  NFCReader,
  IndustrialControlSystem,
  DataAcquisitionChassis,
  DataAcquisitionDevice,
  FieldBusController,
  AutomationController,
  EnvironmentMonitor,
  CommunicationController,
  MultifunctionalTerminal,
  TemperatureSensor,
  FingerprintScanner,
  TimeManagementTerminal,
  PhotovoltaicController,
  PLC,
  PowerSensor,
  AlarmDevice,
  IntrudorDetectionDevice,
  IndustrialMonitoringDevice,
  FrequencyConverter,
  LightGrid,
  EngineController,
  BacnetIO,
  RTImageProcessingDevice,
  ElectronicKeySystem,
  IODevice,
  PowerModule,
  ActuatorController,
  IndustrialCodeReader,
  Camera,
  WebCam,
  UsbCam,
  Camcorder,
  SurveillanceCamera,
  ThermalCamera,
  DomeCamera,
  EyeballCamera,
  BulletCamera,
  IndustrialCamera,
  BoxCamera,
  DoorCamera,
  UsbDongle,
  UsbToEthernetAdapter,
  UsbUmtsAdapter,
  UsbToBluetoothAdapter,
  UsbToSerialAdapter,
  DongleServer,
  Smartphone,
  SmartWatch,
  NavigationDevice,
  InputDevice,
  Keyboard,
  Mouse,
  RemoteControl,
  Microphone,
  GameController,
  Headset,
  Pen,
  RemotePresenter,
  Tester,
  MediaRenderer,
  SmartSpeaker,
  SmartTVReceiver,
  AudioReceiver,
  InternetRadio,
  SatReceiver,
  AudioRecorder,
  BluRayPlayer,
  Speaker,
  PortableSpeaker,
  CloudService,
  CloudStorageService,
  CloudDatabaseService,
  CloudLoadBalancerService,
  CloudFunction,
  CloudKubernetesService,
  CloudRedisCache,
  CloudStaticWebApp,
  CloudBatchAccount,
  CloudContainerInstance,
  CloudDataFactory,
  CloudAppGateway,
  CloudBastionHost,
  CloudVmwarePrivateCloud,
  CloudDatabricksWorkspace,
  MedicalDevice,
  LabDevice,
  Microscope,
  Spectrometer,
  AerosolDetector,
  Pump,
  OxygenMeter,
  MicroplateReader,
  MicroscopeCamera,
  DockingStation,
  HomeAutomationSystem,
  HomeAutomationController,
  HomeLightingController,
  HomeEnvironmentMonitor,
  HomeEnvironmentController,
  HomeDoorController,
  WeatherStation,
  EntranceAccessManager,
  HomeAutomationCommunicationController,
  HomeAppliance,
  Dishwasher,
  Clock,
  AlarmClock,
  RadioAlarmClock,
  PowerlineAdapter,
  PowerlineAccessPoint,
  WirelessRouter,
  WirelessDslRouter,
  WirelessCableRouter,
  WirelessFiberToTheHomeRouter,
  WirelessAccessGateway,
  ExtensionChassis
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.DirectoryDeviceMemberType
"""DirectoryDeviceMemberType"""
enum DirectoryDeviceMemberType {
  EntraID
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.DirectoryDiscoveryMode
"""The directory discovery mode"""
enum DirectoryDiscoveryMode {
  Disabled,
  None,
  Subtree,
  NodeOnly,
  SubtreeAlive,
  NodeOnlyAlive
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.DirectoryType
"""The directory item type."""
enum DirectoryType {
  Container,
  OrganizationalUnit,
  DNSDomain,
  EntraIDSecurityGroup,
  EntraIDMicrosoft365Group,
  EntraIDOrganization,
  EntraIDAdministrativeUnit
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.DiscoveredUserRelationType
"""The Discovered User Relation Types"""
enum DiscoveredUserRelationType {
  EntraIDMappedAdUser
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.DiscoveredUserRole
"""The role of a user for a specific device"""
enum DiscoveredUserRole {
  LoggedOnUser,
  User,
  LastLoggedOnUser,
  ProcessUser,
  CloudUser
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.DiscoveredUserStatus
"""The Discovered User Statuses"""
enum DiscoveredUserStatus {
  Ok,
  LockedOut,
  Disabled,
  PasswordExpired
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.DiscoveredUserType
"""The Discovered User Types"""
enum DiscoveredUserType {
  InteractiveLogon,
  TerminalServices,
  TerminalServicesICA,
  TerminalServicesRDP,
  Daemon,
  Service,
  Batch,
  Ssh,
  Telnet,
  Cloud
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.DiscoveryCategory
"""The category for information"""
enum DiscoveryCategory {
  GeneralInfo,
  MemoryModule,
  Processor,
  PhysicalDisk,
  OperatingSystem,
  Application,
  Patch,
  Service,
  LogicalDisk,
  DiskPartition,
  ExecutableFile,
  VideoController,
  MappedPrinter,
  TpmModule,
  SystemBoard,
  SoundCard,
  Firmware,
  Driver
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.DiskPartitionType
"""The disk parition type"""
enum DiskPartitionType {
  Other,
  GPT,
  MBR,
  IFS,
  SWAP
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.DiskStatus
"""The physical disk represents a disk attached to a disk slot."""
enum DiskStatus {
  Active,
  HotSpare,
  Unassigned,
  Failed,
  Spare,
  Unknown,
  Inactive,
  Altsig,
  TooSmall,
  HistoryOfFailures,
  UnsupportedVersion,
  Degraded,
  Creating,
  Deleted,
  Deleting,
  Initialized,
  Damaged,
  Copying,
  Recovering,
  Unformatted,
  New,
  UsedDrive,
  Adding,
  Absent
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.DuplexMode
"""The network interface duplex mode."""
enum DuplexMode {
  Unknown,
  AutoNegotiation,
  HalfDuplex,
  FullDuplex
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.EndOfLifeSupportIndicator
"""The End Of Life Support Indicator"""
enum EndOfLifeSupportIndicator {
  OK,
  AT_RISK,
  EXPIRED,
  NOT_YET_ANNOUNCED
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.EndOfLifeSupportProductsItemClassType
"""The EndOfLife Products' names ItemClass type"""
enum EndOfLifeSupportProductsItemClassType {
  ALPINE,
  AMAZON_LINUX,
  ANDROID,
  BOOTSTRAP,
  CENTOS,
  DEBIAN,
  DJANGO,
  DOTNET,
  DOTNET_CORE,
  DOTNET_FX,
  DRUPAL,
  ELASTIC_SEARCH,
  ELIXIR,
  FEDORA,
  FILE_MAKER,
  FREEBSD,
  GO,
  GODOT,
  IPHONE,
  JAVA,
  KINDLE,
  KUBERNETES,
  LARAVEL,
  MACOS,
  MAGENTO,
  MARIADB,
  MONGODB,
  MSSQL_SERVER,
  MSSQL,
  NODEJS,
  OFFICE,
  OPENSUSE,
  PERL,
  PHP,
  PIXEL,
  POSTGRESQL,
  POWERSHELL,
  PYTHON,
  QT,
  RABBITMQ,
  RAILS,
  REDIS,
  RHEL,
  ROS,
  RUBY,
  SLES,
  SPRING_FRAMEWORK,
  SURFACE,
  SYMFONY,
  UBUNTU,
  VUE,
  WAGTAIL,
  WINDOWS,
  WINDOWS_EMBEDDED,
  WINDOWS_SERVER,
  CENTOS_STREAM,
  IPAD,
  SOLARIS,
  AIX,
  FORTIOS,
  IOS,
  ESX,
  ALMA_LINUX,
  AMAZON_CDK,
  AMAZON_RDS_MARIADB,
  AMAZON_RDS_MYSQL,
  AMAZON_RDS_POSTGRESQL,
  ANGULAR,
  ANGULARJS,
  ARANGODB,
  EURO_LINUX,
  FIREFOX,
  GRADLE,
  JENKINS,
  MOODLE,
  MX_LINUX,
  NGINX,
  NOKIA,
  ONEPLUS,
  OPENVPN,
  SAMSUNG_MOBILE,
  SLACKWARE,
  SQLITE,
  AMAZON_CORRETTO,
  APACHE,
  APACHE_TOMCAT,
  CONFLUENCE,
  CONTAINERD,
  ECLIPSE_TEMURIN,
  GSTREAMER,
  EXPLORER,
  JQUERY,
  POSTFIX,
  NUMPY,
  GRAFANA,
  DOCKER_ENGINE,
  BLENDER,
  CLAM_AV,
  ERLANG,
  HAPROXY,
  JIRA,
  LIBREOFFICE,
  LOG4J,
  MEMCACHED,
  NEXUS,
  OPENSSL,
  PUPPET,
  SCALA,
  SPLUNK,
  SQUID,
  SUBVERSION,
  TWIG,
  VISUAL_STUDIO,
  WIRESHARK,
  YARN,
  ZERTO,
  ORACLE_DATABASE,
  ANSIBLE,
  ANSIBLE_CORE,
  APACHE_COUCHDB,
  BELLSOFT_LIBERICA,
  CFENGINE,
  COLDFUSION,
  COMPOSER,
  DENO,
  ECLIPSE_JETTY,
  EXIM,
  GRAYLOG,
  KIBANA,
  MATTERMOST,
  NOMAD,
  PODMAN,
  SAPMACHINE,
  TELEGRAF,
  UNITY,
  APACHE_GROOVY,
  ORACLE_LINUX,
  AZUL_ZULU,
  ORACLE_JDK,
  COUCHBASE_SERVER,
  FFMPEG,
  JULIA,
  LUA,
  NEO4J,
  NEXTCLOUD,
  SHAREPOINT,
  VIRTUALBOX,
  XCP_NG,
  BIG_IP
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.ExportFormat
"""Export format"""
enum ExportFormat {
  Excel,
  CSV,
  PDF,
  SVG
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.ExportType
"""Export type"""
enum ExportType {
  EMail,
  NetworkLocation
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.InterfaceStatus
"""The network interface status."""
enum InterfaceStatus {
  Up,
  Down,
  Testing,
  Unknown,
  Dormant,
  NotPresent,
  LowerLayerDown,
  NonOperational,
  Unreachable,
  Disconnected,
  Connecting,
  Connected,
  Operational,
  Initialize,
  Backup,
  Bypassed,
  Diagnostics,
  NotConfigured,
  Paused,
  Failure
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.InterfaceType
"""The network interface type."""
enum InterfaceType {
  unknown,
  other,
  regular1822,
  hdh1822,
  ddnX25,
  rfc877x25,
  ethernetCsmacd,
  iso88023Csmacd,
  iso88024TokenBus,
  iso88025TokenRing,
  iso88026Man,
  starLan,
  proteon10Mbit,
  proteon80Mbit,
  hyperchannel,
  fddi,
  lapb,
  sdlc,
  ds1,
  e1,
  basicISDN,
  primaryISDN,
  propPointToPointSerial,
  ppp,
  softwareLoopback,
  eon,
  ethernet3Mbit,
  nsip,
  slip,
  ultra,
  ds3,
  sip,
  frameRelay,
  rs232,
  para,
  arcnet,
  arcnetPlus,
  atm,
  miox25,
  sonet,
  x25ple,
  iso88022llc,
  localTalk,
  smdsDxi,
  frameRelayService,
  v35,
  hssi,
  hippi,
  modem,
  aal5,
  sonetPath,
  sonetVT,
  smdsIcip,
  propVirtual,
  propMultiplexor,
  ieee80212,
  fibreChannel,
  hippiInterface,
  frameRelayInterconnect,
  aflane8023,
  aflane8025,
  cctEmul,
  fastEther,
  isdn,
  v11,
  v36,
  g703at64k,
  g703at2mb,
  qllc,
  fastEtherFX,
  channel,
  ieee80211,
  ibm370parChan,
  escon,
  dlsw,
  isdns,
  isdnu,
  lapd,
  ipSwitch,
  rsrb,
  atmLogical,
  ds0,
  ds0Bundle,
  bsc,
  async,
  cnr,
  iso88025Dtr,
  eplrs,
  arap,
  propCnls,
  hostPad,
  termPad,
  frameRelayMPI,
  x213,
  adsl,
  radsl,
  sdsl,
  vdsl,
  iso88025CRFPInt,
  myrinet,
  voiceEM,
  voiceFXO,
  voiceFXS,
  voiceEncap,
  voiceOverIp,
  atmDxi,
  atmFuni,
  atmIma,
  pppMultilinkBundle,
  ipOverCdlc,
  ipOverClaw,
  stackToStack,
  virtualIpAddress,
  mpc,
  ipOverAtm,
  iso88025Fiber,
  tdlc,
  gigabitEthernet,
  hdlc,
  lapf,
  v37,
  x25mlp,
  x25huntGroup,
  trasnpHdlc,
  interleave,
  fast,
  ip,
  docsCableMaclayer,
  docsCableDownstream,
  docsCableUpstream,
  a12MppSwitch,
  tunnel,
  coffee,
  ces,
  atmSubInterface,
  l2vlan,
  l3ipvlan,
  l3ipxvlan,
  digitalPowerline,
  mediaMailOverIp,
  dtm,
  dcn,
  ipForward,
  msdsl,
  ieee1394,
  ifgsn,
  dvbRccMacLayer,
  dvbRccDownstream,
  dvbRccUpstream,
  atmVirtual,
  mplsTunnel,
  srp,
  voiceOverAtm,
  voiceOverFrameRelay,
  idsl,
  compositeLink,
  ss7SigLink,
  propWirelessP2P,
  frForward,
  rfc1483,
  usb,
  ieee8023adLag,
  bgppolicyaccounting,
  frf16MfrBundle,
  h323Gatekeeper,
  h323Proxy,
  mpls,
  mfSigLink,
  hdsl2,
  shdsl,
  ds1FDL,
  pos,
  dvbAsiIn,
  dvbAsiOut,
  plc,
  nfas,
  tr008,
  gr303RDT,
  gr303IDT,
  isup,
  propDocsWirelessMaclayer,
  propDocsWirelessDownstream,
  propDocsWirelessUpstream,
  hiperlan2,
  propBWAp2Mp,
  sonetOverheadChannel,
  digitalWrapperOverheadChannel,
  aal2,
  radioMAC,
  atmRadio,
  imt,
  mvl,
  reachDSL,
  frDlciEndPt,
  atmVciEndPt,
  opticalChannel,
  opticalTransport,
  propAtm,
  voiceOverCable,
  infiniband,
  teLink,
  q2931,
  virtualTg,
  sipTg,
  sipSig,
  docsCableUpstreamChannel,
  econet,
  pon155,
  pon622,
  bridge,
  linegroup,
  voiceEMFGD,
  voiceFGDEANA,
  voiceDID,
  mpegTransport,
  sixToFour,
  gtp,
  pdnEtherLoop1,
  pdnEtherLoop2,
  opticalChannelGroup,
  homepna,
  gfp,
  ciscoISLvlan,
  actelisMetaLOOP,
  fcipLink,
  rpr,
  qam,
  lmp,
  cblVectaStar,
  docsCableMCmtsDownstream,
  adsl2,
  macSecControlledIF,
  macSecUncontrolledIF,
  aviciOpticalEther,
  atmbond,
  voiceFGDOS,
  mocaVersion1,
  ieee80216WMAN,
  adsl2plus,
  dvbRcsMacLayer,
  dvbTdm,
  dvbRcsTdma,
  x86Laps,
  wwanPP,
  wwanPP2,
  voiceEBS,
  ifPwType,
  ilan,
  pip,
  aluELP,
  gpon,
  vdsl2,
  capwapDot11Profile,
  capwapDot11Bss,
  capwapWtpVirtualRadio,
  bits,
  docsCableUpstreamRfPort,
  cableDownstreamRfPort,
  vmwareVirtualNic,
  ieee802154,
  otnOdu,
  otnOtu,
  ifVfiType,
  g9981,
  g9982,
  g9983,
  aluEpon,
  aluEponOnu,
  aluEponPhysicalUni,
  aluEponLogicalLink,
  aluGponOnu,
  aluGponPhysicalUni,
  vmwareNicTeam,
  docsOfdmDownstream,
  docsOfdmaUpstream,
  gfast,
  sdci,
  xboxWireless,
  fastdsl,
  docsCableScte55d1FwdOob,
  docsCableScte55d1RetOob,
  docsCableScte55d2DsOob,
  docsCableScte55d2UsOob,
  docsCableNdf,
  docsCableNdr,
  ptm,
  ghn,
  otnOtsi,
  otnOtuc,
  otnOduc,
  otnOtsig,
  microwaveCarrierTermination,
  microwaveRadioLinkTerminal,
  ieee8021axDrni,
  ax25,
  ieee19061nanocom,
  cpri,
  omni,
  roe,
  p2pOverLan,
  vrrpVirtualInterface,
  zoneVirtualInterface,
  briPort,
  dsPort,
  potPort
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.JumpHostMode
"""The jumphost mode"""
enum JumpHostMode {
  NoJumphost,
  UseJumphostAlways,
  UseNativeThenJumphost
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.LicenseType
"""The License Types"""
enum LicenseType {
  Evaluation,
  Standalone,
  Network,
  MultiSeatStandalone,
  Retail,
  MAK,
  KMS,
  Grace,
  Subscription,
  OEM,
  Volume,
  OpenSource,
  PublicDomain,
  KMS_B,
  KMS_C,
  MAK_B,
  OEM_SLP,
  OEM_NSLP,
  Licensed,
  UNWARRANTED,
  NOT_REGISTERED,
  DEVELOPER,
  RESTRICTED,
  TRIAL,
  CPU_OPTION,
  UNLICENSED,
  AUTHORIZED,
  AUTHORIZED_SINGLE_INSTALL,
  TERABYTE,
  USER,
  MANAGED,
  SERVER,
  FIXED,
  MSSQL_ENTERPRISE,
  MSSQL_STANDARD,
  MSSQL_WEB,
  MSSQL_DEVELOPER,
  MSSQL_EXPRESS,
  PER_USER,
  PER_DEVICE,
  FreeForNonCommercial,
  Perpetual,
  Extension,
  EvaluationSubscription,
  ExtensionSubscription,
  EvaluationRightToUse,
  RightToUse,
  PermanentRightToUse
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.LinkLayerNeighborProtocol
"""The protocol used to create a topology entry"""
enum LinkLayerNeighborProtocol {
  Lldp,
  Cdp,
  PortForwardingTable,
  VirtualizationInformation,
  PortForwardingTopology,
  Stp,
  WlanBssid,
  VirtualSwitchConnection,
  FibreChannelConnection,
  ArtificialIPPhoneClientConnection
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.LoadBalancerStateClassType
"""The Amazon LoadBalancer status"""
enum LoadBalancerStateClassType {
  PROVISIONING,
  ACTIVE,
  ACTIVE_IMPAIRED,
  FAILED
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.MemoryType
"""The memory module type"""
enum MemoryType {
  RAM,
  ROM
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.NetworkType
"""The network type"""
enum NetworkType {
  Default,
  NAT,
  HostOnly,
  Kubernetes
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.PaasType
"""PaasType"""
enum PaasType {
  Kubernetes,
  CloudFoundry
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.PrinterState
"""The Printer States"""
enum PrinterState {
  Ready,
  Paused,
  Error,
  PendingDeletion,
  PaperJam,
  OutOfPaper,
  ManualFeed,
  PaperProblem,
  Offline,
  IOActive,
  Busy,
  Printing,
  OutputBinFull,
  NotAvailable,
  Waiting,
  Processing,
  Initializing,
  WarmingUp,
  TonerLow,
  NoToner,
  PagePunt,
  UserIntervention,
  OutOfMemory,
  DoorOpen,
  ServerUnknown,
  PowerSave
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.ProcessorStatus
"""The Processor Statuses"""
enum ProcessorStatus {
  Enabled,
  DisabledByUserViaBIOS,
  DisabledByBiosPostError,
  Idle
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.ProductEdition
"""The product edition (should be professional or starter). The other ones are deprecated. """
enum ProductEdition {
  professional,
  starter
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.RdsStateClassType
"""The Rds Database Service status"""
enum RdsStateClassType {
  CREATING,
  AVAILABLE,
  STOPPING,
  BACKING_UP,
  MODIFYING,
  RENAMING,
  REBOOTING,
  STOPPED,
  DELETING,
  TERMINATED
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.Severity
"""A generic severity"""
enum Severity {
  Success,
  Info,
  Warning,
  Error
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.SoftwareInstanceType
"""The software instance type"""
enum SoftwareInstanceType {
  Database,
  WebServer,
  ApplicationServer,
  JEEApplication,
  JEEWebApplication,
  JBossServiceArchive,
  JAR,
  DatabaseComponent,
  DatabaseAnalysis,
  DatabaseReporting,
  DatabaseIntegrationServices,
  MasterDataServices,
  DataQualityServer,
  IISApplicationPool,
  IISApplication
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.SoftwareLicenseStatus
"""the Software License Statuses"""
enum SoftwareLicenseStatus {
  Unlicensed,
  Licensed,
  OOB_Grace,
  OOT_Grace,
  NonGenuinceGrace,
  Notification,
  Serialized,
  GracePeriod,
  Inactive,
  NotInUse,
  ExpiredInUse,
  ExpiredNotInUse
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.SortOrder
"""The sort order within reports"""
enum SortOrder {
  ASCENDING,
  DESCENDING,
  UNSORTED
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.SoundCardStatus
"""The Sound Card Statuses"""
enum SoundCardStatus {
  Other,
  Unknown,
  Enabled,
  Disabled,
  NotApplicable
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.TextFileEncoding
"""The csv export configuration"""
enum TextFileEncoding {
  UTF8,
  UTF8_BOM,
  ANSI
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.VlanTaggingMode
"""The interface vlan tagging mode"""
enum VlanTaggingMode {
  Tagged,
  Untagged,
  Forbidden
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.accounts.AccountType
"""The account's type"""
enum AccountType {
  Login,
  Virtualization,
  Containerization,
  Database,
  PostgreSQLDB,
  MSSQLSERVERDB,
  MYSQLDB,
  ORACLEDB,
  SYBASEDB,
  DB2DB,
  OtherDB,
  API,
  SNMP,
  Other,
  User,
  Administrative,
  Discovered,
  Undefined,
  VmwareAPI,
  Http,
  DiscoveredCloud,
  Laps,
  Redfish,
  oVirt,
  Kubernetes_API,
  SnmpV3,
  SnmpCommunity,
  DbInstance,
  Db,
  SSH,
  Thycotic,
  Cyberark,
  Passwordstate,
  ManageEnginePMP,
  AceBITDepot
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.aces.ACEAccessMask
"""The bit mask for different access levels"""
enum ACEAccessMask {
  FILE_READ_DATA,
  FILE_WRITE_DATA,
  FILE_APPEND_DATA,
  FILE_READ_EA,
  FILE_WRITE_EA,
  FILE_EXECUTE,
  FILE_DELETE_CHILD,
  FILE_READ_ATTRIBUTES,
  FILE_WRITE_ATTRIBUTES,
  DELETE,
  READ_CONTROL,
  WRITE_DAC,
  WRITE_OWNER,
  SYNCHRONIZE,
  FullControl,
  Modify,
  Read
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.aces.ACEFlags
"""The inheritance mask for Windows access permissions"""
enum ACEFlags {
  OBJECT_INHERIT_ACE,
  CONTAINER_INHERIT_ACE,
  NO_PROPAGATE_INHERIT_ACE,
  INHERIT_ONLY_ACE,
  INHERITED_ACE,
  SUCCESSFUL_ACCESS_ACE_FLAG,
  FAILED_ACCESS_ACE_FLAG
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.aces.ACEType
"""The access control entry type"""
enum ACEType {
  AccessAllow,
  AccessDenied,
  Audit
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.aces.SecurityDescriptorControlFlags
"""Windows security descriptor flags"""
enum SecurityDescriptorControlFlags {
  SE_OWNER_DEFAULTED,
  SE_GROUP_DEFAULTED,
  SE_DACL_PRESENT,
  SE_DACL_DEFAULTED,
  SE_SACL_PRESENT,
  SE_SACL_DEFAULTED,
  SE_DACL_AUTO_INHERIT_REQ,
  SE_SACL_AUTO_INHERIT_REQ,
  SE_DACL_AUTO_INHERITED,
  SE_SACL_AUTO_INHERITED,
  SE_DACL_PROTECTED,
  SE_SACL_PROTECTED,
  SE_SELF_RELATIVE
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.application.SoftwareInstanceState
"""The software instance state"""
enum SoftwareInstanceState {
  Stopped,
  Running,
  Disabled,
  Pausing,
  Paused,
  Standby,
  Starting,
  Stopping
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.certificates.CertificateExtendedKeyUsage
"""The extended key usage"""
enum CertificateExtendedKeyUsage {
  KEY_PURPOSE_CLIENT_AUTH,
  SERVER_AUTH,
  CLIENT_AUTH,
  CODE_SIGNING,
  SECURE_EMAIL,
  IPSEC_END_SYSTEM,
  IPSEC_TUNNEL,
  IPSEC_USER,
  TIMESTAMPING,
  OCSP_SIGNING,
  KP_DVCS,
  SBGP_CERT_AA_SERVERF_AUTH,
  SCVP_RESPONDER,
  EAP_OVER_PPP,
  EAP_OVER_LAN,
  SVCP_SERVER,
  SVCP_CLIENT,
  IPEC_IKE,
  CAPWAP_AC,
  CAPWAP_WTP,
  SIP_DOMAIN,
  SECURE_SHELL_CLIENT,
  SECURE_SHELL_SERVER,
  SEND_ROUTER,
  SEND_PROXIED_ROUTER,
  SEND_OWNER,
  SEND_PROXIED_OWNER,
  CMC_CA,
  CMC_RA,
  CMC_ARCHIVE,
  BGSEC_ROUTER,
  BRAND_INDICATOR_FOR_MESSAGE_IDENTIFICATION,
  CM_KGA,
  RPC_TLS_CLIENT,
  RPC_TLS_SERVER,
  BUNDLE_SECURITY,
  DOCUMENT_SIGNING,
  AIK_CERTIFICATE,
  MS_ENROLLMENT_AGENT,
  MS_SMARTCARD_LOGON,
  NT_PRINCIPAL_NAME,
  CERTSRV_CA_VERSION,
  CERTSRV_PREVIOUS_CERT_HASH,
  CRL_VIRTUAL_BASE,
  CRL_NEXT_PUBLISH,
  KP_CA_EXCHANGE,
  KP_KEY_RECOVERY_AGENT,
  CERTIFICATE_TEMPLATE,
  ENTERPRISE_OID_ROOT,
  RDN_DUMMY_SIGNER,
  APPLICATION_CERT_POLICIES,
  APPLICATION_POLICY_MAPPINGS,
  APPLICATION_POLICY_CONSTRAINTS,
  ARCHIVED_KEY_ATTR,
  CRL_SELF_CDP,
  REQUIRE_CERT_CHAIN_POLICY,
  ARCHIVED_KEY_CERT_HASH,
  ISSUED_CERT_HASH,
  DS_EMAIL_REPLICATION,
  REQUEST_CLIENT_INFO,
  ENCRYPTED_KEY_HASH,
  CERTSRV_CROSSCA_VERSION,
  NTDS_REPLICATION,
  IIS_VIRTUAL_SERVER,
  WWOps_BizExt,
  PEERNET_PNRP,
  PEERNET_IDENTITY,
  PEERNET_GROUPING,
  PEERNET_CERT_TYPE,
  PEERNET_PEERNAME,
  PEERNET_CLASSIFIER,
  PEERNET_CERT_VERSION,
  PEERNET_PNRP_ADDRESS,
  PEERNET_PNRP_FLAGS,
  PEERNET_PNRP_PAYLOAD,
  PEERNET_PNRP_ID,
  PEERNET_IDENTITY_FLAGS,
  PEERNET_GROUPING_PEERNAME,
  PEERNET_GROUPING_FLAGS,
  PEERNET_GROUPING_ROLES,
  PEERNET_GROUPING_CLASSIFIERS,
  Mobile_Devices_Code_Signing,
  CAPICOM_VERSION,
  CAPICOM_ATTRIBUTE,
  CAPICOM_DOCUMENT_NAME,
  CAPICOM_DOCUMENT_DESCRIPTION,
  CAPICOM_ENCRYPTED_CONTENT,
  SPC_CERT_EXTENSIONS_OBJID,
  SPC_RAW_FILE_DATA_OBJID,
  SPC_STRUCTURED_STORAGE_DATA_OBJID,
  SPC_JAVA_CLASS_DATA_OBJID,
  SPC_INDIVIDUAL_SP_KEY_PURPOSE_OBJID,
  SPC_COMMERCIAL_SP_KEY_PURPOSE_OBJID,
  SPC_CAB_DATA_OBJID,
  szOID_TRUSTED_CODESIGNING_CA_LIST,
  szOID_TRUSTED_CLIENT_AUTH_CA_LIST,
  szOID_TRUSTED_SERVER_AUTH_CA_LIST,
  SPC_TIME_STAMP_REQUEST_OBJID,
  szOID_SORTED_CTL,
  szOID_NEXT_UPDATE_LOCATION,
  szOID_KP_CTL_USAGE_SIGNING,
  szOID_KP_TIME_STAMP_SIGNING,
  szOID_SERVER_GATED_CRYPTO,
  szOID_SERIALIZED,
  szOID_EFS_CRYPTO,
  szOID_EFS_RECOVERY,
  szOID_WHQL_CRYPTO,
  szOID_NT5_CRYPTO,
  szOID_OEM_WHQL_CRYPTO,
  szOID_EMBEDDED_NT_CRYPTO,
  szOID_ROOT_LIST_SIGNER,
  szOID_KP_QUALIFIED_SUBORDINATION,
  szOID_KP_KEY_RECOVERY,
  szOID_KP_DOCUMENT_SIGNING,
  szOID_YESNO_TRUST_ATTR,
  szOID_DRM,
  szOID_DRM_INDIVIDUALIZATION,
  szOID_LICENSES,
  szOID_LICENSE_SERVER,
  szOID_MICROSOFT_RDN_PREFIX,
  szOID_KEYID_RDN,
  szOID_REMOVE_CERTIFICATE,
  szOID_CROSS_CERT_DIST_POINTS,
  Microsoft_CMC_OIDs,
  szOID_CMC_ADD_ATTRIBUTES,
  szOID_CERT_PROP_ID_PREFIX,
  CryptUI,
  szOID_ANY_APPLICATION_POLICY,
  szOID_CATALOG_LIST,
  szOID_CATALOG_LIST_MEMBER,
  CAT_NAMEVALUE_OBJID,
  CAT_MEMBERINFO_OBJID,
  szOID_RENEWAL_CERTIFICATE,
  szOID_ENROLLMENT_NAME_VALUE_PAIR,
  szOID_ENROLLMENT_CSP_PROVIDER,
  Microsoft_Java,
  Microsoft_Outlook_Exchange,
  Outlook_Express,
  Microsoft_PKCS12_attributes,
  szOID_LOCAL_MACHINE_KEYSET,
  Microsoft_Hydra,
  Microsoft_ISPU_Test,
  Microsoft_Enrollment_Infrastructure,
  szOID_AUTO_ENROLL_CTL_USAGE,
  szOID_ENROLL_CERTTYPE_EXTENSION,
  szOID_CERT_MANIFOLD,
  Microsoft_CertSrv_Infrastructure,
  Microsoft_Directory_Service,
  IIS,
  Windows_updates_and_service_packs,
  szOID_PRODUCT_UPDATE,
  Fonts,
  Microsoft_Licensing_and_Registration,
  Microsoft_Corporate_PKI_ITG,
  Authenticode,
  SPC_STATEMENT_TYPE_OBJID,
  SPC_SP_OPUS_INFO_OBJID,
  SPC_PE_IMAGE_DATA_OBJID,
  SPC_SP_AGENCY_INFO_OBJID,
  SPC_MINIMAL_CRITERIA_OBJID,
  SPC_FINANCIAL_CRITERIA_OBJID,
  SPC_LINK_OBJID,
  SPC_HASH_INFO_OBJID,
  SPC_SIPINFO_OBJID,
  Time_Stamping
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.certificates.CertificateKeyUsage
"""The key usage"""
enum CertificateKeyUsage {
  digitalSignature,
  nonRepudiation,
  keyEncipherment,
  dataEncipherment,
  keyAgreement,
  keyCertSign,
  cRLSign,
  encipherOnly,
  decipherOnly
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.certificates.CertificateState
"""The Certificate States"""
enum CertificateState {
  Expired,
  Valid,
  NotStarted
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.certificates.PublicKeyEncryptionType
"""The certificate type"""
enum PublicKeyEncryptionType {
  RSA,
  MD2WithRSA,
  MD4WithRSA,
  MD5WithRSA,
  SHA1WithRSA,
  RSAOAEP,
  RSAESOAEP,
  RSAMGF1,
  RSASZOID,
  RRSASSA_PSS,
  RSA_SHA256,
  RSA_SHA384,
  RSA_SHA512,
  RSA_SHA224,
  X9,
  SHA1ECDSA,
  SHA256ECDSA,
  SHA384ECDSA,
  SHA512ECDSA
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.clientaccesslicense.ClientAccessLicenseProductSubType
"""The Client Access License Product Subtype"""
enum ClientAccessLicenseProductSubType {
  Unknown,
  BuiltInTSPerDeviceCAL,
  TSPerDeviceCAL,
  TSPerUserCAL,
  RDSPerDeviceCAL,
  RDSPerUserCAL,
  TSOrRDSPerDeviceCAL,
  TSOrRDSPerUserCAL,
  VDIStandardSuitePerDeviceSubscriptionLicense,
  VDIPremiumSuitePerDeviceSubscriptionLicense,
  TSInternetConnectorCAL
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.clientaccesslicense.ClientAccessLicenseProductType
"""The Client Access License Product Type"""
enum ClientAccessLicenseProductType {
  PerDevice,
  PerUser,
  Invalid,
  BuiltIn
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.clientaccesslicense.ClientAccessLicenseStatus
"""The Client Access License Status"""
enum ClientAccessLicenseStatus {
  Unknown,
  Temporary,
  Active,
  Upgrade,
  Revoked,
  Pending,
  License
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.clientaccesslicense.ClientAccessLicenseType
"""The Client Access License Type"""
enum ClientAccessLicenseType {
  Unknown,
  Retail,
  Volume,
  Concurrent,
  Temporary,
  Open,
  NotSupported
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.connection.IpNetToMediaState
"""The ARP cache entry state for IPv6 entries"""
enum IpNetToMediaState {
  Reachable,
  Stale,
  Delay,
  Probe,
  Invalid,
  Unknown
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.connection.IpNetToMediaType
"""The ARP cache entry type"""
enum IpNetToMediaType {
  Other,
  Invalid,
  Dynamic,
  Static
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.connection.PortConnectionType
"""The port type."""
enum PortConnectionType {
  Tcp,
  Udp,
  Sctp
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.connection.TcpConnectionState
"""The TCP connection state."""
enum TcpConnectionState {
  closed,
  listen,
  synSent,
  synReceived,
  established,
  finWait1,
  finWait2,
  closeWait,
  lastAck,
  closing,
  timeWait,
  deleteTCB,
  bound,
  idle,
  deleteTcb,
  unknown
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.discovery.DeviceDiscoveryJobRelationType
"""The enumeration for the relation type between discovery job and device"""
enum DeviceDiscoveryJobRelationType {
  seen,
  discovered
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.discovery.DeviceNamingMethod
"""Device Naming Method"""
enum DeviceNamingMethod {
  Normal,
  UpperCase,
  LowerCase
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.discovery.DeviceNamingStrategy
"""Device Naming Strategy"""
enum DeviceNamingStrategy {
  RandomDnsNameThenDeviceName,
  DeviceNameThenRandomDnsName
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.discovery.DiscoveryProtocol
"""The discovery protocols"""
enum DiscoveryProtocol {
  SNMPv1,
  SNMPv2,
  SNMPv3,
  WMI,
  Telnet,
  SSH,
  TelnetBannerDetection,
  SMBAnonymous,
  SMB,
  HTTP,
  WBEM,
  RemoteLogin,
  RemoteLoginAdmin,
  NetBIOSAnonymous,
  VMWareVIM,
  DNS,
  HTTPS,
  NetAppOntapAPI,
  S7,
  CDP,
  LLDP,
  RemoteRegistry,
  SNMP,
  UPNP,
  MDNS,
  OVirtAPI,
  RedfishAnonymous,
  Redfish,
  KubernetesAPI
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.discovery.DiscoveryProtocolStatusEnum
"""The protocol status enumeration"""
enum DiscoveryProtocolStatusEnum {
  DisabledForDevice,
  NoPassword,
  Disabled,
  NotTested,
  Success,
  AccessDenied,
  LogonTypeNotGranted,
  RpcAccessDenied,
  WbemAccessDenied,
  WbemInvalidNamespace,
  WbemInvalidParameter,
  WbemOutOfMemory,
  WbemTransportFailure,
  WbemBadQuery,
  CannotConnect,
  Timeout,
  ProtocolNotSupported,
  UnknownTelnetBanner,
  COMError,
  Failure,
  InvalidNamespace,
  TransportFailure,
  OutOfMemory,
  CimOperationNotSupported,
  CimInvalidArgument,
  CimInvalidClass,
  CimInvalidNamespace,
  CimInvalidQuery,
  CimPropertyNoSuchProperty,
  CimQueryLanguageNotSupported,
  PortUnreachable,
  DeviceUnavailable,
  DeviceNotInDatabase,
  NoData,
  CannotCreateXMLParser,
  UnsupportedCharacterSet,
  XmlParseError,
  IOFailure,
  CannotResolveHostname,
  CorruptData,
  CannotCreateTempSessionDir,
  CannotStartShell,
  NotImplemented,
  UUEncodeMissing,
  FileNotFound,
  UUDecodeMissing,
  RpcServerUnavailable,
  VMwareComNotInstalled,
  SnmpV3UnsupportedSecurityLevel,
  SnmpV3NotInTimeWindows,
  SnmpV3UnknownUserNames,
  SnmpV3UnknownEngineId,
  SnmpV3DecryptionError,
  IPv6NotSupported,
  WmiQueriesFailed,
  LogonFailure,
  NotLicensed,
  UnameFailed,
  BadNetworkPath,
  BadNetName,
  NetNameDeleted,
  ServerServiceNotStarted,
  WorkstationServiceNotStarted,
  ServiceNotStarted,
  ClassNotRegistered,
  TrustedRelationshipFailure,
  ServiceRequestTimeout,
  AccountDisabled,
  AccountLockedOut,
  PasswordMustChange,
  ServiceDisabled,
  SessionCredentialConflict,
  NetLogonServiceNotStarted,
  NoLogonServers,
  DecryptionFailure,
  DiskFull,
  DiskQuotaExceeded,
  ConnectionAborted,
  ConnectionLost,
  InvalidUrl,
  ParsingFailure,
  OnlyCLIInterfaceSupported,
  RootAccessRequired,
  DeviceNotFound,
  UnsupportedDevice,
  PasswordMissing,
  InvalidPassphrase,
  CannotGetStreams,
  ConnectionRefused,
  CannotParsePrivateKey,
  HostnameNotFound,
  Disconnected,
  AuthenticationCanceled,
  FurtherAuthenticationRequired,
  SftpChannelOpenError,
  PermissionDenied,
  TransferCanceled,
  HttpRequestError,
  HttpProxyAuthenticationError,
  BadData,
  CannotRequestTerminal,
  CaptureRequired,
  CouldNotConnectToAnyWorker,
  AuthenticationNotSupported,
  PasswordChangeInProgress,
  NotFound,
  OnlyBasicCyberarkAccess,
  BadAccountDefinition,
  PasswordManagerError,
  ItemAlreadyInQueue,
  NotAddedToQueue,
  ExcludedByFilter,
  DoNotUserForIdentification,
  SameUser,
  ReconnectFailed,
  JsonParsingError,
  NoSudoAccess,
  IsUtimacoCryptoServer,
  UnexpectedEndOfFileInKeyExchange
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.discovery.NetworkCreationPolicy
"""Network Creation Policy"""
enum NetworkCreationPolicy {
  Never,
  TrustedTypes,
  Always
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.discovery.PingMethod
"""The ping method"""
enum PingMethod {
  Disabled,
  Ping,
  AddAll
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.discovery.VLanIdentificationMethod
"""VLan Identification Method"""
enum VLanIdentificationMethod {
  idOnly,
  idAndName
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.discovery.queue.DiscoveryProcessStatus
"""The application status status"""
enum DiscoveryProcessStatus {
  Idle,
  Running,
  Paused,
  Disabled,
  Pausing,
  Stopping,
  Starting,
  Down
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.discovery.queue.DiscoveryQueueItemStatus
"""The discovery queue item status. A queue item is blocked when a blackout perdiod blocks the scan for the specified item."""
enum DiscoveryQueueItemStatus {
  Pending,
  Processing,
  Processed,
  InCache,
  Blocked
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.discovery.queue.DiscoveryQueuePriority
"""The priority for devices within the device queue"""
enum DiscoveryQueuePriority {
  Lowest,
  AboveLowest,
  Normal,
  AboveNormal,
  Highest
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.discovery.queue.DiscoveryQueueSource
"""The source for the discovery queue item (eigher manually added or triggered by a discovery job)"""
enum DiscoveryQueueSource {
  DiscoveryCycle,
  ManuallyAdded
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.discovery.queue.DiscoveryQueueStatus
"""The discovery queue status."""
enum DiscoveryQueueStatus {
  Idle,
  Busy,
  Suspended,
  Stalled
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.discovery.status.DiscoveryStatusArea
"""An enumeration for each discovery status area"""
enum DiscoveryStatusArea {
  Nothing,
  Devices,
  Ping,
  NetworkNeighborhood,
  Directory,
  TopologyJobs,
  DeviceHistory,
  DiscoveryJobs,
  DataQuality,
  Database,
  MeasurementStatus,
  CloudStatus,
  All
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.documents.DocumentType
"""The document type"""
enum DocumentType {
  Folder,
  Document
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.events.EventSeverity
"""The event severity"""
enum EventSeverity {
  Info,
  Major,
  Critical
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.events.EventType
"""The event type"""
enum EventType {
  DiscoveryStarted,
  DiscoveryCompleted,
  DiscoveryStopped,
  DiscoveryPaused,
  DiscoveryResumed,
  BackupStarted,
  BackupFinished,
  BackupFailed,
  CompactStarted,
  CompactFinished,
  CompactTableFailed,
  DeviceHistoryStarted,
  DeviceHistoryFinished,
  ReportExportFailed,
  DeviceDiscoveryFailed,
  DeviceNotWrittenToDatabase,
  DeviceFilterFailed,
  ReportExportStarted,
  MigrationEvent,
  DrsMigrationEvent,
  LiveMigrationEvent,
  OfflineMigrationEvent,
  RelocatedEvent,
  ShiExportEvent,
  MeasurementInstrumentationStarted,
  MeasurementInstrumentationFinished,
  MeasurementDataTransferStarted,
  MeasurementDataTransferFinished,
  MeasurementDataImportStarted,
  MeasurementDataImportFinished,
  UnixRemoteLoginDisabled,
  UnixRemoteLoginCredentialsMissing,
  DeviceWithIncorrectRemoteLoginCredentials,
  DeviceRemoteLoginProtocolNotSupported,
  CiscoASARemoteLoginDisabled,
  CiscoIOSRemoteLoginDisabled,
  CiscoPixOSRemoteLoginDisabled,
  CiscoCatOsRemoteLoginDisabled,
  CiscoIOSXERemoteLoginDisabled,
  CiscoNXOSRemoteLoginDisabled,
  CitrixXenXCPNGRemoteLoginDisabled,
  HPEProCurveRemoteLoginDisabled,
  UnknownHttpDeviceAskingForCrentials,
  UnixRemoteLoginNoRootAccess,
  IncorrectRedfishCredentials,
  RedfishDeviceWithoutCredentials,
  VirtualizationServerWithoutLoginCredentials,
  VMwareApiProtocolDisabled,
  VMwareApiMissingCredentials,
  VMwareApiInvalidCredentials,
  WindowsComputerUnassignedWithoutLoginCredentials,
  WindowsComputerWithNonAdminLoginCredentials,
  WindowsComputerWithLUA,
  WindowsComputerWithInvalidLoginCredentials,
  WindowsComputerWithFPSConfigurationProblem,
  WindowsComputerWithC4MNConfigurationProblem,
  WindowsComputerWithFirewallBlockingWMI,
  WindowsComputerEnableRemoteLogin,
  WindowsComputerEnableWMIRemoteLoginTunnel,
  WindowsComputerWithWMIServiceStartFailure,
  WindowsNT40ComputerWithoutWMI,
  WindowsComputerTrustedRelationshipFailure,
  WindowsComputerWithDisabledLoginCredentials,
  WindowsComputerWithLockedOutLoginCredentials,
  WindowsComputerWithMustChangePasswordLoginCredentials,
  UnidentifiedHttpDeviceWithoutCredentials,
  AristaEOSRemoteLoginDisabled,
  FortinetRemoteLoginDisabled,
  UnknownSnmpDevice,
  VirtualizationServerWithIncorrectLoginCredentials,
  WindowsComputerWithFirewallBlockingSMB,
  IISWebAdministrationNamespaceMissing,
  RouterSwitchLoginCredentialsMissing,
  LdapAccessFailed,
  LapsSmbLoginFailed,
  LapsRemoteLoginFailed,
  LapsCopyDirectoryCredentialsQueryExecutableFailed,
  LapsStartDirectoryCredentialsQueryProcessFailed,
  LapsStopDirectoryCredentialsQueryProcessFailed,
  LapsDecryptDirectoryCredentialsFailed,
  LapsDomainControllerNotFound,
  LapsRemoteLoginDisabled,
  OutOfMemoryException,
  UserNotInSudoersFile,
  WindowsComputerLogonTypeNotGranted,
  WindowsComputerRemoteLoginDiskFull,
  FortiGateNoRestAPIToken,
  PaloAltoNoRestAPIToken,
  ArubaRemoteLoginDisabled,
  VLANViaRemoteLogin,
  MikrotikRemoteLoginDisabled,
  Shutdown,
  Reboot,
  RebootOrShutdown,
  UnexpectedShutdown,
  ApplicationError,
  ApplicationHangs
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.grouping.DeviceGroupMatchType
"""The device group match type"""
enum DeviceGroupMatchType {
  Contains,
  ContainsInsensitive,
  MatchesSimpleWildcards,
  MatchesRegularExpression,
  Equals,
  Greater,
  GreaterOrEqual,
  Less,
  LessOrEqual,
  NotEqual,
  Between,
  NotSet,
  Empty,
  NotContains,
  NotContainsInsensitive,
  NotMatchesRegularExpression,
  NotMatchesSimpleWildcards,
  EqualsInsensitive
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.grouping.DeviceGroupRuleBooleanType
"""The device group rule boolean type"""
enum DeviceGroupRuleBooleanType {
  And,
  Or,
  Not
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.grouping.DeviceGroupRuleType
"""The device group rule type"""
enum DeviceGroupRuleType {
  GroupByIP4Network,
  GroupByIP4Range,
  GroupByModel,
  GroupByOsVersion,
  GroupByOsPatchLevel,
  GroupByType,
  GroupBySysLocation,
  GroupByWindowsDomain,
  GroupByDirectory,
  GroupByIP6Network,
  GroupByName,
  GroupByManufacturer,
  GroupByOsFamily,
  GroupByWindowsComputername,
  GroupBySerialNumber,
  GroupByDeviceList,
  GroupByCustomAttribute,
  GroupByCloud
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.grouping.DeviceGroupType
"""The device group type"""
enum DeviceGroupType {
  Simple,
  Network,
  Domain,
  Root,
  Directory,
  Cloud
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.history.DeviceDeletionReason
"""The reason why devices have been deleted"""
enum DeviceDeletionReason {
  DeviceMerge,
  ManualDeletion,
  AgingOut,
  DeleteAttachedDevice,
  DeleteManagedDevice,
  DeleteManagedVM,
  DeleteSameIP,
  DeviceDoesntExistAnymore,
  RelatedDatacenterDeleted,
  DeleteStackedSwitch,
  DeletedHostingCluster,
  DeleteClusterMemberDevice
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.logging.PredefinedLoggingItem
"""Enumeration to configure pre-defined logging for specific features"""
enum PredefinedLoggingItem {
  UnixConsole,
  ActivityLog,
  WindowsRemoteLogin,
  KubernetesApiLogging,
  SshProtocolLogging,
  RestAPILogging,
  JPA,
  GRAPHQL,
  CACHE,
  SNMP
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.mail.AuthenticationProtocol
"""The authentication protocol"""
enum AuthenticationProtocol {
  none,
  password,
  encryptedPassword,
  kerberos_GSSAPI,
  NTLM
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.mail.EncryptionProtocol
"""The encryption protocol"""
enum EncryptionProtocol {
  none,
  SSL_TLS,
  STARTTLS
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.maps.dependencymaps.PortConnectionDirection
"""The connection direction."""
enum PortConnectionDirection {
  SourceInitiated,
  DestinationInitiated,
  Unknown
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.networklocation.NetworkLocationProtocol
"""The network location protocol type."""
enum NetworkLocationProtocol {
  LocalDisk,
  WindowsShare,
  Sftp,
  ShiSftp,
  AzureBlob
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.reports.ReportOwner
"""The report owner"""
enum ReportOwner {
  User,
  UserGroup,
  Global
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.scheduling.ScheduleAction
"""Scheduled job action type"""
enum ScheduleAction {
  StartDiscovery,
  ArchiveDatabase,
  RunTopology,
  CompactDatabase,
  DeviceHistory,
  ReportExport,
  ReportMail,
  ShiUpload,
  RunRunnable
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.scheduling.ScheduleType
"""The occurrences of schedule job."""
enum ScheduleType {
  Daily,
  Weekly,
  Monthly,
  IntervalInSeconds,
  Once,
  NotScheduled
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.security.SecurityAlgorithmStrength
"""A security algorithm's strength"""
enum SecurityAlgorithmStrength {
  Paranoid,
  Strong,
  Weak
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.service.ServiceFailureAction
"""The Service Failure Actions"""
enum ServiceFailureAction {
  None,
  Restart,
  Reboot,
  RunCommand,
  NotifyUser
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.service.ServiceStartupMode
"""The Service Startup Modes"""
enum ServiceStartupMode {
  Automatic,
  Manual,
  Disabled,
  Undefined,
  Boot,
  System
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.service.ServiceStatus
"""The Service Statuses"""
enum ServiceStatus {
  Running,
  StartPending,
  Stopped,
  StopPending,
  Paused,
  PausePending,
  ContinuePending,
  Undefined,
  Degraded,
  Disabled,
  Maintenance,
  Uninitialized,
  Static
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.storage.BusType
"""The BUS type for a connected physical disk"""
enum BusType {
  Unknown,
  SCSI,
  ATAPI,
  ATA,
  IEEE1394,
  SSA,
  FibreChannel,
  USB,
  RAID,
  ISCSI,
  SAS,
  SATA,
  SD,
  MMC,
  FileBackedVirtual,
  StorageSpaces,
  NVMe
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.storage.DiskMediaType
"""The disk media type for a physical disk"""
enum DiskMediaType {
  Unknown,
  HDD,
  SSD,
  SCM
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.storage.ISCSIPortType
"""The ISCSI port type (initiator or target)"""
enum ISCSIPortType {
  Target,
  Initiator
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.supportentitlement.SupportEntitlementState
"""The Support Entitlement States"""
enum SupportEntitlementState {
  Valid,
  ExpiresSoon,
  Expired
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.tasks.TaskStatus
"""A task status"""
enum TaskStatus {
  Stopped,
  Running,
  Paused,
  Stopping,
  Starting,
  Disabled,
  Error
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.users.InventoryUserRight
"""A user right assigned to a user"""
enum InventoryUserRight {
  ControlDiscovery,
  ChangeDiscoverySettings,
  ViewData,
  ManageUsers,
  ManageDevices,
  Admin,
  ManageMaps,
  CreateRemoveArchives,
  ManageInventoryServers,
  ManageCustomReports,
  ManageCustomAttributes,
  EditCustomAttributes,
  ManageCustomScripts,
  ManageDocuments,
  ViewDocuments,
  ManageHistory,
  BrowseWbemData,
  ManageNetworkLocations,
  DiscoverSingleDevice,
  CreateSupportZIP,
  ManageMailAccounts,
  ManageScheduledMailReportJobs,
  ManageScheduledReportExportJobs,
  ScheduleReports,
  ManageShiUploadJobs,
  ManageLogging,
  PollMeasurements,
  ChangeMeasurementConfiguration,
  DeleteMeasurementData,
  ManageApplications,
  ImportDevices,
  ManageIntegrations,
  CreateStandaloneClientCommandline
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.virtualization.DatacenterType
"""The virtual datacenter type"""
enum DatacenterType {
  VMware,
  OVirt
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.virtualization.paas.cloudfoundry.CloudFoundryServiceInstanceType
"""The cloud foundry service instance type"""
enum CloudFoundryServiceInstanceType {
  managed,
  userProvided
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.windows.disk.DiskEncryptionAlgorithm
"""The logical disk encryption algorithm."""
enum DiskEncryptionAlgorithm {
  NONE,
  AES_128_WITH_DIFFUSER,
  AES_256_WITH_DIFFUSER,
  AES_128,
  AES_256,
  HARDWARE_ENCRYPTION,
  XTS_AES_128,
  XTS_AES_256
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.windows.disk.DiskEncryptionMethod
"""Defines how a logical drive is encrypted."""
enum DiskEncryptionMethod {
  None,
  Bitlocker,
  FileVault
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.windows.share.NetworkShareType
"""The network shared resource type"""
enum NetworkShareType {
  DiskDrive,
  PrintQueue,
  Device,
  IPC,
  DiskDriveAdmin,
  PrintQueueAdmin,
  DeviceAdmin,
  IPCAdmin
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.windows.wlan.WlanAuthAlgorithm
"""The Wlan Auth Algorithms"""
enum WlanAuthAlgorithm {
  Ieee80211Unknown,
  Ieee80211Open,
  SharedKey,
  Wpa,
  WpaPsk,
  WpaNone,
  Rsna,
  RsnaPsk,
  Unknown,
  Wep,
  Wpa3,
  Wpa3Sae,
  Owe
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.windows.wlan.WlanCipherAlgorithm
"""The Wlan Cipher Algorithms"""
enum WlanCipherAlgorithm {
  Unknown,
  None,
  Wep40,
  Tkip,
  Ccmp,
  Wep104,
  WpaUseGroup,
  Wep,
  AES,
  TKIPANDAES
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.windows.wlan.WlanConnectionMode
"""The Wlan Connection Modes"""
enum WlanConnectionMode {
  Unknown,
  Profile,
  TemporaryProfile,
  DiscoverySecure,
  DiscoveryUnsecure,
  Auto,
  Invalid,
  AccessPoint
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.windows.wlan.WlanPhyType
"""The Wlan Phy Types"""
enum WlanPhyType {
  Unknown,
  Fhss,
  Dss,
  Irbaseband,
  Ofdm,
  Hrdsss,
  Erp,
  Ht,
  Vt,
  ieee80211na,
  ieee80211ng
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.windows.wlan.WlanType
"""The Wlan Types"""
enum WlanType {
  Unknown,
  Infrastructure,
  Independent
}


# Java enumeration mapping for com.jdisc.inventory.common.enums.wlan.WlanWhitelistPatternType
"""The possible WLAN whitelist pattern types"""
enum WlanWhitelistPatternType {
  TextOnly,
  SimplePattern,
  RegularExpressions
}


# Java enumeration mapping for com.jdisc.inventory.common.icon.IconKey
"""The icon key to be mapped to an actual icon at front end level"""
enum IconKey {
  AccessPoint,
  AceBitPM,
  About,
  AddChart,
  AddCustomAttributes,
  AddFieldFilter,
  AddFolder,
  AddReport,
  AddTemplate,
  AddUserMale,
  AddMaleUserGroup,
  Admin,
  Administration,
  AdobeCreativeCloud,
  Activate,
  ActiveDirectory,
  ActivityHistory,
  Advance,
  Analyze,
  Antivirus,
  Api,
  Apple,
  AppleCloud,
  Application,
  ApplicationRunning,
  ApplicationStopped,
  ApplicationPaused,
  ApplicationDisabled,
  ApplicationPausing,
  ApplicationStarting,
  ApplicationStopping,
  Approval,
  AskQuestion,
  AWSCloud,
  AWSRegion,
  AWSResourceGroup,
  AWSUnassignedResourceGroup,
  AzureCloud,
  AzureSubscription,
  AzureResourceGroup,
  AzureDatabase,
  AzureVirtualMachine,
  AzureNetwork,
  Binary,
  Binoculars,
  Building,
  Cancel,
  CD,
  Certificate,
  Certificate2,
  ChevronLeft,
  ChevronRight,
  CheckboxUnchecked,
  CheckboxChecked,
  CheckAll,
  Checkmark,
  CheckmarkPlain,
  ClosePanel,
  Close,
  ClearCache,
  Clock,
  Cloud,
  CloudTenant,
  CloudUser,
  CloudUsers,
  Cluster,
  CMCloud,
  CMOrganization,
  CMNetwork,
  CSV,
  Computer,
  Connected,
  Connection,
  Console,
  Copy,
  Concept,
  Container,
  Containerization,
  CollapseAll,
  Compare,
  CompareDevices,
  CompareSnapshots,
  Code,
  Condition,
  Configuration,
  CreateDocument,
  CustomAttributes,
  CustomReport,
  CustomSQLReport,
  CyberarkPM,
  DashboardLayout,
  Datasheet,
  Database,
  DatabaseOptions,
  DatabaseDelete,
  DatabaseDeleteData,
  DatabaseBackup,
  DatabaseLock,
  DatabaseClock,
  DatabaseFilingCabinet,
  DatabaseDataEncryption,
  DatabaseRestore,
  DatabaseExport,
  DatabasePassword,
  DatabaseSearch,
  DatabaseSoftware,
  DatabaseSchema,
  DatabaseTable,
  DatabaseInstance,
  Date,
  DB2,
  DecentralizedNetwork,
  Decrease,
  Delete,
  Dependency,
  Device,
  DeviceController,
  DeviceDetailsGeneralInfo,
  DeviceDetailsDirectoryInfo,
  DeviceDetailsHardwareInfo,
  DeviceDetailsFirmwareInfo,
  DeviceDetailsUserInfo,
  DeviceDetailsUserGroupInfo,
  DeviceDetailsConnectionsInfo,
  DeviceDetailsVirtualizationInfo,
  DeviceDetailsCustomAttributesInfo,
  DeviceDetailsEntitlementsInfo,
  DeviceDetailsMeasurementInfo,
  DeviceDetailsNetworkInfo,
  DeviceDetailsConfigurationInfo,
  DeviceType,
  DeviceGroupTypeNetwork,
  DeviceGroupTypeSimple,
  DeviceGroupTypeDomain,
  DeviceGroupTypeRoot,
  DeviceGroupTypeDirectory,
  DevicesPropertyZip,
  Density,
  Dialog,
  DisableProtocols,
  Discard,
  Disk,
  DiskPartition,
  DirectoryContainer,
  DirectoryOU,
  Disconnected,
  DNSDomain,
  Document,
  DockerContainer,
  DockerImage,
  DockerContainerOrchestration,
  DoubleUP,
  DoubleLeft,
  DoubleRight,
  Down,
  DownloadFile,
  DownloadPDF,
  Driver,
  Duplicate,
  Edit,
  Email,
  EmailMarketing,
  EndOfLife,
  Error,
  EURO,
  Evaluate,
  Event,
  Excel,
  ExpandAll,
  ExclamationMark,
  Export,
  ExternalLink,
  Eye,
  Factory,
  FAQ,
  Features,
  Filter,
  FitContent,
  FlatHierarchy,
  Folder,
  ForwardBtn,
  FourSquares,
  Futures,
  FullStop,
  GC,
  GCRegion,
  GCZone,
  GCTenant,
  GCFolder,
  GCProject,
  Globe,
  GlobeNetwork,
  GoBack,
  GraphQLSchema,
  GroupFolder,
  Graph,
  GroupObjects,
  Handshake,
  Hardware,
  HardwareDisk,
  Health,
  HetznerCloud,
  HetznerCountry,
  HetznerTenant,
  HetznerLocation,
  Help,
  HelpOutlined,
  History,
  Hierarchy,
  HighPriority,
  Home,
  HorizontalHierarchy,
  HttpPassword,
  HTML,
  Image,
  Import,
  ImportCSV,
  ImportXLS,
  Increase,
  Info,
  InstalledApplication,
  IPAddress,
  IP4Address,
  IP6Address,
  IPRange,
  IPPhone,
  ISCSI,
  Java,
  JDiscAvatar,
  JDiscLogo,
  Key,
  Kubernetes,
  KubernetesCluster,
  KubernetesDeployment,
  KubernetesReplicaSet,
  KubernetesDaemonSet,
  KubernetesNamespace,
  KubernetesService,
  KubernetesPod,
  KubernetesNode,
  Knowledge,
  CloudFoundry,
  CloudFoundryOrganization,
  CloudFoundrySpace,
  CloudFoundryServiceInstance,
  CloudFoundryApplications,
  Landscape,
  Laptop,
  Layers,
  Left,
  Link,
  List,
  License,
  Lock,
  Logout,
  Log,
  LoginCredentials,
  LoginCredentialsSSH,
  LoggedOnUser,
  LoggedOnUserHistory,
  Management,
  ManagementDevice,
  ManageSnapshots,
  Manual,
  Manufacturer,
  Map,
  MapDelete,
  Menu,
  Measure,
  MeasureEnable,
  MeasureDisable,
  MeasurePause,
  MeasureResume,
  Memory,
  MenuVertical,
  MindMap,
  Minimize,
  MSDNCloud,
  MSEntraID,
  MSEntraIDAdministrativeUnit,
  MSEntraIDSecurityGroup,
  MS365,
  MSExchange,
  MSIntune,
  MSSQLServer,
  MSSQLDatabase,
  MiniPC,
  MongoDB,
  Monitor,
  MySQL,
  NAS,
  New,
  NewFancy,
  NetworkLocation,
  Network,
  Networking,
  NetworkInterfaceUp,
  NetworkInterfaceDown,
  NetworkNeighborhood,
  NoEntry,
  Numbers,
  Office365,
  OperatingSystem,
  OperatingSystemVersion,
  OpenPanel,
  OpenedFolder,
  OrphanedVirtualMachine,
  Oracle,
  OVirtPassword,
  PaintPalette,
  Password,
  PasswordManager,
  Patch,
  Pause,
  PDF,
  PDU,
  Permission,
  PieChart,
  PlusShield,
  Phone,
  Port,
  PortOpen,
  PortInbound,
  PortOutbound,
  PortTCP,
  PortUDP,
  Printer,
  Property,
  PropertyEdit,
  Properties,
  Process,
  Processor,
  Protocol,
  Print,
  Preferences,
  PreviewReport,
  PostgreSQL,
  Powershell,
  PublicFolder,
  PushPin,
  Queue,
  QuestionMark,
  QuestionedCheckmark,
  RDP,
  Read,
  RemoteLogin,
  Repeat,
  Repeater,
  Reload,
  RemoveFieldFilters,
  Reset,
  ResetDiagram,
  ResetDialog,
  ResetProtocols,
  ResetPreferences,
  Resume,
  Resources,
  RoadClosure,
  Router,
  RoutingSwitch,
  RunCommand,
  Save,
  ScanAll,
  ScanDevice,
  ScanIP,
  Scanner,
  Schedule,
  ScheduledTask,
  ScheduledTaskFolder,
  Script,
  ScrollUp,
  ScrollDown,
  Search,
  SearchInList,
  Settings,
  SettingsFull,
  SettingsImport,
  SettingsDelete,
  SendEmail,
  Server,
  Services,
  SharedResources,
  Shield,
  Snapshot,
  SignalStrength20,
  SignalStrength40,
  SignalStrength60,
  SignalStrength80,
  SignalStrength100,
  Slot,
  Smartphone,
  SNMPPassword,
  SNMP,
  SNMPWalk,
  Software,
  SoftwareLicense,
  SOTIMobiControl,
  SQL,
  SQLDatabaseApplication,
  SQLDatabaseInstance,
  SQLDatabase,
  SQLSchema,
  SQLTable,
  SSHPassword,
  Start,
  StartAll,
  Status,
  Stop,
  StopAll,
  Subscription,
  SunburstChart,
  SupportEntitlements,
  SupportZIP,
  SupportedDevices,
  Success,
  SVG,
  Switch,
  SwitchOff,
  SwitchOn,
  SyncDirectory,
  SyncNetwork,
  Synchronize,
  Tag,
  Task,
  TaskInProgress,
  TaskPending,
  Temperature,
  Test,
  Text,
  TextSingleLine,
  TeamviewerCloud,
  Theme,
  TodoList,
  TowerServer,
  Training,
  Trash,
  TreeNodes,
  Troubleshooting,
  TriangleArrow,
  Trace,
  UI,
  UITable,
  UITableSettings,
  UnknownNode,
  UnknownDevice,
  Uncategorized,
  UncheckAll,
  Up,
  Upload,
  UPS,
  User,
  UserAccount,
  UserFolder,
  UserGroup,
  UserGroupBrowser,
  UngroupObjects,
  UserProfile,
  UserSettings,
  UserLock,
  Vault,
  Versions,
  VirtualBoxInstance,
  Virtualization,
  VirtualizationVM,
  VirtualizationInstance,
  VirtualizationManagementServer,
  VirtualizationRunningInstance,
  VirtualizationStoppedInstance,
  VirtualizationSuspendedInstance,
  VirtualizationSnapshot,
  VirtualizationCurrentSnapshot,
  VirtualizationDatacenter,
  VirtualizationCluster,
  VirtualizationOrphanedVM,
  VirtualizationServer,
  VirtualizationType,
  VirtualSwitch,
  ViewDetails,
  VLAN,
  VMWarePassword,
  VPN,
  Warning,
  Warehouse,
  WebSecurity,
  WindowsRegistry,
  WirelessRouter,
  WLAN,
  WMI,
  Workstation,
  WorkstationModel,
  WorkstationType,
  ZoomIn,
  ZoomOut
}


# Java enumeration mapping for com.jdisc.inventory.common.lock.DialogLockId
"""The dialog lock id"""
enum DialogLockId {
  DiscoverySettingsDialog,
  ConfigureCustomAttributesDialog,
  ManageDocumentsDialog,
  DataCollectionManagementDialog,
  EditPortNamesDialog,
  ManageMailAccountsDialog,
  ManageNetworkStorageLocationsDialog,
  ScheduleDatabaseArchiveDialog,
  ScheduleCompactDatabaseDialog,
  SoftwareUsageMeteringTemplatesDialog,
  UserManagement
}


# Java enumeration mapping for com.jdisc.inventory.common.logging.LogLevel
"""The log level"""
enum LogLevel {
  Error,
  Warning,
  Info,
  Trace,
  Debug
}


# Java enumeration mapping for com.jdisc.inventory.common.reporting.actions.ActionName
"""The action name"""
enum ActionName {
  AddEndOfLifeSupportAction,
  AddDeviceToGroupsAction,
  AddTemplateMeasurementAction,
  BrowseMeasurementAction,
  BrowseWbemDataAction,
  ChangeDatabaseAccountAction,
  ChangeDeviceAccountAction,
  ChangeDeviceSshAccountAction,
  ChangeHttpAccountAction,
  ChangeOVirtAccountAction,
  ChangeRedfishAccountAction,
  ChangeScheduledMailReportAction,
  ChangeScheduledMailReportOwnerAction,
  ChangeScheduledReportAction,
  ChangeScheduledReportExportOwnerAction,
  ChangeSnmpAccountAction,
  ChangeUserAccountAndPasswordAction,
  ChangeUserPasswordAction,
  ChangeVMwareAccountAction,
  CleanupMeasurementAction,
  ClearCachedAccountsAction,
  CompareDevicesAction,
  CompareDeviceSnapshotsAction,
  CompareMeasurementAction,
  ConnectHttpAction,
  ConnectHttpsAction,
  ConnectMSTSCAction,
  ConnectSshAction,
  ConnectTelnetAction,
  CreateDependencyMapAction,
  CreateHistorySnapshotAction,
  CreateSegmentTopologyMapFromIP4NetworksAction,
  CreateSupportZipDeviceAction,
  CreateDeviceZipDeviceAction,
  CreateTemplateFromDeviceMeasurementAction,
  CreateTemplateFromProvisionMeasurementAction,
  CreateDiagramAction,
  CreateBaseDiagramAction,
  CreateNetworkTopologyDiagramAction,
  CreateVirtualizationTopologyDiagramAction,
  CreateTopologyMapFromDevicesAction,
  CreateTopologyMapFromIP4NetworksAction,
  DatabaseIdBasedReportAction,
  DeleteApplicationsAction,
  DeleteCertificatesAction,
  DeleteClusterAction,
  DeleteDatacenterAction,
  DeleteDependencyMapAction,
  DeleteDeviceAction,
  DeleteDeviceHistoryAction,
  DeleteDeviceQueueEntryAction,
  DeleteDirectoryQueueEntryAction,
  DeleteDiscoveredUserAction,
  DeleteDiscoveredUserGroupAction,
  DeleteDomainQueueEntryAction,
  DeleteDriverAction,
  DeleteEventAction,
  DeleteExecutablesAction,
  DeleteIP4NetworksAction,
  DeleteIP4PingQueueEntryAction,
  DeleteIP6NetworksAction,
  DeleteMeasurementProvisionsAction,
  DeleteHistorySnapshotsAction,
  DeleteScheduledMailReportAction,
  DeleteScheduledReportAction,
  DeleteSshUserAccountsAction,
  DeleteTemplateMeasurementAction,
  DeleteTopologyAction,
  DeleteTopologyMapAction,
  DeleteUserAccountsAction,
  DeleteVLanAction,
  DeleteWLanAction,
  DisableProtocolAction,
  DiscoverDeviceNowAction,
  DiscoverDirectoryNowAction,
  DiscoverIpNowAction,
  DiscoverNetworkNeighborhoodNowAction,
  DiscoverNetworkNowAction,
  DiscoverRangesNowAction,
  EditDeviceCustomAttributesAction,
  EditTemplateMeasurementAction,
  ImportMeasurementAction,
  InstrumentMeasurementAction,
  ManageDeviceAccountsAction,
  MeasurementBaseAction,
  OpenDatabaseIdBasedReportWithFilterSingleSelectAction,
  OpenDeviceDetailsForLoggedOnUserClient,
  OpenDevicePropertiesAction,
  OpenDeviceSnapshotsAction,
  OpenDependencyMapAction,
  OpenDiagnosisDetailsAction,
  OpenDocumentAction,
  OpenReportWithAllIdFiltersAction,
  OpenReportWithCurrentFiltersAction,
  OpenReportWithIdOnlyFilterAction,
  OpenReportWithFilterAction,
  OpenReportWithFilterSingleSelectAction,
  OpenReportWithThisFilterAction,
  OpenReportWithUserGroupSelectedAction,
  OpenReportWithUserOrUserGroupAction,
  OpenReportWhenUserSelectedAction,
  OpenTopologyMapAction,
  OpenUrlAction,
  OracleLmsExportAction,
  ExportSwidtagAction,
  PauseMeasurementAction,
  PingRangeAction,
  PingSelectedDevicesAction,
  RefreshSupportEntitlementInformationAction,
  ResetProtocolAction,
  ResumeMeasurementAction,
  RunScheduledMailReportNowAction,
  RunScheduledReportNowAction,
  SeparatorAction,
  TracertAction,
  UpdateMeasurementAction,
  ViewTemplatesMeasurementAction,
  AssignSoftwareMeteringTemplatesToDevicesAction,
  ResetSoftwareMeteringTemplatesToDevicesAction
}


# Java enumeration mapping for com.jdisc.inventory.common.reporting.actions.ActionVisibility
"""The ActionVisibility enum defines in which client the action is visible"""
enum ActionVisibility {
  ALL,
  Web,
  Swing,
  None
}


# Java enumeration mapping for com.jdisc.inventory.common.reporting.actions.ReportFiltersMode
"""The ReportFiltersMode enum"""
enum ReportFiltersMode {
  AddOnlyOneFilter,
  AddAllFilters,
  UseActionFiltersOnly,
  AddIdFiltersOnly,
  UseThoseFiltersOnly
}


# Java enumeration mapping for com.jdisc.inventory.common.reporting.base.BuiltInReport
"""The constants for the built in reports"""
enum BuiltInReport {
  IP4_NETWORK_REPORT_ID,
  IP6_NETWORK_REPORT_ID,
  ALL_IP4_ADDRESSES_REPORT_ID,
  ALL_IP6_ADDRESSES_REPORT_ID,
  DEFAULT_GATEWAYS_REPORT_ID,
  DNS_SERVER_REPORT_ID,
  MISCONFIGURED_SUBNET_MASK_REPORT_ID,
  DHCP_SERVER_REPORT_ID,
  DIRECTORY_REPORT_ID,
  DIRECTORY_USER_REPORT_ID,
  NETWORK_NEIGHBORHOOD_REPORT_ID,
  DEVICE_REPORT_ID,
  DEVICE_HOSTNAME_REPORT_ID,
  DIRECTORY_COMPUTERACCOUNT_REPORT_ID,
  DEVICE_TIER_REPORT_ID,
  DEVICE_SHARE_REPORT_ID,
  DEVICE_GLOBAL_SHARE_REPORT_ID,
  DEVICE_MODEL_REPORT_ID,
  DEVICE_OSVERSION_REPORT_ID,
  DEVICE_OSVERSION_FAMILY_REPORT_ID,
  DEVICE_OSVERSION_PATCH_REPORT_ID,
  DEVICE_OSFAMILY_REPORT_ID,
  DEVICE_TYPE_REPORT_ID,
  DUPLICATE_DEVICES_REPORT_ID,
  DEVICE_MANAGED_VIRTUALIZATION_SERVERS_REPORT_ID,
  DEVICE_MANAGED_VIRTUAL_INSTANCES_REPORT_ID,
  DEVICE_VM_MOTION_EVENT_REPORT_ID,
  DEVICE_MANAGED_DATACENTERS_REPORT_ID,
  RANGES_REPORT_ID,
  DEVICES_ROLES_REPORT_ID,
  DEVICE_BY_GROUP_REPORT_ID,
  DEVICE_LOAD_BALANCER_CONFIGURATION_ID,
  DEVICE_DELETION_LOG_REPORT_ID,
  DEVICES_BY_CLIENT_ACCESS_LICENSE_REPORT_ID,
  CLIENT_ACCESS_LICENSE_REPORT_FOR_DEVICE,
  DEVICE_INTERFACE_CONNECTIONS_REPORT_ID,
  OPERATING_SYSTEM_END_OF_LIFE_SUPPORT,
  APPLICATIONS_END_OF_LIFE_SUPPORT,
  WINDOWS_11_COMPATIBILITY_REPORT_ID,
  DEVICE_VIRTUAL_SERVER_AND_INSTANCE_REPORT_ID,
  DEVICE_VIRTUAL_SERVER_REPORT_ID,
  DEVICE_VIRTUAL_DATACENTERS_REPORT_ID,
  DEVICE_VIRTUAL_INSTANCES_REPORT_ID,
  VIRTUAL_MANAGEMENT_REPORT_ID,
  DEVICE_MANAGED_DISTRIBUTED_SWITCHES_REPORT_ID,
  VIRTUALIZATION_EXPLORER_REPORT_ID,
  ISCSI_IQN_REPORT_DESCRIPTION_ID,
  DEVICE_MANUFACTURER_REPORT_ID,
  DEVICE_DETAILS_ID,
  GENERAL_DEVICE_DATA_ID,
  GENERAL_DEVICE_DATA_REDUCED_ID,
  DEVICE_SNMP_AGENT_DATA_ID,
  DEVICE_ANTIVIRUS_ID,
  DEVICE_IP4INTERFACE_ID,
  DEVICE_IPINTERFACE_CONFIG_ID,
  DEVICE_IP4INTERFACE_VLAN_ID,
  DEVICE_VLAN_REPORT_ID,
  DEVICE_DISCOVERY_LOG_ID,
  DEVICE_SYSTEMBOARD_ID,
  DEVICE_SOUNDCARD_ID,
  DEVICE_PROCESSOR_ID,
  DEVICE_MEMORY_MODULE_ID,
  DEVICE_PHYSICAL_DISK_ID,
  DEVICE_PHYSICAL_DISK_WITH_SLOT_ID,
  DEVICE_DISK_PARTITION_ID,
  DEVICE_ATTACHED_DISK_ARRAY_REPORT_ID,
  DEVICE_OPERATING_SYSTEM_ID,
  DEVICE_FIRMWARE_REPORT_ID,
  DEVICE_APPLICATION_REPORT_ID,
  DEVICE_APPLICATION_END_OF_LIFE_REPORT_ID,
  DEVICE_EXECUTABLE_FILE_REPORT_ID,
  DEVICE_SERVICE_REPORT_ID,
  DEVICE_PATCH_REPORT_ID,
  DEVICE_PENDING_INSTALLATIONS_REPORT_ID,
  DEVICE_PROTOCOL_ID,
  DEVICE_DISCOVERY_TRAFFIC_ID,
  DEVICE_DETAILS_PARSING_ISSUES_REPORT,
  DEVICE_ROLES_REPORT_ID,
  DEVICE_GROUPS_REPORT_ID,
  ATTACHED_DEVICE_REPORT_ID,
  DEVICE_IP4NETWORK_REPORT_ID,
  DEVICE_IP6NETWORK_REPORT_ID,
  DEVICE_LOGICAL_DISK_ID,
  DEVICE_VIDEO_CONTROLLER_ID,
  DEVICE_LOGGED_ON_USER_REPORT_ID,
  DEVICE_PRINTER_INK_REPORT_ID,
  DEVICE_CLOUD_USER_REPORT_ID,
  DEVICE_LOCAL_USER_REPORT_ID,
  DEVICE_SECURITY_LOCAL_USER_REPORT_ID,
  DEVICE_LOCAL_USER_GROUP_REPORT_ID,
  DEVICE_LAST_LOGGED_ON_USER_ID,
  DEVICE_DRIVER_REPORT_ID,
  DEVICE_PROCESS_REPORT_ID,
  DEVICE_MODULES_REPORT_ID,
  DEVICE_CLUSTER_REPORT_ID,
  DEVICE_SHARED_RESOURCES_REPORT_ID,
  DEVICE_IP_TO_MAC_MAPPING_REPORT_ID,
  DEVICE_TPM_MODULE_REPORT_ID,
  DEVICE_WINDOWS_FEATURES_REPORT_ID,
  DEVICE_MAPPED_PRINTERS_ID,
  DEVICE_CERTIFICATES_REPORT_ID,
  DEVICE_SIMCARD_REPORT_ID,
  DEVICE_DATABASE_REPORT_ID,
  DEVICE_DATABASE_REPORT_LIST_ID,
  DEVICE_DATABASE_INSTANCE_LIST_REPORT_ID,
  DEVICE_DATABASE_SCHEMA_LIST_REPORT_ID,
  DEVICE_DATABASE_TABLE_LIST_REPORT_ID,
  DEVICE_DATABASE_FLAT_REPORT_LIST_ID,
  DEVICE_SUPPORT_ENTITLEMENT_ID,
  DEVICE_MEASUREMENT_COUNTER_TREE_REPORT_ID,
  DEVICE_DIRECTORY_INFORMATION_REPORT_ID,
  DEVICE_ISCSI_INITIATOR_REPORT_ID,
  DEVICE_ISCSI_TARGET_REPORT_ID,
  DEVICE_VMSNAPSHOT_REPORT_ID,
  DEVICE_FLAT_VMSNAPSHOT_REPORT_ID,
  DEVICE_VMWARE_SNAPSHOT_DETAILS_REPORT_ID,
  DEVICE_CONTAINER_IMAGE_DETAILS_REPORT_ID,
  DEVICE_PROCESS_MODULES_REPORT_ID,
  DEVICE_JAVA_LICENSING_SUMMARY,
  DEVICE_JAVA_LICENSING_STATUS,
  DEVICE_JAVA_INSTALLATIONS_ID,
  DEVICE_JAVA_PROCESSES_ID,
  DEVICE_DISABLED_PROTOCOLS_ID,
  DEVICE_CLIENT_ACCESS_LICENSE_REPORT_ID,
  DEVICE_ISSUED_CLIENT_ACCESS_LICENSE_REPORT_ID,
  DEVICE_CLIENT_ACCESS_LICENSE_SUMMARY_REPORT_ID,
  DEVICE_CLIENT_ACCESS_LICENSE_SERVER_REPORT_ID,
  ACTIVE_DIRECTORY_ELEMENT_REPORT_ID,
  ENTRAID_GROUP_DIRECTORY_ELEMENT_REPORT_ID,
  ENTRAID_ADMINISTRATIVE_UNIT_DIRECTORY_ELEMENT_REPORT_ID,
  APPLICATION_ONLY_REPORT_ID,
  APPLICATION_REPORT_ID,
  PENDING_UPDATE_REPORT_ID,
  APPLICATION_PATH_REPORT_ID,
  APPLICATION_INSTANCE_REPORT_ID,
  DEVICE_APPLICATION_INSTANCE_REPORT_ID,
  PATCH_REPORT_ID,
  SERVICE_REPORT_ID,
  DRIVER_REPORT_ID,
  PROCESSES_REPORT_ID,
  CLUSTER_REPORT_ID,
  CLUSTER_SERVICES_REPORT_ID,
  EXECUTALE_FILE_REPORT_ID,
  WINDOWS_FEATURES_REPORT_ID,
  CERTIFICATES_REPORT_ID,
  SSH_IDENTIFIER_REPORT_ID,
  HTTP_IDENTIFIER_REPORT_ID,
  HTTPS_IDENTIFIER_REPORT_ID,
  JAVA_INSTALLATIONS_REPORT_ID,
  JAVA_PROCESS_REPORT_ID,
  ANTIVIRUS_INSTALLATIONS_REPORT_ID,
  SUPPORTED_DEVICES_REPORT_ID,
  SUPPORTED_DEVICES_TABLE_REPORT_ID,
  SUPPORTED_OS_TABLE_REPORT_ID,
  SUPPORTED_SW_TABLE_REPORT_ID,
  SUPPORTED_ITEMS_ISSUES_REPORT_ID,
  ANTIVIRUS_SOFTWARE_REPORT_ID,
  DEVICE_SSH_SECURITY_REPORT_ID,
  SSH_CIPHER_ALGORITHM_REPORT_ID,
  SSH_MAC_ALGORITHM_REPORT_ID,
  SSH_KEY_EXCHANGE_ALGORITHM_REPORT_ID,
  CUSTOM_ATTRIBUTES_ID,
  CUSTOM_ATTRIBUTES_TABLE_ID,
  DEVICE_DISCOVERY_AGE_REPORT_ID,
  DISCOVERY_PROTOCOL_STATUS_REPORT_ID,
  DEVICE_DISCOVERY_PROTOCOL_STATUS_REPORT_ID,
  DEVICE_DISCOVERY_PROTOCOL_STATUS_SUCCESS_REPORT_ID,
  DEVICE_DISCOVERY_PROTOCOL_STATUS_WARNING_REPORT_ID,
  DEVICE_DISCOVERY_PROTOCOL_STATUS_ERROR_REPORT_ID,
  UNKNOWN_SNMP_DEVICE_REPORT_ID,
  UNKNOWN_SNMP_DEVICE_SUPPORT_ZIP_REPORT_ID,
  UNKNOWN_PNP_DEVICE_REPORT_ID,
  UNKNOWN_UPNP_DEVICE_REPORT_ID,
  UNKNOWN_MDNS_DEVICE_REPORT_ID,
  UNMAPPED_LENOVO_PART_NUMBERS_REPORT_ID,
  UNMAPPED_WORTMANN_PART_NUMBERS_REPORT_ID,
  UNKNOWN_ECORE_BASED_PROCESSOR_MODELS_REPORT_ID,
  SNMPWALK_REPORT_ID,
  DISCOVERY_EVENT_TYPES_REPORT_ID,
  DISCOVERY_EVENTS_REPORT_ID,
  DISCOVERY_DEVICE_QUEUE_REPORT_ID,
  DISCOVERY_PING_QUEUE_REPORT_ID,
  DISCOVERY_DOMAIN_QUEUE_REPORT_ID,
  DISCOVERY_DIRECTORY_QUEUE_REPORT_ID,
  UNKNOWN_TELNETBANNER_DEVICE_REPORT_ID,
  DEVICES_WITH_PARSING_ISSUES_REPORT_ID,
  LOGGED_ERRORS_REPORT_ID,
  LOGGED_ERRORS_DETAILS_REPORT_ID,
  LOGGED_ERRORS_DETAILS_FILE_REPORT_ID,
  END_OF_LIFE_ALL_API_RETRIEVED_DATA,
  END_OF_LIFE_ALL_SUPPORTED_APPLICATIONS,
  END_OF_LIFE_ALL_SUPPORTED_OPERATING_SYSTEMS,
  JAVA_OBJECT_HISTOGRAM_ID,
  JAVA_THREADS_ID,
  GROUP_DEVICE_REPORT_ID,
  SHARED_RESOURCES_USER_PERMISSIONS,
  FILE_REPORT_ID,
  DEVICE_OPEN_PORTS_REPORT_ID,
  DEVICE_SECURITY_OPEN_PORTS_REPORT_ID,
  DEVICE_PORT_CONNECTIONS_REPORT_ID,
  OPEN_PORTS_REPORT_ID,
  DEVICE_CONNECTING_TO_PORTS_REPORT_ID,
  CONNECTION_STATISTIC_REPORT_ID,
  DEVICE_FIREWALL_CONFIGURATION_REPORT_ID,
  DEPENDENCY_MAP_REPORT_ID,
  TOPOLOGY_MAP_REPORT_ID,
  ROUTING_DEVICES_REPORT_ID,
  SWITCH_PORTS_REPORT_ID,
  CONNECTED_DEVICES_TO_MAC_REPORT_ID,
  VLAN_REPORT_ID,
  DEVICE_VLAN_PORT_ASSIGNMENT_REPORT_ID,
  DEVICE_MAC_FORWARDING_REPORT_ID,
  DEVICE_CDP_REPORT_ID,
  DEVICE_LLDP_REPORT_ID,
  DEVICE_DIAGNOSTICS_REPORT_ID,
  DISCOVERY_JOBS_REPORT_ID,
  DISCOVERY_JOBS_CYCLE_LOGS_REPORT_ID,
  DEVICE_TROUBLESHOOTING_REPORT_ID,
  TROUBLESHOOTING_DEVICE_DIAGNOSTICS_REPORT_ID,
  TROUBLESHOOTING_DEVICE_DIAGNOSTICS_BY_OS_FAMILY_REPORT_ID,
  DEVICE_EVENTS_REPORT_ID,
  USER_REPORT_ID,
  LOGGED_ON_USER_REPORT_ID,
  LAST_LOGGED_ON_USER_REPORT_ID,
  USER_ACCOUNT_REPORT_ID,
  DISCOVERY_LOGIN_CREDENTIAL_REPORT_ID,
  DISCOVERY_SNMPV1_CREDENTIAL_REPORT_ID,
  DISCOVERY_SNMPV3_CREDENTIAL_REPORT_ID,
  DISCOVERY_SSH_LOGIN_CREDENTIAL_REPORT_ID,
  DIRECTORY_MEMBER_REPORT_ID,
  ENTRA_ID_USER_MEMBER_REPORT_ID,
  DIRECTORY_GROUP_MEMBER_REPORT_ID,
  GLOBAL_USER_REPORT_ID,
  GLOBAL_CLOUD_USER_REPORT_ID,
  LOGGED_ON_USER_DEVICE_REPORT_ID,
  LAST_LOGGED_ON_USER_DEVICE_REPORT_ID,
  USERS_IN_USERGROUP_REPORT_ID,
  OFFICE365_SUBSCRIBERS_FOR_SUBSCRIPTION_REPORT_ID,
  DEVICES_WITH_SCHEDULED_TASKS,
  DEVICES_FOR_RUNNING_SERVICES,
  DEVICES_WITH_SCHEDULED_TASKS_DIRECTORY,
  DEVICES_FOR_RUNNING_SERVICES_DIRECTORY,
  USERS_RUNNING_SERVICES,
  USERS_RUNNING_SCHEDULED_TASKS,
  USERS_HAVING_CLIENT_ACCESS_LICENSE,
  USERS_HAVING_CLIENT_ACCESS_LICENSE_INFO,
  CLIENT_ACCESS_LICENSES_FOR_ALL_USERS,
  USER_ATTRIBUTES,
  USERGROUP_FOR_USER_REPORT_ID,
  GLOBAL_USERGROUP_REPORT_ID,
  USERGROUP_USERGROUP_REPORT_ID,
  USER_GROUP_BROWSER_REPORT_ID,
  DOCUMENT_ASSIGNMENT_REPORT_ID,
  DEVICE_HISTORY_SNAPSHOTS_ID,
  DEVICE_HISTORY_REPORT_ID,
  DEVICE_HISTORY_OVERVIEW_REPORT_ID,
  TROUBLESHOOTING_OVERVIEW_ID,
  TROUBLESHOOTING_STATISTICS_ID,
  TROUBLESHOOTING_OVERVIEW_BY_OS_FAMILY_ID,
  WBEM_OBJECT_REPORT_ID,
  WLAN_REPORT_ID,
  WLAN_RECEIVING_DEVICES_REPORT_ID,
  WLAN_CONNECTED_DEVICES_REPORT_ID,
  DEVICE_WLAN_REPORT_ID,
  DEVICE_WLAN_ACCESS_POINT_REPORT_ID,
  WLAN_ACCESS_POINT_REPORT_ID,
  SCHEDULED_REPORT_EXPORT_JOB_ID,
  SCHEDULED_MAIL_REPORT_JOB_ID,
  QUALISYSTEMS_DEVICE_REPORT_ID,
  QUALISYSTEMS_DEVICE_IP4INTERFACE_VLAN_ID,
  QUALISYSTEMS_DEVICE_MODULES_REPORT_ID,
  QUALISYSTEMS_DEVICE_DELETION_LOG_REPORT_ID,
  QUALISYSTEMS_TOPOLOGY_REPORT_ID,
  EXCHANGE_SERVER_REPORT_ID,
  EXCHANGE_MAILBOX_REPORT_ID,
  MEASUREMENT_REPORT_ID,
  DEVICE_MEASUREMENT_RAW_DATA_REPORT_ID,
  DEVICE_MEASUREMENT_MIN_MAX_AVG_DATA_REPORT_ID,
  DEVICE_MEASUREMENT_EVENTS_ID,
  DEVICE_MEASUREMENT_EVENT_LOG_ID,
  MEASUREMENT_OVERVIEW_REPORT_DESCRIPTION,
  MEASUREMENT_EVENT_LOG_REPORT_DESCRIPTION,
  MEASUREMENT_CACHE_REPORT_DESCRIPTION,
  MEASUREMENT_SNAPSHOT_ID,
  DEVICE_MEASUREMENT_COUNTER_DATA_REPORT_ID,
  MEASUREMENT_TEMPLATE_REPORT_DESCRIPTION,
  MEASUREMENT_CREATE_TEMPLATE_REPORT_DESCRIPTION,
  MEASUREMENT_EDIT_TEMPLATE_REPORT_DESCRIPTION,
  MEASUREMENT_DELETE_TEMPLATE_REPORT_DESCRIPTION,
  MEASUREMENT_SCHEDULER_REPORT_DESCRIPTION,
  MEASUREMENT_SOFTWARE_METERING_DEPLOYMENTS_REPORT_DESCRIPTION,
  MEASUREMENT_SOFTWARE_METERING_USERS_REPORT_DESCRIPTION,
  MEASUREMENT_SOFTWARE_METERING_FILTER_REPORT_DESCRIPTION,
  MEASUREMENT_DEVICE_SOFTWARE_METERING_ENTRIES_REPORT_DESCRIPTION,
  MEASUREMENT_DEVICE_SOFTWARE_METERING_OVERVIEW_REPORT_DESCRIPTION,
  MEASUREMENT_DEVICE_SOFTWARE_METERING_OVERVIEW_BY_DAY_REPORT_DESCRIPTION,
  DEVICE_SCHEDULED_TASKS_REPORT_ID,
  DEVICE_SCHEDULED_TASKS_FLAT_REPORT_LIST_ID,
  DEVICE_SCHEDULED_TASKS_TABLE_LIST_ID,
  DEVICE_SCHEDULED_TASKS_TABLE_LIST2_ID,
  DEVICE_SCHEDULED_TASKS_TRIGGER_LIST_ID,
  DEVICE_SCHEDULED_TASKS_ACTION_LIST_ID,
  SUBSCRIPTIONS_REPORT_ID,
  CLOUD_USER_WITH_AD_USER_REPORT_ID,
  OFFICE365_SUBSCRIPTION_REPORT_ID,
  OFFICE365_FOR_TENANT_SUBSCRIPTION_REPORT_ID,
  DEVICE_SUBSCRIPTION_REPORT_ID,
  CLOUD_USER_NO_CLOUDTYPE_WITH_AD_USER_REPORT_ID,
  GLOBAL_CLOUD_USER_NO_CLOUDTYPE_REPORT_ID,
  OFFICE365_USER_SUBSCRIPTIONS_REPORT_ID,
  CLOUD_EXPLORER_TREE_REPORT_ID,
  OFFICE365_USER_SUBSCRIPTIONS_FOR_TENANT_REPORT_ID,
  AZURE_VIRTUAL_MACHINE_REPORT_ID,
  HETZNER_VIRTUAL_MACHINE_REPORT_ID,
  AZURE_INTUNE_DEVICES_REPORT_ID,
  AZURE_ENTRA_ID_DEVICE_MEMBERS_REPORT_ID,
  AWS_VIRTUAL_MACHINE_REPORT_ID,
  AWS_UNASSIGNED_VIRTUAL_MACHINE_REPORT_ID,
  SOTI_DEVICES_REPORT_ID,
  GOOGLE_CLOUD_VIRTUAL_MACHINE_BY_TENANT_REPORT_ID,
  GOOGLE_CLOUD_VIRTUAL_MACHINE_BY_TENANT_AND_PROJECT_REPORT_ID,
  GOOGLE_CLOUD_VIRTUAL_MACHINE_BY_TENANT_AND_PROJECT_AND_REGION_REPORT_ID,
  GOOGLE_CLOUD_VIRTUAL_MACHINE_BY_TENANT_AND_PROJECT_AND_REGION_AND_ZONE_REPORT_ID,
  SHI_VMWARE_DESCRIPTION,
  DEPENDENCIES_LICENSE_REPORT_ID,
  DEVICE_SSH_CIPHER_LIST_ID,
  DEVICE_SSH_KEY_EXCHANGE_ALGORITHMS_ID,
  DEVICE_SSH_MAC_ALGORITHMS_ID,
  CUSTOM_REPORT,
  SSL_CIPHER_ALGORITHM_REPORT_ID,
  SSL_PROTOCOLS_REPORT_ID,
  CONTAINER_IMAGES_REPORT_ID,
  KUBERNETES_PODS_REPORT_ID,
  KUBERNETES_DAEMONSETS_REPORT_ID,
  KUBERNETES_DAEMONSET_REPORT_ID,
  KUBERNETES_DAEMONSET_BASIC_ATTRIBUTES_REPORT_ID,
  KUBERNETES_REPLICASETS_REPORT_ID,
  KUBERNETES_REPLICASET_REPORT_ID,
  KUBERNETES_REPLICASET_BASIC_ATTRIBUTES_REPORT_ID,
  KUBERNETES_DEPLOYMENTS_REPORT_ID,
  KUBERNETES_DEPLOYMENT_REPORT_ID,
  KUBERNETES_DEPLOYMENT_BASIC_ATTRIBUTES_REPORT_ID,
  KUBERNETES_SERVICES_REPORT_ID,
  KUBERNETES_NAMESPACES_REPORT_ID,
  GENERIC_TREE_REPORT_ID,
  GENERIC_TREE_ATTRIBUTES_REPORT_ID,
  CLOUD_FOUNDRY_APPLICATIONS_REPORT_ID,
  CLOUD_FOUNDRY_SERVICE_INSTANCE_REPORT_ID,
  CLOUD_FOUNDRY_ORGANIZATIONS_REPORT_ID,
  CLOUD_FOUNDRY_SPACES_REPORT_ID,
  CLOUD_FOUNDRY_APPLICATIONS_OVERVIEW_REPORT_ID,
  CLOUD_FOUNDRY_SERVICE_INSTANCE_OVERVIEW_REPORT_ID,
  OPERATING_SYSTEM_SHORT_INFO_REPORT_ID,
  APPLICATION_SHORT_INFO_REPORT_ID,
  APPLICATION_INSTANCE_SHORT_INFO_REPORT_ID,
  APPLICATION_INSTALLATION_SHORT_INFO_REPORT_ID,
  VIRTUAL_DATACENTER_SHORT_INFO_REPORT_ID,
  CLUSTER_SHORT_INFO_REPORT_ID,
  NETWORK_INTERFACE_SHORT_INFO_REPORT_ID,
  IP4NETWORK_SHORT_INFO_REPORT_ID,
  IP6NETWORK_SHORT_INFO_REPORT_ID,
  DISK_PARTITION_SHORT_INFO_REPORT_ID,
  LOGICAL_DISK_SHORT_INFO_REPORT_ID,
  MEMORY_MODULE_SHORT_INFO_REPORT_ID,
  MEMORY_MODULE_SLOT_SHORT_INFO_REPORT_ID,
  MODULE_SLOT_SHORT_INFO_REPORT_ID,
  PHYSICAL_DISK_SHORT_INFO_REPORT_ID,
  PHYSICAL_DISK_SLOT_SHORT_INFO_REPORT_ID,
  PROCESSOR_SHORT_INFO_REPORT_ID,
  PROCESS_SHORT_INFO_REPORT_ID,
  PROCESSOR_SLOT_SHORT_INFO_REPORT_ID,
  LISTENING_PORT_SHORT_INFO_REPORT_ID,
  LISTENING_PORT_CONNECTED_DEVICES_INFO_REPORT_ID,
  TPM_MODULE_OVERVIEW_REPORT_ID,
  SYSTEM_BOARD_OVERVIEW_REPORT_ID,
  PHYSICAL_DISKS_OVERVIEW_REPORT_ID,
  VIDEO_CONTROLLER_OVERVIEW_REPORT_ID,
  PROCESSORS_OVERVIEW_REPORT_ID
}


# Java enumeration mapping for com.jdisc.inventory.common.reporting.base.FieldNature
"""A field's nature"""
enum FieldNature {
  NormalField,
  IdField,
  InvisibleIdField,
  KeyField,
  AliasField
}


# Java enumeration mapping for com.jdisc.inventory.common.reporting.base.FilterConditionType
"""A filter condition type defines the match condition of a filter field value to filter field"""
enum FilterConditionType {
  EQUALS,
  CONTAINS,
  NOT_CONTAINS,
  STARTS_WITH,
  LT_EQUAL,
  GT_EQUAL,
  LT,
  GT,
  NOT_EQUAL,
  NOT_SET
}


# Java enumeration mapping for com.jdisc.inventory.common.reporting.base.charting.web.ChartLeftOption
"""The chart left option"""
enum ChartLeftOption {
  left,
  center,
  right
}


# Java enumeration mapping for com.jdisc.inventory.common.reporting.base.charting.web.ChartOrientOption
"""The chart orient option"""
enum ChartOrientOption {
  horizontal,
  vertical
}


# Java enumeration mapping for com.jdisc.inventory.common.reporting.base.charting.web.ChartTopOption
"""The chart top option"""
enum ChartTopOption {
  top,
  middle,
  bottom
}


# Java enumeration mapping for com.jdisc.inventory.common.reporting.base.charting.web.ChartType
"""The chart type enum"""
enum ChartType {
  PIE_CHART,
  SUNBURST_CHART
}


# Java enumeration mapping for com.jdisc.inventory.common.reporting.base.custom.DataElementFilter.Operator
"""The possible operators for data field filters"""
enum Operator {
  None,
  NotSet,
  Empty,
  Greater,
  GreaterEqual,
  Less,
  LessEqual,
  Between,
  Equal,
  NotEqual,
  StringSubstring,
  NotStringSubstring,
  StringSubstringInsensitive,
  NotStringSubstringInsensitive,
  StringRegexMatch,
  NotStringRegexMatch,
  StringWildcardMatch,
  NotStringWildcardMatch,
  ContainedInIP4Network,
  ContainedInIP4Range,
  EqualsInsensitive,
  AgeGreater,
  AgeGreaterEqual,
  AgeLess,
  AgeLessEqual,
  AgeBetween,
  AgeEqual,
  AgeNotEqual,
  In,
  NotIn
}


# Java enumeration mapping for com.jdisc.inventory.common.reporting.troubleshooting.discovery.DiscoveryJobLogsScope
"""Enumeration for the scope of discovery log"""
enum DiscoveryJobLogsScope {
  SCOPE_CONFIG,
  SCOPE_IP4PING,
  SCOPE_DIRECTORY,
  SCOPE_DIRECTORY_SYNC,
  SCOPE_NETWORK_SYNC,
  SCOPE_NETWORK_NEIGHBORHOOD,
  SCOPE_CLOUD,
  SCOPE_PAAS
}


# Java enumeration mapping for com.jdisc.inventory.common.rmiinterface.admin.license.LicenseStatus
"""The license status"""
enum LicenseStatus {
  VALID,
  INVALID,
  INVALID_SIGNATURE,
  MACHINE_DATA_MISMATCH,
  INVALID_DATE,
  BEFORE_START_DATE,
  PAST_END_DATE,
  PRODUCT_NAME_MISMATCH,
  PRODUCT_VERSION_MISMATCH
}


# Java enumeration mapping for com.jdisc.inventory.common.rmiinterface.management.devices.DeviceDeletionType
"""Device deletion type"""
enum DeviceDeletionType {
  NoFilter,
  IPFilter,
  NameFilter,
  IPAndNameFilter
}


# Java enumeration mapping for com.jdisc.inventory.common.rmiinterface.management.devices.PingStatus
"""The ping status"""
enum PingStatus {
  Pending,
  InProgress,
  Finished,
  Failed
}


# Java enumeration mapping for com.jdisc.inventory.common.server.plugin.ApplicationStartMode
"""Application start mode"""
enum ApplicationStartMode {
  Started,
  Suspended,
  Stopped
}


# Java enumeration mapping for com.jdisc.inventory.webui.datastructures.preferences.diagram.IconSet
"""The icon set type."""
enum IconSet {
  Default,
  Cisco
}


# Java enumeration mapping for com.jdisc.inventory.webui.datastructures.preferences.tree.TreeMode
"""The tree mode."""
enum TreeMode {
  FLAT,
  NESTED
}


# Java enumeration mapping for com.jdisc.inventory.webui.datastructures.preferences.uiprefs.DateFormat
"""The date format (medium=Jun 15, 2015, 9:03:01 AM, short=6/15/15, 9:03 AM.)"""
enum DateFormat {
  SHORT,
  MEDIUM
}


# Java enumeration mapping for com.jdisc.inventory.webui.datastructures.preferences.uiprefs.UIDensity
"""The table density in the web user interface."""
enum UIDensity {
  Compact,
  Cozy,
  Comfortable
}


# Java enumeration mapping for com.jdisc.inventory.webui.datastructures.preferences.uiprefs.UITheme
"""The web user interface theme name."""
enum UITheme {
  SYSTEM,
  DARK,
  LIGHT
}


# Java enumeration mapping for com.jdisc.inventory.webui.datastructures.preferences.uiprefs.UserPreferencesNames
"""The keys for the user preferences."""
enum UserPreferencesNames {
  UIPreferences,
  DiagramPreferences
}


# Java enumeration mapping for com.jdisc.measurement.common.enums.MeasureAggregateKind
"""The Measure Aggregate Kinds"""
enum MeasureAggregateKind {
  UNKNOWN,
  DEVICE,
  PROVISION,
  EVENT,
  SNAPSHOT
}


# Java enumeration mapping for com.jdisc.measurement.common.enums.MeasureAggregateType
"""The measure aggregate type."""
enum MeasureAggregateType {
  NONE,
  AUDIT_TRAIL,
  ACTION_LOG,
  ATTRIBUTE,
  DEVICE_INFO,
  INSTRUMENTATION,
  POLLING,
  IMPORT,
  INTERVAL_SCHEDULED,
  CLEANUP,
  RESUME,
  PROVISION_STATUS,
  PROVISION_DUMP,
  PROVISION_INSTRUMENTATION,
  CUSTOM_TEMPLATE,
  TASK_QUALIFIER,
  UPDATE
}


# Java enumeration mapping for com.jdisc.measurement.common.enums.MeasureEventType
"""The Measure Event Types"""
enum MeasureEventType {
  UNKNOWN,
  AUDIT_TRAIL,
  ATTRIBUTE,
  INSTRUMENTATION_STARTED,
  INSTRUMENTATION_FINISHED,
  POLLING_STARTED,
  POLLING_FINISHED,
  IMPORT_STARTED,
  IMPORT_FINISHED,
  POLLING_SCHEDULED,
  CLEANUP_STARTED,
  CLEANUP_FINISHED,
  RESUMPTION_STARTED,
  RESUMPTION_FINISHED,
  PROVISION_STATUS_UPDATED,
  PROVISION_IMPORTED,
  AGING_OUT_FINISHED,
  UPDATE_STARTED,
  UPDATE_FINISHED
}


# Java enumeration mapping for com.jdisc.measurement.common.enums.MeasureProvisionHealthStatus
"""The Measure Provision Health Statuses"""
enum MeasureProvisionHealthStatus {
  OK,
  WARNING,
  FAILED,
  OK_PAUSED,
  OK_STOPPED,
  STOP_PENDING,
  START_PENDING
}


# Java enumeration mapping for com.jdisc.measurement.common.enums.MeasurementJobStatus
"""The measurement job status."""
enum MeasurementJobStatus {
  UNKNOWN,
  RUNNING,
  SCHEDULED
}


# Java enumeration mapping for com.jdisc.measurement.common.enums.SoftwareMeteringFilterField
"""THe software metering filter field"""
enum SoftwareMeteringFilterField {
  SESSION_ID_FIELD_NAME,
  NAME_FIELD_NAME,
  PATH_FIELD_NAME,
  PARAMETERS_FIELD_NAME,
  USERNAME_FIELD_NAME,
  SID_FIELD_NAME,
  PRODUCT_NAME_FIELD_NAME,
  MANUFACTURER_FIELD_NAME,
  VERSION_FIELD_NAME,
  DESCRIPTION_FIELD_NAME,
  FILE_SIZE_FIELD_NAME
}


# Java enumeration mapping for com.jdisc.measurement.common.enums.SoftwareMeteringOperator
"""The software metering operator"""
enum SoftwareMeteringOperator {
  EqualsString,
  ContainsString,
  StartsWith,
  EndsWith,
  ContainsRegEx,
  MatchesRegEx,
  EqualsInteger,
  NotEqualsInteger,
  GreaterThanInteger,
  GreaterThanOrEqualsInteger,
  LessThanInteger,
  LessThanOrEqualsInteger
}


# Java enumeration mapping for com.jdisc.measurement.common.enums.SoftwareMeteringTemplateType
"""The software metering template type"""
enum SoftwareMeteringTemplateType {
  Builtin,
  Custom
}


# Java enumeration mapping for com.jdisc.webui.server.JwtAudienceType
"""Type of JWT to generate. API to be used for scripts, and UI for the browser client with WebSocket keep-alive feature"""
enum JwtAudienceType {
  API,
  UI,
  SECURED
}


# Java enumeration mapping for com.jdisc.webui.server.graphql.api.common.Status
"""A generic status object"""
enum Status {
  Success,
  GeneralError,
  CertificateParsingError,
  PrivateKeyParsingError,
  CertificatePasswordError,
  NoMatchingCertificateFound,
  NoMatchingPrivateKeyFound,
  AmbiguousPrivateKey,
  CertificateChainError,
  WrongPassword
}


# Java enumeration mapping for com.jdisc.webui.server.graphql.api.mutations.discovery.PauseDiscoveryProcessResult
"""The result of the startJob operation"""
enum PauseDiscoveryProcessResult {
  SUCCESS
}


# Java enumeration mapping for com.jdisc.webui.server.graphql.api.mutations.discovery.ResumeDiscoveryProcessResult
"""The result of the startJob operation"""
enum ResumeDiscoveryProcessResult {
  SUCCESS
}


# Java enumeration mapping for com.jdisc.webui.server.graphql.api.mutations.discovery.StartJobResult
"""The result of the startJob operation"""
enum StartJobResult {
  SUCCESS,
  ALREADY_RUNNING
}


# Java enumeration mapping for com.jdisc.webui.server.graphql.api.mutations.discovery.StartJobsResult
"""The result of the startJobs operation"""
enum StartJobsResult {
  SUCCESS,
  ALREADY_RUNNING,
  PARTIAL_SUCCESS
}


# Java enumeration mapping for com.jdisc.webui.server.graphql.api.mutations.discovery.StopJobResult
"""The result of the stopJob operation"""
enum StopJobResult {
  SUCCESS,
  ALREADY_STOPPED
}


# Java enumeration mapping for com.jdisc.webui.server.graphql.api.mutations.discovery.StopJobsResult
"""The result of the stopJobs operation"""
enum StopJobsResult {
  SUCCESS,
  ALREADY_STOPPED,
  PARTIAL_SUCCESS
}


# Java enumeration mapping for com.jdisc.webui.server.graphql.api.mutations.login.LoginResultStatus
"""The result when logging in"""
enum LoginResultStatus {
  SUCCESS,
  BAD_USERNAME_OR_PASSWORD,
  BAD_REFRESH_TOKEN
}


# Java enumeration mapping for com.jdisc.webui.server.graphql.api.mutations.management.devices.credentials.AccountOperationType
"""The device account operation type"""
enum AccountOperationType {
  UPDATE,
  DELETE
}


# Java enumeration mapping for com.jdisc.webui.server.graphql.api.query.help.HelpExportType
"""The possible help export document types"""
enum HelpExportType {
  PDF
}


# Java enumeration mapping for com.jdisc.webui.server.graphql.api.query.reporting.CustomReportVisibility
"""The visibility of the custom report"""
enum CustomReportVisibility {
  USER,
  USER_GROUP,
  GLOBAL
}


# Java enumeration mapping for com.jdisc.webui.server.graphql.api.query.reporting.table.ReportConfigType
"""Report configuration"""
enum ReportConfigType {
  Table,
  Scalar
}


# Java enumeration mapping for com.jdisc.webui.server.graphql.resolver.subscription.update.UpdateTopic
"""Enumeration which defines the GRAPHQL topics on which a client can subscribe to"""
enum UpdateTopic {
  DISCOVERY_STATUS_OVERALL_PROCESS,
  DISCOVERY_STATUS_OVERALL_PROCESS_SUMMARY,
  DISCOVERY_STATUS_DEVICES,
  DISCOVERY_STATUS_DEVICES_DETAILS,
  DISCOVERY_STATUS_PING,
  DISCOVERY_STATUS_NETWORK_NEIGHBORHOOD,
  DISCOVERY_STATUS_NETWORK_SYNC,
  DISCOVERY_STATUS_DIRECTORY,
  DISCOVERY_STATUS_DIRECTORY_SYNC,
  DISCOVERY_STATUS_TOPOLOGY_JOBS,
  DISCOVERY_STATUS_DEVICE_HISTORY,
  DISCOVERY_STATUS_DISCOVERY_JOBS,
  DISCOVERY_STATUS_MEASUREMENT,
  DISCOVERY_STATUS_CLOUD,
  DIALOG_LOCK_STATUS
}


# Java enumeration mapping for com.jdisc.webui.server.models.SessionState
"""The status of the backend and/or frontend session"""
enum SessionState {
  UNKNOWN,
  LIVE,
  RETRY,
  DEAD
}


# Java enumeration mapping for com.jdisc.webui.server.service.help.document.PaperSizeType
"""The paper size when exporting documents as PDF"""
enum PaperSizeType {
  A4,
  Letter
}


# --------------- Built in Scalars ----------------------------------
scalar Date
scalar DateTime
scalar Object
scalar JSON
scalar Long
scalar Void
scalar UUID
scalar IP4Address
scalar IP6Address
scalar IP4SubnetMask
scalar Upload

# Mapping for Java interface 'com.jdisc.common.values.CustomAttributeValueType'
"""An abstract custom attribute value type"""
interface CustomAttributeValueType {
  """The value"""
  value: Object

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.customattributes.collection.CustomCollectionElement'
"""An abstract custom collection element. See also concrete types"""
interface CustomCollectionElement {
  """The enabled flag"""
  enabled: Boolean

  """The old enabled flag"""
  oldEnabled: Boolean

  """The old collection rules"""
  oldRules: [Object]

  """The collection rules"""
  rules: [Object]

  """The collection method"""
  collectionMethod: CustomAttributeCollectionMethod

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.ReportDescription'
"""The result type for different report description types"""
interface ReportDescription {
  """Gets a list of actions for this report"""
  actions: [ReportActionInterface]

  """Gets a list of buttons for this report"""
  buttons: [ButtonEntry]

  """The chart descriptions of supported charts"""
  chartDescriptions: [WebChartDescription]

  """Read-only property to specify report description"""
  className: String

  """Read-only to report classifier by report description"""
  descriptionHierarchy: [String]

  """Returns the fields and their associated actions"""
  fieldActions: [FieldAction]

  """The list of filters"""
  filters: [FieldFilter]

  """Returns the default action that gets executed when you doubleclick on a row in the table"""
  reportDefaultAction: ReportActionInterface

  """Gets the report identifier"""
  reportId: BuiltInReport

  """The supported filter fields. Supported filter fields are configured per report description."""
  supportedFilterFields: [FieldDescription]

  """Gets the title for the report"""
  title: String

  """A flag whether the report supports history data"""
  hasHistory: Boolean

  """A flag whether the report is group aware or not."""
  isGroupAware: Boolean

  """A flag whether the report is splittable"""
  isSplittable: Boolean

  """A flag whether the report supports the starterGets the list of all columns"""
  supportsStarterEdition: Boolean

}

# Mapping for Java interface 'com.jdisc.inventory.common.reporting.base.charting.web.ChartOptions'
"""The chart options"""
interface ChartOptions {
  """The chart filter options"""
  filterOptions: FilterOptions

  """The chart legend options"""
  legendOptions: ChartLegendOptions

  """The chart limit options"""
  limitOptions: LimitOptions

  """The chart title options"""
  titleOptions: ChartTitleOptions

  """When true, the chart supports a legend, otherwise false"""
  supportsLegend: Boolean

}

# Mapping for Java interface 'com.jdisc.inventory.common.reporting.base.charting.web.ChartOptions'
"""The chart options"""
input ChartOptionsInput {
  """The chart filter options"""
  filterOptions: FilterOptionsInput

  """The chart legend options"""
  legendOptions: ChartLegendOptionsInput

  """The chart limit options"""
  limitOptions: LimitOptionsInput

  """The chart title options"""
  titleOptions: ChartTitleOptionsInput

  """When true, the chart supports a legend, otherwise false"""
  supportsLegend: Boolean

}

# Mapping for Java interface 'com.jdisc.inventory.common.reporting.base.charting.web.WebChartDescription'
"""The description of a web chart"""
interface WebChartDescription {
  """Gets the chart options"""
  chartOptions: ChartOptions

  """The chart description id."""
  id: String

  """The chart description title."""
  title: String

  """Gets the chart type"""
  type: ChartType

  """When true, this chart description can be show in overview dashboard as default"""
  isDefault: Boolean

}

# Mapping for Java interface 'com.jdisc.inventory.common.reporting.base.charting.web.WebChartDescription'
"""The description of a web chart"""
input WebChartDescriptionInput {
  """Gets the chart options"""
  chartOptions: ChartOptionsInput

  """The chart description id."""
  id: String

  """The chart description title."""
  title: String

  """Gets the chart type"""
  type: ChartType

  """When true, this chart description can be show in overview dashboard as default"""
  isDefault: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.diagram.DiagramToolbarExtension'
"""A diagram toolbar extension"""
interface DiagramToolbarExtension {
  """The option label"""
  label: String

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.scalar.ScalarReportData'
"""A scalar key/value pair"""
interface ScalarReportData {
  """The number of versions in case the attribute has multiple versions"""
  numberOfVersions: Long

  """The field description for this key/value pair"""
  scalarField: ScalarFieldDescription

  """The last update time of the value"""
  updateTime: DateTime

  """The value for this key/value pair"""
  value: Object

}

# Mapping for Java interface 'com.jdisc.inventory.graphql.BaseCertificateInfo'
"""Basic certificate information for administration of WebUI backend"""
interface BaseCertificateInfo {
  """The certificate issuer"""
  issuer: String

  """The certificate key size"""
  keyLength: Int

  """The certificate signature algorithm"""
  keyType: PublicKeyEncryptionType

  """The certificate key usage(s)"""
  keyUsage: [CertificateKeyUsage]

  """The certificate end date"""
  notAfter: DateTime

  """The certificate start date"""
  notBefore: DateTime

  """The certificate OID"""
  oid: String

  """The certificate serial number"""
  serialNumber: String

  """The certificate subject"""
  subject: String

  """The certificate thumbprint (fingerprint)"""
  thumbprint: String

  """The certificate version (expected value is always 3 since X509 v3 supported only)"""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.DeviceGroupRule'
"""An abstract group rule. See also concrete types"""
interface DeviceGroupRule {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The device group rule type"""
  ruleType: DeviceGroupRuleType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.rules.GroupByStringMatcherBase'
"""The base class for some rules"""
interface GroupByStringMatcherBase {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The device group rule type"""
  ruleType: DeviceGroupRuleType

  """The device group match type"""
  matchType: DeviceGroupMatchType

  """The search string 1"""
  searchString1: String

  """The search string 2"""
  searchString2: String

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.common.ProgressInfo'
"""This object contains information about background processes and their status/progress.
Lengthy operations can return a ProgressInfo object which holds the current state of the operation.
The client can poll with the instanceId the status of such an operation.

Once the operation has failed or finished, the result will stay on the server for a while and will then be deleted."""
interface ProgressInfo {
  """The current action being performed. Can be empty or null."""
  action: String

  """A message that describes the completion status once the task is completed or canceled."""
  completionMessage: String

  """The current value for the operation's progress. Together with the maxValue, you can calculate the percentage."""
  currentValue: Int

  """The error object. The error object type depends on the type of action."""
  errorObject: Object

  """The exception, that occurred during the execution of the monitored operation."""
# use Object for graphql.GraphQLError
  exception: Object

  """Is the task failed?"""
  hasFailed: Boolean!

  """Is the task finished?"""
  isFinished: Boolean!

  """The maximum value for the operation's progress. A max value < 0 indicates, that the maximum value is not known for this operation."""
  maxValue: Int

  """The operationId identifies a specific operation. Use this operationId to poll the current status."""
  operationId: String!

  """The result if there is one."""
  resultObject: Object

  """The current sub-action being performed. Can be empty or null."""
  subaction: String

# use Object for graphql.GraphQLError
}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.administration.download.DownloadLink'
"""An interface to describe generic purpose download link for GraphQL API"""
interface DownloadLink {
  """Generated content ID used to identify downloads content."""
  contentId: UUID

}

# Mapping for Java class 'com.jdisc.common.net.IPAddress'
"""An IP address"""
type IPAddress {
  """The string representation of the IP address"""
  toString: String

}

# Mapping for Java class 'com.jdisc.common.net.ip4.IP4Range'
"""The IP4 range"""
type IP4Range {
  """The IP4 first address"""
  from: IP4Address

  """The IP4 last address"""
  to: IP4Address

}

# Mapping for Java class 'com.jdisc.common.net.ip4.IP4Range'
"""The IP4 range"""
input IP4RangeInput {
  """The IP4 first address"""
  from: IP4Address

  """The IP4 last address"""
  to: IP4Address

}

# Mapping for Java class 'com.jdisc.common.time.Duration'
"""The duration values stores the duration in milliseconds"""
type Duration {
  """The duration in milliseconds"""
  duration: Long!

}

# Mapping for Java class 'com.jdisc.common.time.ShortFormattedDuration'
"""A duration object which provides a formatter with a short toString() method in Java"""
type ShortFormattedDuration {
  """The duration in milliseconds"""
  duration: Long!

}

# Mapping for Java class 'com.jdisc.common.values.DocumentValue'
"""The document value type"""
type DocumentValue implements CustomAttributeValueType {
  """The value"""
  value: Object

  """The document id"""
  id: Long

  """The document name"""
  name: String

}

# Mapping for Java class 'com.jdisc.common.values.DocumentValue'
"""The document value type"""
input DocumentValueInput {
  """The document id"""
  id: Long

  """The document name"""
  name: String

}

# Mapping for Java class 'com.jdisc.common.values.DoubleValue'
"""The double type"""
type DoubleValue implements CustomAttributeValueType {
  """The value"""
  value: Object

}

# Mapping for Java class 'com.jdisc.common.values.DoubleValue'
"""The double type"""
input DoubleValueInput {
  """The wrapper's value"""
  value: Float

}

# Mapping for Java class 'com.jdisc.common.values.EnumerationValue'
"""The enumeration type"""
type EnumerationValue implements CustomAttributeValueType {
  """The value"""
  value: Object

}

# Mapping for Java class 'com.jdisc.common.values.EnumerationValue'
"""The enumeration type"""
input EnumerationValueInput {
  """The wrapper's value"""
  value: Object

}

# Mapping for Java class 'com.jdisc.common.values.IntegerValue'
"""The integer type"""
type IntegerValue implements CustomAttributeValueType {
  """The value"""
  value: Object

}

# Mapping for Java class 'com.jdisc.common.values.IntegerValue'
"""The integer type"""
input IntegerValueInput {
  """The wrapper's value"""
  value: Int

}

# Mapping for Java class 'com.jdisc.common.values.StringValue'
"""The string type"""
type StringValue implements CustomAttributeValueType {
  """The value"""
  value: Object

}

# Mapping for Java class 'com.jdisc.common.values.StringValue'
"""The string type"""
input StringValueInput {
  """The wrapper's value"""
  value: String

}

# Mapping for Java class 'com.jdisc.common.values.datetime.DateOnlyValue'
"""The date only type"""
type DateOnlyValue implements CustomAttributeValueType {
  """The value"""
  value: Object

}

# Mapping for Java class 'com.jdisc.common.values.datetime.DateOnlyValue'
"""The date only type"""
input DateOnlyValueInput {
  """The date value"""
  value: Object

}

# Mapping for Java class 'com.jdisc.common.values.datetime.TimeOnlyValue'
"""The time only type"""
type TimeOnlyValue implements CustomAttributeValueType {
  """The value"""
  value: Object

}

# Mapping for Java class 'com.jdisc.common.values.datetime.TimeOnlyValue'
"""The time only type"""
input TimeOnlyValueInput {
  """The time only value"""
  value: Object

}

# Mapping for Java class 'com.jdisc.common.values.numbers.CurrencyValue'
"""The currency type"""
type CurrencyValue implements CustomAttributeValueType {
  """The value"""
  value: Object

  """The locale string"""
  localeStr: String

}

# Mapping for Java class 'com.jdisc.common.values.numbers.CurrencyValue'
"""The currency type"""
input CurrencyValueInput {
  """The locale string"""
  localeStr: String

  """The value"""
  value: Long

}

# Mapping for Java class 'com.jdisc.graphql.type.AbstractGraphQLNode'
"""An abstract GraphQL node"""
type AbstractGraphQLNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.graphql.type.GraphQLObject'
"""GraphQL Object type for tree representation"""
type GraphQLObject {
  """Name of the node"""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.accounts.login.SshPublicPrivateKeyData'
"""The SshPublicPrivateKeyData type"""
type SshPublicPrivateKeyData {
  """The SSH key description"""
  description: String

  """The SSH key id"""
  id: Long

  """The SSH key length in bits"""
  lengthInBits: Int

  """The SSH key name"""
  name: String

  """The SSH key passphrase"""
  passphrase: String

  """The SSH key private key"""
  privateKey: String

  """The SSH key public key"""
  publicKey: String

  """The SSH key type"""
  sshKeyType: SshKeyType

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.accounts.login.SshPublicPrivateKeyData'
"""The SshPublicPrivateKeyData type"""
input SshPublicPrivateKeyDataInput {
  """The SSH key description"""
  description: String

  """The SSH key id"""
  id: Long

  """The SSH key length in bits"""
  lengthInBits: Int

  """The SSH key name"""
  name: String

  """The SSH key passphrase"""
  passphrase: String

  """The SSH key private key"""
  privateKey: String

  """The SSH key public key"""
  publicKey: String

  """The SSH key type"""
  sshKeyType: SshKeyType

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.customattributes.CustomAttributeInfo'
"""The custom attribute info"""
type CustomAttributeInfo {
  """The custom attribute type"""
  attributeType: AttributeType

  """The custom attribute built in flag"""
  builtIn: Boolean!

  """The cached path"""
  cachedPath: String

  """The custom attributes"""
# use Object for unknown type
  children: [Object]

  """The collection elements"""
  collectionElements: [Object]

  """A helper id set by Web UI for new attributes"""
  correlationId: String

  """The custom attribute description"""
  description: String

  """The custom attribute enabled flag"""
  enabled: Boolean

  """The custom attribute enum values"""
  enumValues: [String]

  """The custom attribute id"""
  id: Long

  """The custom attribute keep history for hours value"""
  keepHistoryForHours: Int

  """The custom attribute name"""
  name: String

  """The custom attribute order number"""
  orderNumber: Int

  """The custom attribute parent"""
  parent: CustomAttributeInfo

  """The path"""
  path: String

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.customattributes.CustomAttributeInfo'
"""The custom attribute info"""
input CustomAttributeInfoInput {
  """The custom attribute type"""
  attributeType: AttributeType

  """The custom attribute built in flag"""
  builtIn: Boolean!

  """The cached path"""
  cachedPath: String

  """The custom attributes"""
  children: [CustomAttributeInfoInput]

  """The collection elements"""
  collectionElements: [Object]

  """A helper id set by Web UI for new attributes"""
  correlationId: String

  """The custom attribute description"""
  description: String

  """The custom attribute enabled flag"""
  enabled: Boolean

  """The custom attribute enum values"""
  enumValues: [String]

  """The custom attribute id"""
  id: Long

  """The custom attribute keep history for hours value"""
  keepHistoryForHours: Int

  """The custom attribute name"""
  name: String

  """The custom attribute order number"""
  orderNumber: Int

  """The custom attribute parent"""
  parent: CustomAttributeInfoInput

  """The path"""
  path: String

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.customattributes.CustomAttributeReference'
"""Custom attribute reference"""
type CustomAttributeReference {
  """The unique database id for the custom attribute"""
  id: Long

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.customattributes.CustomAttributeReference'
"""Custom attribute reference"""
input CustomAttributeReferenceInput {
  """The unique database id for the custom attribute"""
  id: Long

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.customattributes.CustomAttributeReferenceValue'
"""Custom attribute reference-value pair"""
type CustomAttributeReferenceValue {
  """The custom attribute isChanged flag"""
  changed: Boolean!

  """The custom attribute reference"""
  ref: CustomAttributeReference

  """The custom attribute type"""
  type: AttributeType

  """The custom attribute value"""
  valueType: Object

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.customattributes.CustomAttributeReferenceValue'
"""Custom attribute reference-value pair"""
input CustomAttributeReferenceValueInput {
  """The custom attribute isChanged flag"""
  changed: Boolean!

  """The custom attribute reference"""
  ref: CustomAttributeReferenceInput

  """The custom attribute type"""
  type: AttributeType

  """The custom attribute value"""
  valueType: Object

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.customattributes.collection.executable.ExecutableCollectionElement'
"""The executable collection element"""
type ExecutableCollectionElement implements CustomCollectionElement {
  """The enabled flag"""
  enabled: Boolean

  """The old enabled flag"""
  oldEnabled: Boolean

  """The old collection rules"""
  oldRules: [Object]

  """The collection rules"""
  rules: [Object]

  """The collection method"""
  collectionMethod: CustomAttributeCollectionMethod

  """The data collection info"""
  dataCollection: DataCollectionInfo

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.customattributes.collection.executable.ExecutableCollectionElement'
"""The executable collection element"""
input ExecutableCollectionElementInput {
  """The enabled flag"""
  enabled: Boolean

  """The old enabled flag"""
  oldEnabled: Boolean

  """The old collection rules"""
  oldRules: [Object]

  """The collection rules"""
  rules: [Object]

  """The collection method"""
  collectionMethod: CustomAttributeCollectionMethod

  """The data collection info"""
  dataCollection: DataCollectionInfoInput

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.customattributes.collection.registry.RegistryCollectionElement'
"""The Windows registry collection element defines Windows registry keys to collect"""
type RegistryCollectionElement implements CustomCollectionElement {
  """The enabled flag"""
  enabled: Boolean

  """The old enabled flag"""
  oldEnabled: Boolean

  """The old collection rules"""
  oldRules: [Object]

  """The collection rules"""
  rules: [Object]

  """The collection method"""
  collectionMethod: CustomAttributeCollectionMethod

  """The registry key"""
  key: RegistryKey

  """The old registry key"""
  oldKey: RegistryKey

  """The old registry path name"""
  oldPathName: String

  """The old registry value name"""
  oldValueName: String

  """The registry path name"""
  pathName: String

  """The registry value name"""
  valueName: String

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.customattributes.collection.registry.RegistryCollectionElement'
"""The Windows registry collection element defines Windows registry keys to collect"""
input RegistryCollectionElementInput {
  """The enabled flag"""
  enabled: Boolean

  """The registry key"""
  key: RegistryKey

  """The old enabled flag"""
  oldEnabled: Boolean

  """The old registry key"""
  oldKey: RegistryKey

  """The old registry path name"""
  oldPathName: String

  """The old collection rules"""
  oldRules: [Object]

  """The old registry value name"""
  oldValueName: String

  """The registry path name"""
  pathName: String

  """The collection rules"""
  rules: [Object]

  """The registry value name"""
  valueName: String

  """The collection method"""
  collectionMethod: CustomAttributeCollectionMethod

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.customattributes.collection.snmp.SnmpCollectionElement'
"""The SNMP collection element"""
type SnmpCollectionElement implements CustomCollectionElement {
  """The enabled flag"""
  enabled: Boolean

  """The old enabled flag"""
  oldEnabled: Boolean

  """The old collection rules"""
  oldRules: [Object]

  """The collection rules"""
  rules: [Object]

  """The collection method"""
  collectionMethod: CustomAttributeCollectionMethod

  """The SNMP oid description list"""
  oids: [SnmpOidDescription]

  """The old SNMP oid description list"""
  oldOids: [SnmpOidDescription]

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.customattributes.collection.wmi.WmiCollectionElement'
"""The WMI query collection element definition"""
type WmiCollectionElement implements CustomCollectionElement {
  """The enabled flag"""
  enabled: Boolean

  """The old enabled flag"""
  oldEnabled: Boolean

  """The old collection rules"""
  oldRules: [Object]

  """The collection rules"""
  rules: [Object]

  """The collection method"""
  collectionMethod: CustomAttributeCollectionMethod

  """The authentication level:

AuthenticationLevelDefault = 0;
AuthenticationLevelNone = 1;
AuthenticationLevelConnect = 2;
AuthenticationLevelCall = 3;
AuthenticationLevelPkt = 4;
AuthenticationLevelPktIntegrity = 5;
AuthenticationLevelPktPrivacy = 6;
"""
  authLevel: Int!

  """The WMI namespace name (without a leading \)"""
  namespace: String

  """The old WMI namespace name (without a leading \)"""
  oldNamespace: String

  """The old WMI query"""
  oldQuery: String

  """The WMI query"""
  query: String

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.customattributes.collection.wmi.WmiCollectionElement'
"""The WMI query collection element definition"""
input WmiCollectionElementInput {
  """The authentication level:

AuthenticationLevelDefault = 0;
AuthenticationLevelNone = 1;
AuthenticationLevelConnect = 2;
AuthenticationLevelCall = 3;
AuthenticationLevelPkt = 4;
AuthenticationLevelPktIntegrity = 5;
AuthenticationLevelPktPrivacy = 6;
"""
  authLevel: Int!

  """The enabled flag"""
  enabled: Boolean

  """The WMI namespace name (without a leading \)"""
  namespace: String

  """The old enabled flag"""
  oldEnabled: Boolean

  """The old WMI namespace name (without a leading \)"""
  oldNamespace: String

  """The old WMI query"""
  oldQuery: String

  """The old collection rules"""
  oldRules: [Object]

  """The WMI query"""
  query: String

  """The collection rules"""
  rules: [Object]

  """The collection method"""
  collectionMethod: CustomAttributeCollectionMethod

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.discovery.queue.DeviceQueueItem'
"""This object represents an entry in the IP address queue."""
type DeviceQueueItem {
  """The unique database id within the device queue"""
  id: Long

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.discovery.queue.DeviceQueueItem'
"""This object represents an entry in the IP address queue."""
input DeviceQueueItemInput {
  """The unique database id within the device queue"""
  id: Long

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.documents.DocumentInfo'
"""The document info type"""
type DocumentInfo {
  """The document children"""
  children: [DocumentInfo]

  """The document description"""
  description: String

  """The document file name"""
  filename: String

  """The document file size"""
  filesize: Long

  """The document id"""
  id: Long

  """The document modification time"""
  modificationTime: DateTime

  """The document name"""
  name: String

  """The document old description"""
  oldDescription: String

  """The document old file name"""
  oldFilename: String

  """The document old file size"""
  oldFilesize: Long

  """The document modification old time"""
  oldModificationTime: DateTime

  """The document old name"""
  oldName: String

  """The document type"""
  type: DocumentType

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.documents.DocumentInfo'
"""The document info type"""
input DocumentInfoInput {
  """The document children"""
  children: [DocumentInfoInput]

  """The document description"""
  description: String

  """The document file name"""
  filename: String

  """The document file size"""
  filesize: Long

  """The document id"""
  id: Long

  """The document modification time"""
  modificationTime: DateTime

  """The document name"""
  name: String

  """The document old description"""
  oldDescription: String

  """The document old file name"""
  oldFilename: String

  """The document old file size"""
  oldFilesize: Long

  """The document modification old time"""
  oldModificationTime: DateTime

  """The document old name"""
  oldName: String

  """The document type"""
  type: DocumentType

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.documents.DocumentInfoTree'
"""The document info tree type"""
type DocumentInfoTree {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.documents.DocumentInfoTree'
"""The document info tree type"""
input DocumentInfoTreeInput {
  """Children of a tree node"""
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.documents.DocumentReference'
"""Document reference input for type safety"""
input DocumentReference {
  """The unique database id for the document"""
  id: Long

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.passwordmanagment.PasswordManagementRootNode'
"""The password management root node"""
type PasswordManagementRootNode {
  """The password managers root list"""
# use Object for com.jdisc.inventory.common.datastructures.passwordmanagment.PasswordManagerRoot
# use Object for com.jdisc.inventory.common.datastructures.passwordmanagment.PasswordManagerRoot
  children: [Object]

  """The root node label"""
  label: String

# use Object for com.jdisc.inventory.common.datastructures.passwordmanagment.PasswordManagerRoot
# use Object for com.jdisc.inventory.common.datastructures.passwordmanagment.PasswordManagerRoot
}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.passwordmanagment.PasswordManagementStatus'
"""The password management status wrapper"""
type PasswordManagementStatus {
  """The password management status error code"""
  passwordManagementErrorCode: String

  """The password management error message"""
  passwordManagementMessage: String

  """The password management status"""
  status: DiscoveryProtocolStatusEnum

  """The password management status exception"""
  exceptionString: String

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.passwordmanagment.PasswordManagementStatus'
"""The password management status wrapper"""
input PasswordManagementStatusInput {
  """The password management status error code"""
  passwordManagementErrorCode: String

  """The password management error message"""
  passwordManagementMessage: String

  """The password management status"""
  status: DiscoveryProtocolStatusEnum

  """The password management status exception"""
  exceptionString: String

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.passwordmanagment.WebUIPasswordManagementRootNode'
"""The password management root node"""
type WebUIPasswordManagementRootNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.reports.CsvExportConfig'
"""The CSV export configuration"""
type CsvExportConfig {
  """The csv encoding. Default is UTF8."""
  encoding: TextFileEncoding

  """The line ending. Default is DOS line ending."""
  lineEnding: String

  """The null value string. Default is '<null>'."""
  nullValue: String

  """The separator"""
  separator: String

  """The line ending. Default is DOS line ending."""
  unixLineEnding: Boolean

  """When true, date and timestamp values are rendered in a human-readable format. Default is true."""
  useHumanReadableDateAndDurationFormat: Boolean

  """When true, size and speed values are rendered in a human-readable format. Date and duration are configured separately with a different property. Default is true."""
  useHumanReadableFormat: Boolean

  """When true, rows that contain values in multiple lines, are exported are separate rows. Default is false."""
  useMultipleLines: Boolean

  """When true, header is exported too."""
  withHeader: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.reports.CsvExportConfig'
"""The CSV export configuration"""
input CsvExportConfigInput {
  """The csv encoding. Default is UTF8."""
  encoding: TextFileEncoding

  """The line ending. Default is DOS line ending."""
  lineEnding: String

  """The null value string. Default is '<null>'."""
  nullValue: String

  """The separator"""
  separator: String

  """The line ending. Default is DOS line ending."""
  unixLineEnding: Boolean

  """When true, date and timestamp values are rendered in a human-readable format. Default is true."""
  useHumanReadableDateAndDurationFormat: Boolean

  """When true, size and speed values are rendered in a human-readable format. Date and duration are configured separately with a different property. Default is true."""
  useHumanReadableFormat: Boolean

  """When true, rows that contain values in multiple lines, are exported are separate rows. Default is false."""
  useMultipleLines: Boolean

  """When true, header is exported too."""
  withHeader: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.reports.ExcelExportConfig'
"""The Excel export configuration"""
type ExcelExportConfig {
  """The null value string. Default is '<null>'."""
  nullValue: String

  """When true, date and timestamp values are rendered in a human-readable format. Default is true."""
  useHumanReadableDateAndDurationFormat: Boolean

  """When true, size and speed values are rendered in a human-readable format. Date and duration are configured separately with a different property. Default is true."""
  useHumanReadableFormat: Boolean

  """When true, rows that contain values in multiple lines, are exported are separate rows. Default is false."""
  useMultipleLines: Boolean

  """When true, header is exported too."""
  withHeader: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.reports.ExcelExportConfig'
"""The Excel export configuration"""
input ExcelExportConfigInput {
  """The null value string. Default is '<null>'."""
  nullValue: String

  """When true, date and timestamp values are rendered in a human-readable format. Default is true."""
  useHumanReadableDateAndDurationFormat: Boolean

  """When true, size and speed values are rendered in a human-readable format. Date and duration are configured separately with a different property. Default is true."""
  useHumanReadableFormat: Boolean

  """When true, rows that contain values in multiple lines, are exported are separate rows. Default is false."""
  useMultipleLines: Boolean

  """When true, header is exported too."""
  withHeader: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.reports.TableReportConfig'
"""The table report configuration (for legacy code)"""
type TableReportConfig {
  """The case-sensitive flag"""
  caseSensitive: Boolean

  """The filter value"""
  filterValue: String

  """Is the filter inverted"""
  invertedFilter: Boolean

  """The sort column"""
  sortColumn: FieldDescription

  """The sort order"""
  sortOrder: SortOrder

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.reports.TableReportConfig'
"""The table report configuration (for legacy code)"""
input TableReportConfigInput {
  """The case-sensitive flag"""
  caseSensitive: Boolean

  """The filter value"""
  filterValue: String

  """Is the filter inverted"""
  invertedFilter: Boolean

  """The sort column"""
  sortColumn: FieldDescriptionInput

  """The sort order"""
  sortOrder: SortOrder

}

# Mapping for Java class 'com.jdisc.inventory.common.datastructures.snmp.SnmpOidDescription'
"""The SNMP oid description"""
type SnmpOidDescription {
  """The description"""
  descr: String

  """The oid"""
  oid: String

}

# Mapping for Java class 'com.jdisc.inventory.common.devicedata.customattr.ArrayAttribute'
"""An array of values together with the column headers"""
type ArrayAttribute {
  """the list of column headers"""
  columnHeaders: [String]

  """Gets the row count within this table"""
  rowCount: Int!

  """Returns the list of rows"""
  rows: [ArrayAttributeRow]

}

# Mapping for Java class 'com.jdisc.inventory.common.devicedata.customattr.ArrayAttribute'
"""An array of values together with the column headers"""
input ArrayAttributeInput {
  """the list of column headers"""
  columnHeaders: [String]

}

# Mapping for Java class 'com.jdisc.inventory.common.devicedata.customattr.ArrayAttributeRow'
"""a row with values"""
type ArrayAttributeRow {
  """Gets the list of values within this row"""
  values: [Object]

}

# Mapping for Java class 'com.jdisc.inventory.common.devicedata.customattr.ArrayAttributeRow'
"""a row with values"""
input ArrayAttributeRowInput {
  """Gets the list of values within this row"""
  values: [Object]

}

# Mapping for Java class 'com.jdisc.inventory.common.devicedata.implementations.InMemorySoftwareData'
"""The in memory software data"""
type InMemorySoftwareData {
  """The software application source"""
  applicationSource: ApplicationSource

  """The software description"""
  description: String

  """The software id"""
  id: Long

  """The software installation path"""
  installationPath: String

  """The software click to run flag"""
  isClickToRun: Boolean

  """The software manufacturer"""
  manufacturer: String

  """The software name"""
  name: String

  """The software version"""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.common.devicedata.implementations.InMemoryWlan'
"""A discovered Wlan entry"""
type InMemoryWlan {
  """The Wlan entry id"""
  id: Long

  """The Wlan entry Ssid"""
  ssid: String

}

# Mapping for Java class 'com.jdisc.inventory.common.devicedata.networking.WlanWhitelistPatternEntry'
"""A WLAN whitelist pattern entry"""
type WlanWhitelistPatternEntry {
  """The pattern"""
  pattern: String

  """The pattern type"""
  patternType: WlanWhitelistPatternType

}

# Mapping for Java class 'com.jdisc.inventory.common.devicedata.networking.WlanWhitelistPatternEntry'
"""A WLAN whitelist pattern entry"""
input WlanWhitelistPatternEntryInput {
  """The pattern"""
  pattern: String

  """The pattern type"""
  patternType: WlanWhitelistPatternType

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.ContextMenuItem'
"""A context menu item"""
type ContextMenuItem {
  """The context menu group in which the item is assigned to"""
  group: ContextMenuGroup

  """The context menu item icon key"""
  iconKey: IconKey

  """The context menu item key"""
  key: ContextMenuItemKey

  """The context menu parent group in which the item is assigned to"""
  parentGroup: ContextMenuGroup

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.ContextMenuItem'
"""A context menu item"""
input ContextMenuItemInput {
  """The context menu group in which the item is assigned to"""
  group: ContextMenuGroup

  """The context menu item icon key"""
  iconKey: IconKey

  """The context menu item key"""
  key: ContextMenuItemKey

  """The context menu parent group in which the item is assigned to"""
  parentGroup: ContextMenuGroup

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.DiagramAction'
"""A diagram (entity) action"""
type DiagramAction {
  """The diagram entity action name"""
  actionName: ActionName

  """The diagram entity action context menu group"""
  contextMenuItem: ContextMenuItem

  """A flag to indicate if a diagram entity action is the default one"""
  isDefault: Boolean

  """The action owning report ref"""
  reportRef: IReportReference

  """The action required add on if any"""
  requiredAddOn: AddOnProduct

  """The diagram entity action name"""
  requiredRights: [InventoryUserRight]

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.DiagramEntityFilter'
"""A diagram entity filter"""
type DiagramEntityFilter {
  """Flag to indicate if the filter is to be applied"""
  enabled: Boolean

  """The filter field id"""
  fieldId: String

  """Flag to indicate if the filter application will ignore case"""
  ignoreCase: Boolean

  """The filter operator"""
  operator: Operator

  """The filter values"""
  values: [Object]

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.DiagramEntityFilter'
"""A diagram entity filter"""
input DiagramEntityFilterInput {
  """Flag to indicate if the filter is to be applied"""
  enabled: Boolean

  """The filter field id"""
  fieldId: String

  """Flag to indicate if the filter application will ignore case"""
  ignoreCase: Boolean

  """The filter operator"""
  operator: Operator

  """The filter values"""
  values: [Object]

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.DiagramEntityMetamodel'
"""Get the diagram entity metamodel"""
type DiagramEntityMetamodel {
  """The diagram entity actions"""
  actions: [DiagramAction]

  """The diagram entity id. Uniquely identifies an entity"""
  entityId: DiagramEntityId

  """The diagram entity filter options"""
  filterOptions: [DiagramFilterOption]

  """The diagram entity label options"""
  labelOptions: [DiagramLabelOption]

  """The diagram entity relations"""
  relations: [DiagramEntityRelation]

  """The diagram entity templates"""
  templates: [DiagramTemplate]

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.DiagramEntityRelation'
"""A diagram entity relation"""
type DiagramEntityRelation {
  """A flag to show if the relation accepts max depth application or not"""
  acceptsDepth: Boolean

  """A flag to show if the relation accepts filter to the corresponding diagram entities or not"""
  acceptsFilter: Boolean

  """The applied filters"""
  appliedFilters: [DiagramEntityFilter]

  """The template id for which the relation is asked, used for input purposes"""
  askedByTemplateId: DiagramTemplateId

  """The diagram context menu item"""
  contextMenuItem: ContextMenuItem

  """The entity id's to exclude from applying this relation."""
  excludeParentEntityIds: [Object]

  """The relation id"""
  id: DiagramRelationId

  """The relation max hops"""
  maxDepth: Int

  """The related diagram Entity id"""
  relatedDiagramEntityId: DiagramEntityId

  """The child relations"""
  relations: [DiagramEntityRelation]

  """The required addOns for the relation"""
  requiredAddOns: [AddOnProduct]

  """The entity id for which this relation will apply. If empty, it applies to all entities except the ones defined in excludeParentEntityId"""
  targetParentEntityId: Object

  """The relation type"""
  type: JDiagramRelationType

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.DiagramEntityRelation'
"""A diagram entity relation"""
input DiagramEntityRelationInput {
  """A flag to show if the relation accepts max depth application or not"""
  acceptsDepth: Boolean

  """A flag to show if the relation accepts filter to the corresponding diagram entities or not"""
  acceptsFilter: Boolean

  """The applied filters"""
  appliedFilters: [DiagramEntityFilterInput]

  """The template id for which the relation is asked, used for input purposes"""
  askedByTemplateId: DiagramTemplateId

  """The diagram context menu item"""
  contextMenuItem: ContextMenuItemInput

  """The entity id's to exclude from applying this relation."""
  excludeParentEntityIds: [Object]

  """The relation id"""
  id: DiagramRelationId

  """The relation max hops"""
  maxDepth: Int

  """The related diagram Entity id"""
  relatedDiagramEntityId: DiagramEntityId

  """The child relations"""
  relations: [DiagramEntityRelationInput]

  """The required addOns for the relation"""
  requiredAddOns: [AddOnProduct]

  """The entity id for which this relation will apply. If empty, it applies to all entities except the ones defined in excludeParentEntityId"""
  targetParentEntityId: Object

  """The relation type"""
  type: JDiagramRelationType

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.DiagramFilterOption'
"""A diagram entity filter option"""
type DiagramFilterOption {
  """The filter option filter field"""
  filterField: FieldDescription

  """The filter option name"""
  name: String

  """The filter operator"""
  operator: Operator

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.DiagramFilterOption'
"""A diagram entity filter option"""
input DiagramFilterOptionInput {
  """The filter option filter field"""
  filterField: FieldDescriptionInput

  """The filter option name"""
  name: String

  """The filter operator"""
  operator: Operator

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.DiagramLabelOption'
"""A diagram entity label option"""
type DiagramLabelOption {
  """The label option description"""
  description: DiagramLabelDescription

  """The label option display name"""
  displayName: String

  """The label option default flag"""
  isDefault: Boolean!

  """The label option name"""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.DiagramLabelOption'
"""A diagram entity label option"""
input DiagramLabelOptionInput {
  """The label option description"""
  description: DiagramLabelDescription

  """The label option display name"""
  displayName: String

  """The label option default flag"""
  isDefault: Boolean!

  """The label option name"""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.DiagramLabelPreferenceKeyNode'
"""The accounts tree of a device"""
type DiagramLabelPreferenceKeyNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.DiagramTemplate'
"""A diagram (entity) template"""
type DiagramTemplate {
  """A flag to show if the template accepts max depth editing or not"""
  acceptsDepth: Boolean

  """The diagram entity template context menu item properties"""
  contextMenuItem: ContextMenuItem

  """The diagram entity template id"""
  id: DiagramTemplateId

  """The diagram entity template relations"""
  relations: [DiagramEntityRelation]

  """The diagram entity template required Add-Ons"""
  requiredAddOns: [AddOnProduct]

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.model.JDiagram'
"""A diagram"""
type JDiagram {
  """The diagram preferences"""
  diagramPreferences: DiagramPreferences

  """The diagram edges"""
  edges: [JDiagramEdge]

  """The diagram id"""
  id: Long

  """The diagram layout"""
  layout: JDiagramLayout

  """The diagram nodes"""
  nodes: [JDiagramNode]

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.model.JDiagramAggregationNodeProperties'
"""A diagram node layout description"""
type JDiagramAggregationNodeProperties {
  """The aggregation id"""
  aggregationId: String

  """The aggregation node initial height"""
  initHeight: Float

  """The aggregation node initial width"""
  initWidth: Float

  """The aggregation node initial X coordinate"""
  initX: Float

  """The aggregation node initial Y coordinate"""
  initY: Float

  """The aggregation node label"""
  label: String

  """The aggregated nodes ids"""
  nodeIds: [String]

  """The start node aggregated relation id if any"""
  relationId: DiagramRelationId

  """The start node id if any"""
  startNodeId: String

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.model.JDiagramAggregationNodeProperties'
"""A diagram node layout description"""
input JDiagramAggregationNodePropertiesInput {
  """The aggregation id"""
  aggregationId: String

  """The aggregation node initial height"""
  initHeight: Float

  """The aggregation node initial width"""
  initWidth: Float

  """The aggregation node initial X coordinate"""
  initX: Float

  """The aggregation node initial Y coordinate"""
  initY: Float

  """The aggregation node label"""
  label: String

  """The aggregated nodes ids"""
  nodeIds: [String]

  """The start node aggregated relation id if any"""
  relationId: DiagramRelationId

  """The start node id if any"""
  startNodeId: String

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.model.JDiagramDescription'
"""A diagram description"""
type JDiagramDescription {
  """The diagram entity id"""
  diagramEntityId: DiagramEntityId

  """The entity id"""
  entityId: Object

  """The node relations to another entity"""
  relations: [DiagramEntityRelation]

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.model.JDiagramDescription'
"""A diagram description"""
input JDiagramDescriptionInput {
  """The diagram entity id"""
  diagramEntityId: DiagramEntityId

  """The entity id"""
  entityId: Object

  """The node relations to another entity"""
  relations: [DiagramEntityRelationInput]

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.model.JDiagramEdge'
"""An edge description"""
type JDiagramEdge {
  """The edge data"""
  data: JDiagramEdgeData

  """The edge direction"""
  direction: JDiagramEdgeDirection

  """The relation id by which the edge was added"""
  edgeRelations: [JDiagramEdgeRelation]

  """The edge label description"""
  labelDescription: JDiagramLabelDescription

  """The edge selectable flag"""
  selectable: Boolean!

  """The edge source node id"""
  sourceNodeId: String

  """The edge target node id"""
  targetNodeId: String

  """The edge type"""
  type: JDiagramEdgeType

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.model.JDiagramEdgeData'
"""A diagram edge data type"""
type JDiagramEdgeData {
  """The source DiagramEntityId"""
  diagramEntityId: DiagramEntityId

  """The source EntityId"""
  entityId: Object

  """The builtInReport to show info related to the edge"""
  infoReportId: BuiltInReport

  """The target DiagramEntityId"""
  relationDiagramEntityId: DiagramEntityId

  """The target EntityId"""
  relationEntityId: Object

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.model.JDiagramEdgeData'
"""A diagram edge data type"""
input JDiagramEdgeDataInput {
  """The source DiagramEntityId"""
  diagramEntityId: DiagramEntityId

  """The source EntityId"""
  entityId: Object

  """The builtInReport to show info related to the edge"""
  infoReportId: BuiltInReport

  """The target DiagramEntityId"""
  relationDiagramEntityId: DiagramEntityId

  """The target EntityId"""
  relationEntityId: Object

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.model.JDiagramEdgeRelation'
"""An edge corresponding relation"""
type JDiagramEdgeRelation {
  """Flag to indicate if the relation was calculated from target to source node"""
  isReverse: Boolean

  """The relation id by which the edge was added"""
  relationId: DiagramRelationId

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.model.JDiagramInstance'
"""A diagram instance"""
type JDiagramInstance {
  """The diagram instance built-in flag"""
  builtIn: Boolean!

  """The diagram instance description"""
  description: String

  """The diagram instance aggregation nodes properties"""
  diagramAggregationNodeProperties: [JDiagramAggregationNodeProperties]

  """The diagram instance description"""
  diagramDescription: JDiagramDescription

  """The diagram instance nodes properties"""
  diagramNodeProperties: [JDiagramNodeProperties]

  """The diagram instance preferences"""
  diagramPreferences: DiagramPreferences

  """The diagram instance folder flag"""
  folder: Boolean!

  """The diagram instance public visibility flag"""
  global: Boolean!

  """The diagram instance id"""
  id: Long

  """The diagram instance layout"""
  layout: JDiagramLayout

  """The diagram instance name"""
  name: String

  """The diagram parent instance id"""
  parentId: Long

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.model.JDiagramInstance'
"""A diagram instance"""
input JDiagramInstanceInput {
  """The diagram instance built-in flag"""
  builtIn: Boolean!

  """The diagram instance description"""
  description: String

  """The diagram instance aggregation nodes properties"""
  diagramAggregationNodeProperties: [JDiagramAggregationNodePropertiesInput]

  """The diagram instance description"""
  diagramDescription: JDiagramDescriptionInput

  """The diagram instance nodes properties"""
  diagramNodeProperties: [JDiagramNodePropertiesInput]

  """The diagram instance preferences"""
  diagramPreferences: DiagramPreferencesInput

  """The diagram instance folder flag"""
  folder: Boolean!

  """The diagram instance public visibility flag"""
  global: Boolean!

  """The diagram instance id"""
  id: Long

  """The diagram instance layout"""
  layout: JDiagramLayout

  """The diagram instance name"""
  name: String

  """The diagram parent instance id"""
  parentId: Long

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.model.JDiagramInstanceReference'
"""A diagram instance reference"""
type JDiagramInstanceReference {
  """The diagram instance id"""
  id: Long

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.model.JDiagramInstanceReference'
"""A diagram instance reference"""
input JDiagramInstanceReferenceInput {
  """The diagram instance id"""
  id: Long

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.model.JDiagramLabelDescription'
"""A label description"""
type JDiagramLabelDescription {
  """The label value field description"""
  fieldDescription: FieldDescription

  """The value"""
  value: Object

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.model.JDiagramNode'
"""A diagram node description"""
type JDiagramNode {
  """The node data"""
  data: JDiagramNodeData

  """The node icon key"""
  iconKey: IconKey

  """The node id"""
  id: String

  """The node root flag"""
  isRoot: Boolean!

  """The node label"""
  label: String

  """The node selectable flag"""
  selectable: Boolean!

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.model.JDiagramNodeData'
"""A diagram node data type"""
type JDiagramNodeData {
  """The node current depth"""
  currentDepth: Int

  """The entity id related to the node"""
  diagramEntityId: DiagramEntityId

  """The object db id related to the node"""
  entityId: Object

  """The immediate relations fetched after the current node"""
  fetchedRelations: [DiagramEntityRelation]

  """The builtInReport to show info related to the node"""
  infoReportId: BuiltInReport

  """The id of the node related to object"""
  nodeId: Object

  """The relations path to the current node"""
  relationsPath: [DiagramRelationId]

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.model.JDiagramNodeData'
"""A diagram node data type"""
input JDiagramNodeDataInput {
  """The node current depth"""
  currentDepth: Int

  """The entity id related to the node"""
  diagramEntityId: DiagramEntityId

  """The object db id related to the node"""
  entityId: Object

  """The immediate relations fetched after the current node"""
  fetchedRelations: [DiagramEntityRelationInput]

  """The builtInReport to show info related to the node"""
  infoReportId: BuiltInReport

  """The id of the node related to object"""
  nodeId: Object

  """The relations path to the current node"""
  relationsPath: [DiagramRelationId]

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.model.JDiagramNodeProperties'
"""A diagram node layout description"""
type JDiagramNodeProperties {
  """The node height"""
  height: Float

  """The node id"""
  nodeId: String

  """The node width"""
  width: Float

  """The node X coordinate"""
  x: Float

  """The node Y coordinate"""
  y: Float

}

# Mapping for Java class 'com.jdisc.inventory.common.diagram.model.JDiagramNodeProperties'
"""A diagram node layout description"""
input JDiagramNodePropertiesInput {
  """The node height"""
  height: Float

  """The node id"""
  nodeId: String

  """The node width"""
  width: Float

  """The node X coordinate"""
  x: Float

  """The node Y coordinate"""
  y: Float

}

# Mapping for Java class 'com.jdisc.inventory.common.enums.discovery.DiscoveryProtocolStatus'
"""The discovery protocol status consisting of an enum for the status, a comError in case of COM Errors, a port, an identifier string (e.g. for SSH), and an individual message"""
type DiscoveryProtocolStatus {
  """The COM error in case of a COM error"""
  comError: Int!

  """An identifier string for protocols such as SSH or HTTP/HTTPS"""
  identifier: String

  """An individual additional message"""
  msg: String

  """The port used for this protocol (if any)"""
  port: Int

  """The SSH cipher used for this SSH connection"""
  sshCipherInUse: String

  """The SSH key exchange algorithm this SSH connection"""
  sshKeyExchangeInUse: String

  """The SSH mac algorithm this SSH connection"""
  sshMacInUse: String

  """The status enumeration value"""
  status: DiscoveryProtocolStatusEnum

  """Gets the status message"""
  message: String

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.actions.DatabaseIdBasedReportAction'
"""The DatabaseIdBasedReportAction action type"""
type DatabaseIdBasedReportAction {
  """Gets the action name"""
  actionName: ActionName

  """Gets the report filters (if any) for open report actions..."""
  filters: [FieldFilter]

  """Gets the icon name for the swing client"""
  iconName: String

  """Gets the maximum number of selected rows in a table to be enabled"""
  maxSelectedRows: Int

  """Gets the menu label for this context menu"""
  menuLabel: String

  """Gets the minimum number of selected rows in a table to be enabled"""
  minSelectedRows: Int

  """Gets the report id for open report actions..."""
  reportRef: IReportReference

  """Gets the required add-on for this menu item (if any)"""
  requiredAddOn: AddOnProduct

  """Returns the list of required rights"""
  requiredRights: [InventoryUserRight]

  """Gets the list of required application start modes"""
  requiredStartModes: [ApplicationStartMode]

  """Gets the icon name which should be used in the web client"""
  webIconName: String

  """Returns whether this action is a web visible action or not"""
  isWebAction: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.actions.OpenReportWithFilterAction'
"""The OpenReportWithFilterAction action type"""
type OpenReportWithFilterAction {
  """The fieldsNotToIgnore set"""
  fieldsNotToIgnore: [FieldDescription]

  """The filterFields set"""
  filterFields: [FieldDescription]

  """Gets the action name"""
  actionName: ActionName

  """Gets the report filters (if any) for open report actions..."""
  filters: [FieldFilter]

  """Gets the icon name for the swing client"""
  iconName: String

  """Gets the maximum number of selected rows in a table to be enabled"""
  maxSelectedRows: Int

  """Gets the menu label for this context menu"""
  menuLabel: String

  """Gets the minimum number of selected rows in a table to be enabled"""
  minSelectedRows: Int

  """Gets the report id for open report actions..."""
  reportRef: IReportReference

  """Gets the required add-on for this menu item (if any)"""
  requiredAddOn: AddOnProduct

  """Returns the list of required rights"""
  requiredRights: [InventoryUserRight]

  """Gets the list of required application start modes"""
  requiredStartModes: [ApplicationStartMode]

  """Gets the icon name which should be used in the web client"""
  webIconName: String

  """The ignoreOldFilters flag"""
  ignoreOldFilters: ReportFiltersMode

  """The isFilerPanelVisible flag"""
  isFilterPanelVisible: Boolean!

  """Returns whether this action is a web visible action or not"""
  isWebAction: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.actions.OpenReportWithFilterSingleSelectAction'
"""The OpenReportWithFilterSingleSelectAction action type"""
type OpenReportWithFilterSingleSelectAction {
  """The fieldsNotToIgnore set"""
  fieldsNotToIgnore: [FieldDescription]

  """The filterFields set"""
  filterFields: [FieldDescription]

  """Gets the action name"""
  actionName: ActionName

  """Gets the report filters (if any) for open report actions..."""
  filters: [FieldFilter]

  """Gets the icon name for the swing client"""
  iconName: String

  """Gets the maximum number of selected rows in a table to be enabled"""
  maxSelectedRows: Int

  """Gets the menu label for this context menu"""
  menuLabel: String

  """Gets the minimum number of selected rows in a table to be enabled"""
  minSelectedRows: Int

  """Gets the report id for open report actions..."""
  reportRef: IReportReference

  """Gets the required add-on for this menu item (if any)"""
  requiredAddOn: AddOnProduct

  """Returns the list of required rights"""
  requiredRights: [InventoryUserRight]

  """Gets the list of required application start modes"""
  requiredStartModes: [ApplicationStartMode]

  """Gets the icon name which should be used in the web client"""
  webIconName: String

  """The ignoreOldFilters flag"""
  ignoreOldFilters: ReportFiltersMode

  """The isFilerPanelVisible flag"""
  isFilterPanelVisible: Boolean!

  """Returns whether this action is a web visible action or not"""
  isWebAction: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.actions.ReportAction'
"""A report action"""
type ReportAction {
  """Gets the action name"""
  actionName: ActionName

  """Gets the report filters (if any) for open report actions..."""
  filters: [FieldFilter]

  """Gets the icon name for the swing client"""
  iconName: String

  """Gets the maximum number of selected rows in a table to be enabled"""
  maxSelectedRows: Int

  """Gets the menu label for this context menu"""
  menuLabel: String

  """Gets the minimum number of selected rows in a table to be enabled"""
  minSelectedRows: Int

  """Gets the report id for open report actions..."""
  reportRef: IReportReference

  """Gets the required add-on for this menu item (if any)"""
  requiredAddOn: AddOnProduct

  """Returns the list of required rights"""
  requiredRights: [InventoryUserRight]

  """Gets the list of required application start modes"""
  requiredStartModes: [ApplicationStartMode]

  """Gets the icon name which should be used in the web client"""
  webIconName: String

  """Returns whether this action is a web visible action or not"""
  isWebAction: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.actions.SeparatorAction'
"""The SeparatorAction action type"""
type SeparatorAction {
  """Gets the action name"""
  actionName: ActionName

  """Gets the report filters (if any) for open report actions..."""
  filters: [FieldFilter]

  """Gets the icon name for the swing client"""
  iconName: String

  """Gets the maximum number of selected rows in a table to be enabled"""
  maxSelectedRows: Int

  """Gets the menu label for this context menu"""
  menuLabel: String

  """Gets the minimum number of selected rows in a table to be enabled"""
  minSelectedRows: Int

  """Gets the report id for open report actions..."""
  reportRef: IReportReference

  """Gets the required add-on for this menu item (if any)"""
  requiredAddOn: AddOnProduct

  """Returns the list of required rights"""
  requiredRights: [InventoryUserRight]

  """Gets the list of required application start modes"""
  requiredStartModes: [ApplicationStartMode]

  """Gets the icon name which should be used in the web client"""
  webIconName: String

  """Returns whether this action is a web visible action or not"""
  isWebAction: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.actions.graph.CreateDiagramAction'
"""The CreateGraphAction action type"""
type CreateDiagramAction {
  """Gets the sub action name"""
  subActionName: ActionName

  """Gets the action name"""
  actionName: ActionName

  """Gets the report filters (if any) for open report actions..."""
  filters: [FieldFilter]

  """Gets the icon name for the swing client"""
  iconName: String

  """Gets the maximum number of selected rows in a table to be enabled"""
  maxSelectedRows: Int

  """Gets the menu label for this context menu"""
  menuLabel: String

  """Gets the minimum number of selected rows in a table to be enabled"""
  minSelectedRows: Int

  """Gets the report id for open report actions..."""
  reportRef: IReportReference

  """Gets the required add-on for this menu item (if any)"""
  requiredAddOn: AddOnProduct

  """Returns the list of required rights"""
  requiredRights: [InventoryUserRight]

  """Gets the list of required application start modes"""
  requiredStartModes: [ApplicationStartMode]

  """Gets the icon name which should be used in the web client"""
  webIconName: String

  """Returns whether this action is a web visible action or not"""
  isWebAction: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.AliasFieldDescription'
"""The alis FieldDescription type"""
type AliasFieldDescription {
  """Gets the canonical field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  canonicalType: String!

  """Gets the canonical field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  canonicalValueType: String

  """Gets the label or column header within tables"""
  columnHeader: String

  """Gets the internal field id"""
  fieldId: String

  """The nature for a field"""
  nature: FieldNature

  """Gets the field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  type: String

  """Gets the field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  valueType: String

  """Gets the field default width as enumeration (which is later mapped to a style in the WEB UI)"""
  webFieldWidth: FieldWidthEnum

  """Returns whether a field value is encrypted within the database or not."""
  isEncrypted: Boolean

  """Checks whether a field is an enumeration value or not."""
  isEnumeration: Boolean

  """Checks whether a field is an id field or not."""
  isIdField: Boolean

  """Checks whether a field is a key field or not."""
  isKeyField: Boolean

  """A flag whether this field can contain line breaks"""
  isMultilineField: Boolean

  """Checks whether a field is a numeric field."""
  isNumeric: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.AliasFieldDescription'
"""The alis FieldDescription type"""
input AliasFieldDescriptionInput {
  """Gets the canonical field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  canonicalType: String!

  """Gets the canonical field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  canonicalValueType: String

  """Gets the label or column header within tables"""
  columnHeader: String

  """Gets the internal field id"""
  fieldId: String

  """The nature for a field"""
  nature: FieldNature

  """Gets the field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  type: String

  """Gets the field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  valueType: String

  """Gets the field default width as enumeration (which is later mapped to a style in the WEB UI)"""
  webFieldWidth: FieldWidthEnum

  """Returns whether a field value is encrypted within the database or not."""
  isEncrypted: Boolean

  """Checks whether a field is an enumeration value or not."""
  isEnumeration: Boolean

  """Checks whether a field is an id field or not."""
  isIdField: Boolean

  """Checks whether a field is a key field or not."""
  isKeyField: Boolean

  """A flag whether this field can contain line breaks"""
  isMultilineField: Boolean

  """Checks whether a field is a numeric field."""
  isNumeric: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.BuiltInReportReference'
"""BuiltIn report reference for input type safety"""
type BuiltInReportReference {
  """The id of the built-in report"""
  builtInReport: BuiltInReport!

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.BuiltInReportReference'
"""BuiltIn report reference for input type safety"""
input BuiltInReportReferenceInput {
  """The id of the built-in report"""
  builtInReport: BuiltInReport!

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.ButtonEntry'
"""A report button"""
type ButtonEntry {
  """The button action"""
  action: ReportActionInterface

  """The button description"""
  button: ButtonDescription

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.CustomAttributeFieldDescription'
"""The CustomAttribute field description"""
type CustomAttributeFieldDescription {
  """Gets the custom attribute info"""
  info: CustomAttributeInfo

  """Gets the canonical field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  canonicalType: String!

  """Gets the canonical field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  canonicalValueType: String

  """Gets the label or column header within tables"""
  columnHeader: String

  """Gets the internal field id"""
  fieldId: String

  """The nature for a field"""
  nature: FieldNature

  """Gets the field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  type: String

  """Gets the field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  valueType: String

  """Gets the field default width as enumeration (which is later mapped to a style in the WEB UI)"""
  webFieldWidth: FieldWidthEnum

  """Returns whether a field value is encrypted within the database or not."""
  isEncrypted: Boolean

  """Checks whether a field is an enumeration value or not."""
  isEnumeration: Boolean

  """Checks whether a field is an id field or not."""
  isIdField: Boolean

  """Checks whether a field is a key field or not."""
  isKeyField: Boolean

  """A flag whether this field can contain line breaks"""
  isMultilineField: Boolean

  """Checks whether a field is a numeric field."""
  isNumeric: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.CustomAttributeFieldDescription'
"""The CustomAttribute field description"""
input CustomAttributeFieldDescriptionInput {
  """Gets the custom attribute info"""
  info: CustomAttributeInfoInput

  """Gets the canonical field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  canonicalType: String!

  """Gets the canonical field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  canonicalValueType: String

  """Gets the label or column header within tables"""
  columnHeader: String

  """Gets the internal field id"""
  fieldId: String

  """The nature for a field"""
  nature: FieldNature

  """Gets the field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  type: String

  """Gets the field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  valueType: String

  """Gets the field default width as enumeration (which is later mapped to a style in the WEB UI)"""
  webFieldWidth: FieldWidthEnum

  """Returns whether a field value is encrypted within the database or not."""
  isEncrypted: Boolean

  """Checks whether a field is an enumeration value or not."""
  isEnumeration: Boolean

  """Checks whether a field is an id field or not."""
  isIdField: Boolean

  """Checks whether a field is a key field or not."""
  isKeyField: Boolean

  """A flag whether this field can contain line breaks"""
  isMultilineField: Boolean

  """Checks whether a field is a numeric field."""
  isNumeric: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.CustomAttributeTableFieldDescription'
"""The CustomAttributeTable field description type"""
type CustomAttributeTableFieldDescription {
  """Gets the canonical field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  canonicalType: String!

  """Gets the canonical field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  canonicalValueType: String

  """Gets the label or column header within tables"""
  columnHeader: String

  """Gets the internal field id"""
  fieldId: String

  """The nature for a field"""
  nature: FieldNature

  """Gets the field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  type: String

  """Gets the field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  valueType: String

  """Gets the field default width as enumeration (which is later mapped to a style in the WEB UI)"""
  webFieldWidth: FieldWidthEnum

  """Returns whether a field value is encrypted within the database or not."""
  isEncrypted: Boolean

  """Checks whether a field is an enumeration value or not."""
  isEnumeration: Boolean

  """Checks whether a field is an id field or not."""
  isIdField: Boolean

  """Checks whether a field is a key field or not."""
  isKeyField: Boolean

  """A flag whether this field can contain line breaks"""
  isMultilineField: Boolean

  """Checks whether a field is a numeric field."""
  isNumeric: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.CustomAttributeTableFieldDescription'
"""The CustomAttributeTable field description type"""
input CustomAttributeTableFieldDescriptionInput {
  """Gets the canonical field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  canonicalType: String!

  """Gets the canonical field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  canonicalValueType: String

  """Gets the label or column header within tables"""
  columnHeader: String

  """Gets the internal field id"""
  fieldId: String

  """The nature for a field"""
  nature: FieldNature

  """Gets the field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  type: String

  """Gets the field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  valueType: String

  """Gets the field default width as enumeration (which is later mapped to a style in the WEB UI)"""
  webFieldWidth: FieldWidthEnum

  """Returns whether a field value is encrypted within the database or not."""
  isEncrypted: Boolean

  """Checks whether a field is an enumeration value or not."""
  isEnumeration: Boolean

  """Checks whether a field is an id field or not."""
  isIdField: Boolean

  """Checks whether a field is a key field or not."""
  isKeyField: Boolean

  """A flag whether this field can contain line breaks"""
  isMultilineField: Boolean

  """Checks whether a field is a numeric field."""
  isNumeric: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.CustomReportReference'
"""Custom report reference for input type safety"""
type CustomReportReference {
  """The id of the custom report"""
  id: Long

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.CustomReportReference'
"""Custom report reference for input type safety"""
input CustomReportReferenceInput {
  """The id of the custom report"""
  id: Long

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.FieldAction'
"""A field action name paired with a field id"""
type FieldAction {
  """The action"""
  action: ReportActionInterface

  """The field description for this filter"""
  fieldId: String

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.FieldDescription'
"""The FieldDescription describes a field within the application. The description includes an id, type"""
type FieldDescription {
  """Gets the canonical field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  canonicalType: String!

  """Gets the canonical field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  canonicalValueType: String

  """Gets the label or column header within tables"""
  columnHeader: String

  """Gets the internal field id"""
  fieldId: String

  """The nature for a field"""
  nature: FieldNature

  """Gets the field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  type: String

  """Gets the field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  valueType: String

  """Gets the field default width as enumeration (which is later mapped to a style in the WEB UI)"""
  webFieldWidth: FieldWidthEnum

  """Returns whether a field value is encrypted within the database or not."""
  isEncrypted: Boolean

  """Checks whether a field is an enumeration value or not."""
  isEnumeration: Boolean

  """Checks whether a field is an id field or not."""
  isIdField: Boolean

  """Checks whether a field is a key field or not."""
  isKeyField: Boolean

  """A flag whether this field can contain line breaks"""
  isMultilineField: Boolean

  """Checks whether a field is a numeric field."""
  isNumeric: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.FieldDescription'
"""The FieldDescription describes a field within the application. The description includes an id, type"""
input FieldDescriptionInput {
  """Gets the canonical field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  canonicalType: String!

  """Gets the canonical field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  canonicalValueType: String

  """Gets the label or column header within tables"""
  columnHeader: String

  """Gets the internal field id"""
  fieldId: String

  """The nature for a field"""
  nature: FieldNature

  """Gets the field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  type: String

  """Gets the field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  valueType: String

  """Gets the field default width as enumeration (which is later mapped to a style in the WEB UI)"""
  webFieldWidth: FieldWidthEnum

  """Returns whether a field value is encrypted within the database or not."""
  isEncrypted: Boolean

  """Checks whether a field is an enumeration value or not."""
  isEnumeration: Boolean

  """Checks whether a field is an id field or not."""
  isIdField: Boolean

  """Checks whether a field is a key field or not."""
  isKeyField: Boolean

  """A flag whether this field can contain line breaks"""
  isMultilineField: Boolean

  """Checks whether a field is a numeric field."""
  isNumeric: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.FieldFilter'
"""A filter used to filter reports by criteria"""
type FieldFilter {
  """A display value in case the filter to display in the UI when the filterValue is just a database id or some other internal value"""
  displayValue: Object

  """The field description for this filter"""
  fieldDescription: FieldDescription

  """The filter condition type for this filter"""
  filterConditionType: FilterConditionType

  """The filter value"""
  filterValue: Object

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.FieldFilter'
"""A filter used to filter reports by criteria"""
input FieldFilterInput {
  """A display value in case the filter to display in the UI when the filterValue is just a database id or some other internal value"""
  displayValue: Object

  """The field description for this filter"""
  fieldDescription: FieldDescriptionInput

  """The filter condition type for this filter"""
  filterConditionType: FilterConditionType

  """The filter value"""
  filterValue: Object

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.GroupConditionFilterValue'
"""The group condition filter value"""
type GroupConditionFilterValue {
  """The group id"""
  groupId: Long

  """The group includingSubgroups flag"""
  includingSubgroups: Boolean!

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.GroupConditionFilterValue'
"""The group condition filter value"""
input GroupConditionFilterValueInput {
  """The group id"""
  groupId: Long

  """The group includingSubgroups flag"""
  includingSubgroups: Boolean!

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.IdFieldDescription'
"""The Id field description type"""
type IdFieldDescription {
  """Gets the canonical field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  canonicalType: String!

  """Gets the canonical field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  canonicalValueType: String

  """Gets the label or column header within tables"""
  columnHeader: String

  """Gets the internal field id"""
  fieldId: String

  """The field nature"""
  nature: FieldNature

  """Gets the field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  type: String

  """Gets the field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  valueType: String

  """Gets the field default width as enumeration (which is later mapped to a style in the WEB UI)"""
  webFieldWidth: FieldWidthEnum

  """Returns whether a field value is encrypted within the database or not."""
  isEncrypted: Boolean

  """Checks whether a field is an enumeration value or not."""
  isEnumeration: Boolean

  """Checks whether a field is an id field or not."""
  isIdField: Boolean

  """Checks whether a field is a key field or not."""
  isKeyField: Boolean

  """A flag whether this field can contain line breaks"""
  isMultilineField: Boolean

  """Checks whether a field is a numeric field."""
  isNumeric: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.IdFieldDescription'
"""The Id field description type"""
input IdFieldDescriptionInput {
  """Gets the canonical field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  canonicalType: String!

  """Gets the canonical field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  canonicalValueType: String

  """Gets the label or column header within tables"""
  columnHeader: String

  """Gets the internal field id"""
  fieldId: String

  """The field nature"""
  nature: FieldNature

  """Gets the field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  type: String

  """Gets the field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  valueType: String

  """Gets the field default width as enumeration (which is later mapped to a style in the WEB UI)"""
  webFieldWidth: FieldWidthEnum

  """Returns whether a field value is encrypted within the database or not."""
  isEncrypted: Boolean

  """Checks whether a field is an enumeration value or not."""
  isEnumeration: Boolean

  """Checks whether a field is an id field or not."""
  isIdField: Boolean

  """Checks whether a field is a key field or not."""
  isKeyField: Boolean

  """A flag whether this field can contain line breaks"""
  isMultilineField: Boolean

  """Checks whether a field is a numeric field."""
  isNumeric: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.InvisibleIdFieldDescription'
"""The InvisibleId field description type"""
type InvisibleIdFieldDescription {
  """Gets the canonical field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  canonicalType: String!

  """Gets the canonical field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  canonicalValueType: String

  """Gets the label or column header within tables"""
  columnHeader: String

  """Gets the internal field id"""
  fieldId: String

  """The field nature"""
  nature: FieldNature

  """Gets the field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  type: String

  """Gets the field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  valueType: String

  """Gets the field default width as enumeration (which is later mapped to a style in the WEB UI)"""
  webFieldWidth: FieldWidthEnum

  """Returns whether a field value is encrypted within the database or not."""
  isEncrypted: Boolean

  """Checks whether a field is an enumeration value or not."""
  isEnumeration: Boolean

  """Checks whether a field is an id field or not."""
  isIdField: Boolean

  """Checks whether a field is a key field or not."""
  isKeyField: Boolean

  """A flag whether this field can contain line breaks"""
  isMultilineField: Boolean

  """Checks whether a field is a numeric field."""
  isNumeric: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.InvisibleIdFieldDescription'
"""The InvisibleId field description type"""
input InvisibleIdFieldDescriptionInput {
  """Gets the canonical field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  canonicalType: String!

  """Gets the canonical field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  canonicalValueType: String

  """Gets the label or column header within tables"""
  columnHeader: String

  """Gets the internal field id"""
  fieldId: String

  """The field nature"""
  nature: FieldNature

  """Gets the field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  type: String

  """Gets the field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  valueType: String

  """Gets the field default width as enumeration (which is later mapped to a style in the WEB UI)"""
  webFieldWidth: FieldWidthEnum

  """Returns whether a field value is encrypted within the database or not."""
  isEncrypted: Boolean

  """Checks whether a field is an enumeration value or not."""
  isEnumeration: Boolean

  """Checks whether a field is an id field or not."""
  isIdField: Boolean

  """Checks whether a field is a key field or not."""
  isKeyField: Boolean

  """A flag whether this field can contain line breaks"""
  isMultilineField: Boolean

  """Checks whether a field is a numeric field."""
  isNumeric: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.KeyDescription'
"""The key field description type"""
type KeyDescription {
  """Gets the canonical field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  canonicalType: String!

  """Gets the canonical field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  canonicalValueType: String

  """Gets the label or column header within tables"""
  columnHeader: String

  """Gets the internal field id"""
  fieldId: String

  """The field nature"""
  nature: FieldNature

  """Gets the field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  type: String

  """Gets the field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  valueType: String

  """Gets the field default width as enumeration (which is later mapped to a style in the WEB UI)"""
  webFieldWidth: FieldWidthEnum

  """Returns whether a field value is encrypted within the database or not."""
  isEncrypted: Boolean

  """Checks whether a field is an enumeration value or not."""
  isEnumeration: Boolean

  """Checks whether a field is an id field or not."""
  isIdField: Boolean

  """Checks whether a field is a key field or not."""
  isKeyField: Boolean

  """A flag whether this field can contain line breaks"""
  isMultilineField: Boolean

  """Checks whether a field is a numeric field."""
  isNumeric: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.KeyDescription'
"""The key field description type"""
input KeyDescriptionInput {
  """Gets the canonical field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  canonicalType: String!

  """Gets the canonical field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  canonicalValueType: String

  """Gets the label or column header within tables"""
  columnHeader: String

  """Gets the internal field id"""
  fieldId: String

  """The field nature"""
  nature: FieldNature

  """Gets the field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  type: String

  """Gets the field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  valueType: String

  """Gets the field default width as enumeration (which is later mapped to a style in the WEB UI)"""
  webFieldWidth: FieldWidthEnum

  """Returns whether a field value is encrypted within the database or not."""
  isEncrypted: Boolean

  """Checks whether a field is an enumeration value or not."""
  isEnumeration: Boolean

  """Checks whether a field is an id field or not."""
  isIdField: Boolean

  """Checks whether a field is a key field or not."""
  isKeyField: Boolean

  """A flag whether this field can contain line breaks"""
  isMultilineField: Boolean

  """Checks whether a field is a numeric field."""
  isNumeric: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.SimpleReportDescription'
"""A description for a simple report. """
type SimpleReportDescription implements ReportDescription {
  """Gets a list of actions for this report"""
  actions: [ReportActionInterface]

  """Gets a list of buttons for this report"""
  buttons: [ButtonEntry]

  """The chart descriptions of supported charts"""
  chartDescriptions: [WebChartDescription]

  """Read-only property to specify report description"""
  className: String

  """Read-only to report classifier by report description"""
  descriptionHierarchy: [String]

  """Returns the fields and their associated actions"""
  fieldActions: [FieldAction]

  """The list of filters"""
  filters: [FieldFilter]

  """Returns the default action that gets executed when you doubleclick on a row in the table"""
  reportDefaultAction: ReportActionInterface

  """Gets the report identifier"""
  reportId: BuiltInReport

  """The supported filter fields. Supported filter fields are configured per report description."""
  supportedFilterFields: [FieldDescription]

  """Gets the title for the report"""
  title: String

  """A flag whether the report supports history data"""
  hasHistory: Boolean

  """A flag whether the report is group aware or not."""
  isGroupAware: Boolean

  """A flag whether the report is splittable"""
  isSplittable: Boolean

  """A flag whether the report supports the starterGets the list of all columns"""
  supportsStarterEdition: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.WbemBrowserFieldDescription'
"""The WbemBrowser field description type"""
type WbemBrowserFieldDescription {
  """Gets the canonical field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  canonicalType: String!

  """Gets the canonical field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  canonicalValueType: String

  """Gets the label or column header within tables"""
  columnHeader: String

  """Gets the internal field id"""
  fieldId: String

  """The nature for a field"""
  nature: FieldNature

  """Gets the field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  type: String

  """Gets the field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  valueType: String

  """Gets the field default width as enumeration (which is later mapped to a style in the WEB UI)"""
  webFieldWidth: FieldWidthEnum

  """Returns whether a field value is encrypted within the database or not."""
  isEncrypted: Boolean

  """Checks whether a field is an enumeration value or not."""
  isEnumeration: Boolean

  """Checks whether a field is an id field or not."""
  isIdField: Boolean

  """Checks whether a field is a key field or not."""
  isKeyField: Boolean

  """A flag whether this field can contain line breaks"""
  isMultilineField: Boolean

  """Checks whether a field is a numeric field."""
  isNumeric: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.WbemBrowserFieldDescription'
"""The WbemBrowser field description type"""
input WbemBrowserFieldDescriptionInput {
  """Gets the canonical field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  canonicalType: String!

  """Gets the canonical field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  canonicalValueType: String

  """Gets the label or column header within tables"""
  columnHeader: String

  """Gets the internal field id"""
  fieldId: String

  """The nature for a field"""
  nature: FieldNature

  """Gets the field type (FieldDescription, IdFieldDescription or KeyDescription)"""
  type: String

  """Gets the field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  valueType: String

  """Gets the field default width as enumeration (which is later mapped to a style in the WEB UI)"""
  webFieldWidth: FieldWidthEnum

  """Returns whether a field value is encrypted within the database or not."""
  isEncrypted: Boolean

  """Checks whether a field is an enumeration value or not."""
  isEnumeration: Boolean

  """Checks whether a field is an id field or not."""
  isIdField: Boolean

  """Checks whether a field is a key field or not."""
  isKeyField: Boolean

  """A flag whether this field can contain line breaks"""
  isMultilineField: Boolean

  """Checks whether a field is a numeric field."""
  isNumeric: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.charting.web.ChartLegendOptions'
"""The chart legend options"""
type ChartLegendOptions {
  """Distance between legend component and the left side of the container. left value can be instant pixel value like 20; it can also be a percentage value relative to container width like '20%'; and it can also be 'left', 'center', or 'right'. If the left value is set to be 'left', 'center', or 'right', then the component will be aligned automatically based on position."""
  left: ChartLeftOption

  """The layout orientation of legend. Options: horizontal or vertical"""
  orient: ChartOrientOption

  """Set this false to prevent the legend from showing"""
  show: Boolean

  """Distance between legend component and the top side of the container. top value can be instant pixel value like 20; it can also be a percentage value relative to container width like '20%'; and it can also be 'top', 'middle', or 'bottom'. If the top value is set to be 'top', 'middle', or 'bottom', then the component will be aligned automatically based on position."""
  top: ChartTopOption

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.charting.web.ChartLegendOptions'
"""The chart legend options"""
input ChartLegendOptionsInput {
  """Distance between legend component and the left side of the container. left value can be instant pixel value like 20; it can also be a percentage value relative to container width like '20%'; and it can also be 'left', 'center', or 'right'. If the left value is set to be 'left', 'center', or 'right', then the component will be aligned automatically based on position."""
  left: ChartLeftOption

  """The layout orientation of legend. Options: horizontal or vertical"""
  orient: ChartOrientOption

  """Set this false to prevent the legend from showing"""
  show: Boolean

  """Distance between legend component and the top side of the container. top value can be instant pixel value like 20; it can also be a percentage value relative to container width like '20%'; and it can also be 'top', 'middle', or 'bottom'. If the top value is set to be 'top', 'middle', or 'bottom', then the component will be aligned automatically based on position."""
  top: ChartTopOption

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.charting.web.ChartTitleOptions'
"""The chart title options"""
type ChartTitleOptions {
  """Distance between title component and the left side of the container. left value can be 'left', 'center', or 'right'. If the left value is set to be 'left', 'center', or 'right', then the component will be aligned automatically based on position."""
  left: ChartLeftOption

  """Set this false to prevent the title from showing"""
  show: Boolean

  """Subtitle text, supporting for \n for newlines."""
  subtext: String

  """The title"""
  text: String

  """Distance between title component and the top side of the container. top value can be 'top', 'middle', or 'bottom'. If the top value is set to be 'top', 'middle', or 'bottom', then the component will be aligned automatically based on position."""
  top: ChartTopOption

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.charting.web.ChartTitleOptions'
"""The chart title options"""
input ChartTitleOptionsInput {
  """Distance between title component and the left side of the container. left value can be 'left', 'center', or 'right'. If the left value is set to be 'left', 'center', or 'right', then the component will be aligned automatically based on position."""
  left: ChartLeftOption

  """Set this false to prevent the title from showing"""
  show: Boolean

  """Subtitle text, supporting for \n for newlines."""
  subtext: String

  """The title"""
  text: String

  """Distance between title component and the top side of the container. top value can be 'top', 'middle', or 'bottom'. If the top value is set to be 'top', 'middle', or 'bottom', then the component will be aligned automatically based on position."""
  top: ChartTopOption

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.charting.web.DimensionOptions'
"""The chart dimension options"""
type DimensionOptions {
  """The dimension field description"""
  dimension: FieldDescription

  """Set this true to ignore values that are null"""
  ignoreNull: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.charting.web.FilterOptions'
"""The chart filter options"""
type FilterOptions {
  """The filter to be used when rendering data"""
  fieldFilters: [FieldFilter]

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.charting.web.FilterOptions'
"""The chart filter options"""
input FilterOptionsInput {
  """The filter to be used when rendering data"""
  fieldFilters: [FieldFilterInput]

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.charting.web.LimitOptions'
"""The chart limit options"""
type LimitOptions {
  """When true values are limited according to limit threshold"""
  limitEnabled: Boolean

  """Gets the options limit threshold. When limitEnabled is true, only first X options are shown in chart"""
  limitThreshold: Int

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.charting.web.LimitOptions'
"""The chart limit options"""
input LimitOptionsInput {
  """When true values are limited according to limit threshold"""
  limitEnabled: Boolean

  """Gets the options limit threshold. When limitEnabled is true, only first X options are shown in chart"""
  limitThreshold: Int

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.charting.web.PieChartOptions'
"""The pie chart options"""
type PieChartOptions implements ChartOptions {
  """The chart filter options"""
  filterOptions: FilterOptions

  """The chart legend options"""
  legendOptions: ChartLegendOptions

  """The chart limit options"""
  limitOptions: LimitOptions

  """The chart title options"""
  titleOptions: ChartTitleOptions

  """When true, the chart supports a legend, otherwise false"""
  supportsLegend: Boolean

  """Gets the default action report id"""
  defaultActionReportId: IReportReference

  """Gets the series options"""
  seriesOptions: SeriesOption

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.charting.web.PieWebChartDescription'
"""The description of a pie chart"""
type PieWebChartDescription implements WebChartDescription {
  """Gets the chart options"""
  chartOptions: ChartOptions

  """The chart description id."""
  id: String

  """The chart description title."""
  title: String

  """Gets the chart type"""
  type: ChartType

  """When true, this chart description can be show in overview dashboard as default"""
  isDefault: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.charting.web.SeriesOption'
"""The series options"""
type SeriesOption {
  """When true values are aggregated according to aggregation threshold"""
  aggregationEnabled: Boolean

  """Gets the aggregate value threshold in percent. Values bellow this threshold are aggregated under 'Other'"""
  aggregationThreshold: Int

  """Gets all possible data value field descriptions"""
  allDataValueFields: [FieldDescription]

  """Skips data with duplicate names. Internal use only - not exposed to user UI"""
  checkForDuplicateNames: Boolean

  """Gets the data name field description"""
  dataNameField: FieldDescription

  """Gets the data value field description"""
  dataValueField: FieldDescription

  """When true aggregations can be enabled for the report"""
  hasAggregationCapability: Boolean

  """Set this true to ignore values that are null"""
  ignoreNull: Boolean

  """Gets the series name"""
  name: String

  """Value is overridden by occurrence count. Internal use only - not exposed to user UI"""
  overrideValueCount: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.charting.web.SunburstChartOptions'
"""The sunburst chart options"""
type SunburstChartOptions implements ChartOptions {
  """The chart filter options"""
  filterOptions: FilterOptions

  """The chart legend options"""
  legendOptions: ChartLegendOptions

  """The chart limit options"""
  limitOptions: LimitOptions

  """The chart title options"""
  titleOptions: ChartTitleOptions

  """When true, the chart supports a legend, otherwise false"""
  supportsLegend: Boolean

  """Gets the all available chart dimensions."""
  allDimensions: [FieldDescription]

  """Gets the chart dimension options. The order is important"""
  dimensionOptions: [DimensionOptions]

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.charting.web.SunburstWebChartDescription'
"""The description of a sunburst chart"""
type SunburstWebChartDescription implements WebChartDescription {
  """Gets the chart options"""
  chartOptions: ChartOptions

  """The chart description id."""
  id: String

  """The chart description title."""
  title: String

  """Gets the chart type"""
  type: ChartType

  """When true, this chart description can be show in overview dashboard as default"""
  isDefault: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.custom.CustomReportDataField'
"""A custom report data field"""
type CustomReportDataField {
  """Whether the data field allows filters or not"""
  allowsFilter: Boolean!

  """The column header prefix of the data field"""
  columnHeaderPrefix: String

  """The data field description"""
  dbFieldDescr: FieldDescription

  """The field description"""
  fieldDescription: FieldDescription

  """The custom report filters of the data field"""
  filters: [DataElementFilter]

  """The custom report data field prefix"""
  prefix: String

  """The field name"""
  field: String

  """A flag whether this column is resizable or not"""
  isResizable: Boolean

  """A flag whether this column is sortable"""
  isSortable: Boolean

  """A flag whether this column can be sticky or not"""
  isSticky: Boolean

  """A flag whether this column is visible or not"""
  isVisible: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.custom.CustomReportDataField'
"""A custom report data field"""
input CustomReportDataFieldInput {
  """Whether the data field allows filters or not"""
  allowsFilter: Boolean!

  """The column header prefix of the data field"""
  columnHeaderPrefix: String

  """The data field description"""
  dbFieldDescr: FieldDescriptionInput

  """The field description"""
  fieldDescription: FieldDescriptionInput

  """The custom report filters of the data field"""
  filters: [DataElementFilterInput]

  """The custom report data field prefix"""
  prefix: String

  """The field name"""
  field: String

  """A flag whether this column is resizable or not"""
  isResizable: Boolean

  """A flag whether this column is sortable"""
  isSortable: Boolean

  """A flag whether this column can be sticky or not"""
  isSticky: Boolean

  """A flag whether this column is visible or not"""
  isVisible: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.custom.CustomReportDescription'
"""A custom reports container"""
type CustomReportDescription implements ReportDescription {
  """Gets a list of actions for this report"""
  actions: [ReportActionInterface]

  """Gets a list of buttons for this report"""
  buttons: [ButtonEntry]

  """The chart descriptions of supported charts"""
  chartDescriptions: [WebChartDescription]

  """Read-only property to specify report description"""
  className: String

  """Read-only to report classifier by report description"""
  descriptionHierarchy: [String]

  """Returns the fields and their associated actions"""
  fieldActions: [FieldAction]

  """The list of filters"""
  filters: [FieldFilter]

  """Returns the default action that gets executed when you doubleclick on a row in the table"""
  reportDefaultAction: ReportActionInterface

  """Gets the report identifier"""
  reportId: BuiltInReport

  """The supported filter fields. Supported filter fields are configured per report description."""
  supportedFilterFields: [FieldDescription]

  """Gets the title for the report"""
  title: String

  """A flag whether the report supports history data"""
  hasHistory: Boolean

  """A flag whether the report is group aware or not."""
  isGroupAware: Boolean

  """A flag whether the report is splittable"""
  isSplittable: Boolean

  """A flag whether the report supports the starterGets the list of all columns"""
  supportsStarterEdition: Boolean

  """The custom report active fields, if any"""
  activeFields: [CustomReportDataField]

  """The custom report can delete flag, which defines whether this user can delete the report (true), or not (false)"""
  canDelete: Boolean!

  """The custom report children reports, if any"""
# use Object for unknown type
  children: [Object]

  """The custom report column cache"""
  columnCache: [TableFieldDescription]

  """The custom report description"""
  description: String

  """The custom report field order"""
  fieldOrder: [CustomReportDataField]

  """The custom report id"""
  id: Long

  """The custom report name"""
  name: String

  """The custom report owner"""
  owner: ReportOwner

  """The custom report parent report, if any"""
  parent: CustomReportDescription

  """The custom report sql query, if any"""
  sqlQuery: String

  """The custom report type"""
  type: CustomReportType

  """The custom report columns"""
  columns: [TableFieldDescription]

  """Gets the default sort field"""
  defaultSortField: FieldDescription

  """The default sort order"""
  defaultSortOrder: SortOrder

  """Gets the label for the plural for the items in the table"""
  plural: String

  """Gets the label for the singular for the items in the table"""
  singular: String

  """The custom report custom attributes"""
  hasCustomAttributes: Boolean!

  """When true, report is sql custom report"""
  isSqlCustomReport: Boolean!

  """The custom report xml description, if any"""
  toXml: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.custom.CustomReportDescriptionBase'
"""A custom reports container base"""
type CustomReportDescriptionBase {
  """The custom report active fields, if any"""
  activeFields: [CustomReportDataField]

  """The custom report can delete flag, which defines whether this user can delete the report (true), or not (false)"""
  canDelete: Boolean!

  """The custom report description"""
  description: String

  """The custom report id"""
  id: Long

  """The custom report name"""
  name: String

  """The custom report owner"""
  owner: ReportOwner

  """The custom report parent id, to use on creation"""
  parentId: Long

  """The custom report sql query, if any"""
  sqlQuery: String

  """The custom report owner"""
  type: CustomReportType

  """The custom report user group id if any, to use on creation"""
  userGroupId: Long

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.custom.CustomReportDescriptionBase'
"""A custom reports container base"""
input CustomReportDescriptionBaseInput {
  """The custom report active fields, if any"""
  activeFields: [CustomReportDataFieldInput]

  """The custom report can delete flag, which defines whether this user can delete the report (true), or not (false)"""
  canDelete: Boolean!

  """The custom report description"""
  description: String

  """The custom report id"""
  id: Long

  """The custom report name"""
  name: String

  """The custom report owner"""
  owner: ReportOwner

  """The custom report parent id, to use on creation"""
  parentId: Long

  """The custom report sql query, if any"""
  sqlQuery: String

  """The custom report owner"""
  type: CustomReportType

  """The custom report user group id if any, to use on creation"""
  userGroupId: Long

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.custom.DataElementFilter'
"""A data field filter"""
type DataElementFilter {
  """the filter's key"""
  key: String

  """the data field operator"""
  operator: Operator

  """first field string"""
  string1: String

  """first field string lower"""
  string1CaseInsensitive: String

  """second field string"""
  string2: String

  """second field string lower"""
  string2CaseInsensitive: String

  """A String representation of the element filters"""
  toString: String

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.custom.DataElementFilter'
"""A data field filter"""
input DataElementFilterInput {
  """the filter's key"""
  key: String

  """the data field operator"""
  operator: Operator

  """first field string"""
  string1: String

  """first field string lower"""
  string1CaseInsensitive: String

  """second field string"""
  string2: String

  """second field string lower"""
  string2CaseInsensitive: String

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.diagram.DiagramReportDescription'
"""A description for a diagram report. """
type DiagramReportDescription implements ReportDescription {
  """Gets a list of actions for this report"""
  actions: [ReportActionInterface]

  """Gets a list of buttons for this report"""
  buttons: [ButtonEntry]

  """The chart descriptions of supported charts"""
  chartDescriptions: [WebChartDescription]

  """Read-only property to specify report description"""
  className: String

  """Read-only to report classifier by report description"""
  descriptionHierarchy: [String]

  """Returns the fields and their associated actions"""
  fieldActions: [FieldAction]

  """The list of filters"""
  filters: [FieldFilter]

  """Returns the default action that gets executed when you doubleclick on a row in the table"""
  reportDefaultAction: ReportActionInterface

  """Gets the report identifier"""
  reportId: BuiltInReport

  """The supported filter fields. Supported filter fields are configured per report description."""
  supportedFilterFields: [FieldDescription]

  """Gets the title for the report"""
  title: String

  """A flag whether the report supports history data"""
  hasHistory: Boolean

  """A flag whether the report is group aware or not."""
  isGroupAware: Boolean

  """A flag whether the report is splittable"""
  isSplittable: Boolean

  """A flag whether the report supports the starterGets the list of all columns"""
  supportsStarterEdition: Boolean

  """The diagram description"""
  diagramDescription: JDiagramDescription

  """The diagram layout"""
  diagramLayout: JDiagramLayout

  """The diagram toolbar extensions"""
  diagramToolbarExtensions: [DiagramToolbarExtension]

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.diagram.SingleFilterDiagramToolbarExtension'
"""A single filter diagram toolbar extension"""
type SingleFilterDiagramToolbarExtension implements DiagramToolbarExtension {
  """The option label"""
  label: String

  """The filter"""
  filter: DiagramEntityFilter

  """The target relation id"""
  targetRelationId: DiagramRelationId

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.file.DeviceFileReportDescription'
"""Device file report description. Used in Device Details Parse Issues."""
type DeviceFileReportDescription implements ReportDescription {
  """Gets a list of actions for this report"""
  actions: [ReportActionInterface]

  """Gets a list of buttons for this report"""
  buttons: [ButtonEntry]

  """The chart descriptions of supported charts"""
  chartDescriptions: [WebChartDescription]

  """Read-only property to specify report description"""
  className: String

  """Read-only to report classifier by report description"""
  descriptionHierarchy: [String]

  """Returns the fields and their associated actions"""
  fieldActions: [FieldAction]

  """The list of filters"""
  filters: [FieldFilter]

  """Returns the default action that gets executed when you doubleclick on a row in the table"""
  reportDefaultAction: ReportActionInterface

  """Gets the report identifier"""
  reportId: BuiltInReport

  """The supported filter fields. Supported filter fields are configured per report description."""
  supportedFilterFields: [FieldDescription]

  """Gets the title for the report"""
  title: String

  """A flag whether the report supports history data"""
  hasHistory: Boolean

  """A flag whether the report is group aware or not."""
  isGroupAware: Boolean

  """A flag whether the report is splittable"""
  isSplittable: Boolean

  """A flag whether the report supports the starterGets the list of all columns"""
  supportsStarterEdition: Boolean

  """File name"""
  filename: String

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.generic.GenericSummaryTreeReportDescription'
"""A description for a generic summary tree report. """
type GenericSummaryTreeReportDescription implements ReportDescription {
  """Gets a list of actions for this report"""
  actions: [ReportActionInterface]

  """Gets a list of buttons for this report"""
  buttons: [ButtonEntry]

  """The chart descriptions of supported charts"""
  chartDescriptions: [WebChartDescription]

  """Read-only property to specify report description"""
  className: String

  """Read-only to report classifier by report description"""
  descriptionHierarchy: [String]

  """Returns the fields and their associated actions"""
  fieldActions: [FieldAction]

  """The list of filters"""
  filters: [FieldFilter]

  """Returns the default action that gets executed when you doubleclick on a row in the table"""
  reportDefaultAction: ReportActionInterface

  """Gets the report identifier"""
  reportId: BuiltInReport

  """The supported filter fields. Supported filter fields are configured per report description."""
  supportedFilterFields: [FieldDescription]

  """Gets the title for the report"""
  title: String

  """A flag whether the report supports history data"""
  hasHistory: Boolean

  """A flag whether the report is group aware or not."""
  isGroupAware: Boolean

  """A flag whether the report is splittable"""
  isSplittable: Boolean

  """A flag whether the report supports the starterGets the list of all columns"""
  supportsStarterEdition: Boolean

  """item id field"""
  itemIdField: FieldDescription

  """The report id of the summary report"""
  summaryReportId: BuiltInReport

  """The table name"""
  tableName: String

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.generic.TabDescription'
"""A tab description"""
type TabDescription {
  """The tab report id"""
  reportId: BuiltInReport

  """The tab title key"""
  tabTitleKey: String

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.generic.TabDescription'
"""A tab description"""
input TabDescriptionInput {
  """The tab report id"""
  reportId: BuiltInReport

  """The tab title key"""
  tabTitleKey: String

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.generic.TabbedReportDescription'
"""A description for a tabbed report. """
type TabbedReportDescription implements ReportDescription {
  """Gets a list of actions for this report"""
  actions: [ReportActionInterface]

  """Gets a list of buttons for this report"""
  buttons: [ButtonEntry]

  """The chart descriptions of supported charts"""
  chartDescriptions: [WebChartDescription]

  """Read-only property to specify report description"""
  className: String

  """Read-only to report classifier by report description"""
  descriptionHierarchy: [String]

  """Returns the fields and their associated actions"""
  fieldActions: [FieldAction]

  """The list of filters"""
  filters: [FieldFilter]

  """Returns the default action that gets executed when you doubleclick on a row in the table"""
  reportDefaultAction: ReportActionInterface

  """Gets the report identifier"""
  reportId: BuiltInReport

  """The supported filter fields. Supported filter fields are configured per report description."""
  supportedFilterFields: [FieldDescription]

  """Gets the title for the report"""
  title: String

  """A flag whether the report supports history data"""
  hasHistory: Boolean

  """A flag whether the report is group aware or not."""
  isGroupAware: Boolean

  """A flag whether the report is splittable"""
  isSplittable: Boolean

  """A flag whether the report supports the starterGets the list of all columns"""
  supportsStarterEdition: Boolean

  """report tabs"""
  tabs: [TabDescription]

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.scalar.ScalarFieldDescription'
"""A scalar field description"""
type ScalarFieldDescription {
  """The field description for this scalar value"""
  customAttributeId: Long

  """The field description for this scalar value"""
  fieldDescription: IFieldDescription

  """A flag that indicates whether a field is diffable or not"""
  isDiffable: Boolean!

  """A flag that indicates whether a field is editable or not"""
  isEditable: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.scalar.ScalarLinkedReportData'
"""A scalar key/value pair with an action connected to the link"""
type ScalarLinkedReportData implements ScalarReportData {
  """The number of versions in case the attribute has multiple versions"""
  numberOfVersions: Long

  """The field description for this key/value pair"""
  scalarField: ScalarFieldDescription

  """The last update time of the value"""
  updateTime: DateTime

  """The value for this key/value pair"""
  value: Object

  """Returns the action to execute for this link"""
  action: ReportActionInterface

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.scalar.ScalarNoLinkReportData'
"""A scalar key/value pair without a link"""
type ScalarNoLinkReportData implements ScalarReportData {
  """The number of versions in case the attribute has multiple versions"""
  numberOfVersions: Long

  """The field description for this key/value pair"""
  scalarField: ScalarFieldDescription

  """The last update time of the value"""
  updateTime: DateTime

  """The value for this key/value pair"""
  value: Object

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.scalar.ScalarReportDescription'
"""A description for a scalar report. Scalar reports provide simple key value pairs."""
type ScalarReportDescription implements ReportDescription {
  """Gets a list of actions for this report"""
  actions: [ReportActionInterface]

  """Gets a list of buttons for this report"""
  buttons: [ButtonEntry]

  """The chart descriptions of supported charts"""
  chartDescriptions: [WebChartDescription]

  """Read-only property to specify report description"""
  className: String

  """Read-only to report classifier by report description"""
  descriptionHierarchy: [String]

  """Returns the fields and their associated actions"""
  fieldActions: [FieldAction]

  """The list of filters"""
  filters: [FieldFilter]

  """Returns the default action that gets executed when you doubleclick on a row in the table"""
  reportDefaultAction: ReportActionInterface

  """Gets the report identifier"""
  reportId: BuiltInReport

  """The supported filter fields. Supported filter fields are configured per report description."""
  supportedFilterFields: [FieldDescription]

  """Gets the title for the report"""
  title: String

  """A flag whether the report supports history data"""
  hasHistory: Boolean

  """A flag whether the report is group aware or not."""
  isGroupAware: Boolean

  """A flag whether the report is splittable"""
  isSplittable: Boolean

  """A flag whether the report supports the starterGets the list of all columns"""
  supportsStarterEdition: Boolean

  """A flag whether the panel with the values should be embedded in a scrollpane or not"""
  embedInScrollPane: Boolean

  """Returns the short title for the report (in some cases identical with the title)"""
  shortTitle: String

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.table.TableFieldDescription'
"""A description for a field within a table"""
type TableFieldDescription {
  """The field description"""
  fieldDescription: FieldDescription

  """The field name"""
  field: String

  """A flag whether this column is resizable or not"""
  isResizable: Boolean

  """A flag whether this column is sortable"""
  isSortable: Boolean

  """A flag whether this column can be sticky or not"""
  isSticky: Boolean

  """A flag whether this column is visible or not"""
  isVisible: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.table.TableFieldDescription'
"""A description for a field within a table"""
input TableFieldDescriptionInput {
  """The field description"""
  fieldDescription: FieldDescriptionInput

  """The field name"""
  field: String

  """A flag whether this column is resizable or not"""
  isResizable: Boolean

  """A flag whether this column is sortable"""
  isSortable: Boolean

  """A flag whether this column can be sticky or not"""
  isSticky: Boolean

  """A flag whether this column is visible or not"""
  isVisible: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.table.TableReportDescription'
"""The description for a table based report"""
type TableReportDescription implements ReportDescription {
  """Gets a list of actions for this report"""
  actions: [ReportActionInterface]

  """Gets a list of buttons for this report"""
  buttons: [ButtonEntry]

  """The chart descriptions of supported charts"""
  chartDescriptions: [WebChartDescription]

  """Read-only property to specify report description"""
  className: String

  """Read-only to report classifier by report description"""
  descriptionHierarchy: [String]

  """Returns the fields and their associated actions"""
  fieldActions: [FieldAction]

  """The list of filters"""
  filters: [FieldFilter]

  """Returns the default action that gets executed when you doubleclick on a row in the table"""
  reportDefaultAction: ReportActionInterface

  """Gets the report identifier"""
  reportId: BuiltInReport

  """The supported filter fields. Supported filter fields are configured per report description."""
  supportedFilterFields: [FieldDescription]

  """Gets the title for the report"""
  title: String

  """A flag whether the report supports history data"""
  hasHistory: Boolean

  """A flag whether the report is group aware or not."""
  isGroupAware: Boolean

  """A flag whether the report is splittable"""
  isSplittable: Boolean

  """A flag whether the report supports the starterGets the list of all columns"""
  supportsStarterEdition: Boolean

  """Gets the list of all columns"""
  columns: [TableFieldDescription]

  """Gets the default sort field"""
  defaultSortField: FieldDescription

  """The default sort order"""
  defaultSortOrder: SortOrder

  """Gets the label for the plural for the items in the table"""
  plural: String

  """Gets the label for the singular for the items in the table"""
  singular: String

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.tree.GenericTreeReportValuesDescription'
"""The description for a tree based report"""
type GenericTreeReportValuesDescription implements ReportDescription {
  """Gets a list of actions for this report"""
  actions: [ReportActionInterface]

  """Gets a list of buttons for this report"""
  buttons: [ButtonEntry]

  """The chart descriptions of supported charts"""
  chartDescriptions: [WebChartDescription]

  """Read-only property to specify report description"""
  className: String

  """Read-only to report classifier by report description"""
  descriptionHierarchy: [String]

  """Returns the fields and their associated actions"""
  fieldActions: [FieldAction]

  """The list of filters"""
  filters: [FieldFilter]

  """Returns the default action that gets executed when you doubleclick on a row in the table"""
  reportDefaultAction: ReportActionInterface

  """Gets the report identifier"""
  reportId: BuiltInReport

  """The supported filter fields. Supported filter fields are configured per report description."""
  supportedFilterFields: [FieldDescription]

  """Gets the title for the report"""
  title: String

  """A flag whether the report supports history data"""
  hasHistory: Boolean

  """A flag whether the report is group aware or not."""
  isGroupAware: Boolean

  """A flag whether the report is splittable"""
  isSplittable: Boolean

  """A flag whether the report supports the starterGets the list of all columns"""
  supportsStarterEdition: Boolean

  """A flag whether the panel with the values should be embedded in a scrollpane or not"""
  embedInScrollPane: Boolean

  """Returns the short title for the report (in some cases identical with the title)"""
  shortTitle: String

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.tree.ToolbarOption'
"""A tree toolbar custom option"""
type ToolbarOption {
  """The option default value"""
  defaultValue: Object

  """The option field"""
  field: FieldDescription

  """The option label"""
  label: String

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.tree.TreeReportDescription'
"""The description for a tree based report"""
type TreeReportDescription implements ReportDescription {
  """Gets a list of actions for this report"""
  actions: [ReportActionInterface]

  """Gets a list of buttons for this report"""
  buttons: [ButtonEntry]

  """The chart descriptions of supported charts"""
  chartDescriptions: [WebChartDescription]

  """Read-only property to specify report description"""
  className: String

  """Read-only to report classifier by report description"""
  descriptionHierarchy: [String]

  """Returns the fields and their associated actions"""
  fieldActions: [FieldAction]

  """The list of filters"""
  filters: [FieldFilter]

  """Returns the default action that gets executed when you doubleclick on a row in the table"""
  reportDefaultAction: ReportActionInterface

  """Gets the report identifier"""
  reportId: BuiltInReport

  """The supported filter fields. Supported filter fields are configured per report description."""
  supportedFilterFields: [FieldDescription]

  """Gets the title for the report"""
  title: String

  """A flag whether the report supports history data"""
  hasHistory: Boolean

  """A flag whether the report is group aware or not."""
  isGroupAware: Boolean

  """A flag whether the report is splittable"""
  isSplittable: Boolean

  """A flag whether the report supports the starterGets the list of all columns"""
  supportsStarterEdition: Boolean

  """The default reportId to display in the main area"""
  defaultReportId: BuiltInReport

  """A flag whether multiple selected is allowed"""
  multipleSelectedAllowed: Boolean!

  """The toolbar options"""
  treeToolbarOptions: [ToolbarOption]

  """The size of the tree within the splitter."""
  widthInPercent: Int!

  """A flag whether to display the root node in the tree or not"""
  isRootVisible: Boolean!

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.ui.ButtonDescription'
"""A button description"""
type ButtonDescription {
  """The button icon name (swing client)"""
  iconName: String

  """The button label"""
  label: String

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.device.devicedetails.DeviceDetailsReportDescription'
"""The device details report description"""
type DeviceDetailsReportDescription implements ReportDescription {
  """Gets a list of actions for this report"""
  actions: [ReportActionInterface]

  """Gets a list of buttons for this report"""
  buttons: [ButtonEntry]

  """The chart descriptions of supported charts"""
  chartDescriptions: [WebChartDescription]

  """Read-only property to specify report description"""
  className: String

  """Read-only to report classifier by report description"""
  descriptionHierarchy: [String]

  """Returns the fields and their associated actions"""
  fieldActions: [FieldAction]

  """The list of filters"""
  filters: [FieldFilter]

  """Returns the default action that gets executed when you doubleclick on a row in the table"""
  reportDefaultAction: ReportActionInterface

  """Gets the report identifier"""
  reportId: BuiltInReport

  """The supported filter fields. Supported filter fields are configured per report description."""
  supportedFilterFields: [FieldDescription]

  """Gets the title for the report"""
  title: String

  """A flag whether the report supports history data"""
  hasHistory: Boolean

  """A flag whether the report is group aware or not."""
  isGroupAware: Boolean

  """A flag whether the report is splittable"""
  isSplittable: Boolean

  """A flag whether the report supports the starterGets the list of all columns"""
  supportsStarterEdition: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.device.devicedetails.configurations.DeviceScheduledTaskTableListReportDescription'
"""A report description specific for scheduled tasks list."""
type DeviceScheduledTaskTableListReportDescription implements ReportDescription {
  """Gets a list of actions for this report"""
  actions: [ReportActionInterface]

  """Gets a list of buttons for this report"""
  buttons: [ButtonEntry]

  """The chart descriptions of supported charts"""
  chartDescriptions: [WebChartDescription]

  """Read-only property to specify report description"""
  className: String

  """Read-only to report classifier by report description"""
  descriptionHierarchy: [String]

  """Returns the fields and their associated actions"""
  fieldActions: [FieldAction]

  """The list of filters"""
  filters: [FieldFilter]

  """Returns the default action that gets executed when you doubleclick on a row in the table"""
  reportDefaultAction: ReportActionInterface

  """Gets the report identifier"""
  reportId: BuiltInReport

  """The supported filter fields. Supported filter fields are configured per report description."""
  supportedFilterFields: [FieldDescription]

  """Gets the title for the report"""
  title: String

  """A flag whether the report supports history data"""
  hasHistory: Boolean

  """A flag whether the report is group aware or not."""
  isGroupAware: Boolean

  """A flag whether the report is splittable"""
  isSplittable: Boolean

  """A flag whether the report supports the starterGets the list of all columns"""
  supportsStarterEdition: Boolean

  """Returns the short title for the report (in some cases identical with the title)"""
  shortTitle: String

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.device.devicedetails.software.database.tree.DatabaseInstanceTreeNode'
"""The database instance tree node"""
type DatabaseInstanceTreeNode {
  """The node id"""
  id: Long

  """The node name"""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.device.devicedetails.software.database.tree.DatabaseSoftwareTreeNode'
"""The database software tree node"""
type DatabaseSoftwareTreeNode {
  """The database instances tree nodes"""
  databaseInstances: [DatabaseInstanceTreeNode]

  """The in memory database software data"""
  software: InMemorySoftwareData

  """The node id"""
  id: Long

  """The node name"""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.device.devicedetails.software.database.tree.DatabaseTreeNodeBase'
"""The database tree node"""
type DatabaseTreeNodeBase {
  """The node id"""
  id: Long

  """The node name"""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.device.devicedetails.software.database.tree.DatabaseTreeRootNode'
"""The database tree node"""
type DatabaseTreeRootNode {
  """The node database software installs"""
  softwareInstalls: [DatabaseSoftwareTreeNode]

  """The node id"""
  id: Long

  """The node name"""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.troubleshooting.devices.DeviceAgeRange'
"""Device age range object"""
type DeviceAgeRange {
  """Range of device age"""
  ageRangeInHours: HoursRange

  """Text label for age range"""
  label: String

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.troubleshooting.devices.DeviceAgeRange'
"""Device age range object"""
input DeviceAgeRangeInput {
  """Range of device age"""
  ageRangeInHours: HoursRangeInput

  """Text label for age range"""
  label: String

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.troubleshooting.devices.DeviceParsingIssuesReportDescription'
"""Device parsing issues report description"""
type DeviceParsingIssuesReportDescription implements ReportDescription {
  """Gets a list of actions for this report"""
  actions: [ReportActionInterface]

  """Gets a list of buttons for this report"""
  buttons: [ButtonEntry]

  """The chart descriptions of supported charts"""
  chartDescriptions: [WebChartDescription]

  """Read-only property to specify report description"""
  className: String

  """Read-only to report classifier by report description"""
  descriptionHierarchy: [String]

  """Returns the fields and their associated actions"""
  fieldActions: [FieldAction]

  """The list of filters"""
  filters: [FieldFilter]

  """Returns the default action that gets executed when you doubleclick on a row in the table"""
  reportDefaultAction: ReportActionInterface

  """Gets the report identifier"""
  reportId: BuiltInReport

  """The supported filter fields. Supported filter fields are configured per report description."""
  supportedFilterFields: [FieldDescription]

  """Gets the title for the report"""
  title: String

  """A flag whether the report supports history data"""
  hasHistory: Boolean

  """A flag whether the report is group aware or not."""
  isGroupAware: Boolean

  """A flag whether the report is splittable"""
  isSplittable: Boolean

  """A flag whether the report supports the starterGets the list of all columns"""
  supportsStarterEdition: Boolean

  """The default reportId to display in the main area"""
  defaultReportId: BuiltInReport

  """A flag whether multiple selected is allowed"""
  multipleSelectedAllowed: Boolean!

  """The toolbar options"""
  treeToolbarOptions: [ToolbarOption]

  """The size of the tree within the splitter."""
  widthInPercent: Int!

  """A flag whether to display the root node in the tree or not"""
  isRootVisible: Boolean!

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.troubleshooting.devices.HoursRange'
"""Range of hours for a given epoch"""
type HoursRange {
  """Start of range"""
  from: Long

  """Finish of range"""
  to: Long

}

# Mapping for Java class 'com.jdisc.inventory.common.reporting.troubleshooting.devices.HoursRange'
"""Range of hours for a given epoch"""
input HoursRangeInput {
  """Start of range"""
  from: Long

  """Finish of range"""
  to: Long

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.admin.license.DeviceCreditAllocation'
"""Gets the credit allocation for the different tiers"""
type DeviceCreditAllocation {
  """The credit allocation for the list of remaining SNMP devices (tier 0)"""
  baseAllocation: Int

  """The credit allocation for Windows computers and switches/routers (tier 1)"""
  tier1Allocation: Int

  """The credit allocation for Linux, MAC OS X, VMware ESX serverfs (tier 2)"""
  tier2Allocation: Int

  """The credit allocation for the HP-UX, Solaris, and AIX servers (tier 3)"""
  tier3Allocation: Int

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.admin.license.DeviceCreditCount'
"""The number of devices licensed per tier"""
type DeviceCreditCount {
  """The number of devices counted assigned to tier 0 licenses"""
  tier0Count: Long

  """The number of devices counted assigned to tier 1 licenses"""
  tier1Count: Long

  """The number of devices counted assigned to tier 2 licenses"""
  tier2Count: Long

  """The number of devices counted assigned to tier 3 licenses"""
  tier3Count: Long

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.admin.license.LicenseInfo'
"""The license information for the product"""
type LicenseInfo {
  """Gets the license expiration date. Null for perpetual licenses."""
  gqlLicenseEnd: DateTime

  """Gets the license start date. The license is not valid before that date."""
  gqlLicenseStart: DateTime

  """Gets the number of used credits."""
  calcUsedCredits: Long

  """Gets the list of license sections for the add-ons."""
  addOns: [LicenseSection]

  """Gets the credit allocation for the four tiers."""
  creditAllocation: DeviceCreditAllocation

  """Gets the current licensed device counts per tier."""
  creditCount: DeviceCreditCount

  """Gets the maximal number of licensed credits."""
  creditLimit: Long

  """Gets the maximal number of licensed devices."""
  deviceLimit: Int

  """Gets the maximal number of licensed credits."""
  edition: ProductEdition

  """Gets the list of installed add-ons."""
  installedAddOns: [AddOnProduct]

  """Gets the licensed sections (each product has its own section)"""
  licenseSections: [LicenseSection]

  """Gets the list of licensed add-ons."""
  licensedAddOns: [AddOnProduct]

  """Gets the license status."""
  status: LicenseStatus

  """Gets the number of used credits."""
  usedCredits: Long

  """Gets the list of devices used for the license (in case of device count based license)."""
  usedDevices: Int

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.admin.license.LicenseKeyValue'
"""A generic key value pair within the license"""
type LicenseKeyValue {
  """The key for the key/value pair"""
  key: String

  """The value for the key/value pair"""
  value: Object

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.admin.license.LicenseSection'
"""A license section within the license file"""
type LicenseSection {
  """Actual device values"""
  actualKeyValues: [LicenseKeyValue]

  """The license section label"""
  label: String

  """License key values"""
  licenseKeyValues: [LicenseKeyValue]

  """The license section name"""
  name: String

  """The license section status"""
  status: LicenseStatus

  """Flag whether the signature is valid"""
  validSignature: Boolean!

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.admin.users.InventoryMember'
"""User or user group member"""
type InventoryMember {
  """Member id"""
  id: Long

  """Group name"""
  name: String

  """Permissions Groups assigned to this user or user group member"""
  permissionsGroups: [InventoryPermissionsGroup]

  """Unique id"""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.admin.users.InventoryMember'
"""User or user group member"""
input InventoryMemberInput {
  """Member id"""
  id: Long

  """Group name"""
  name: String

  """Permissions Groups assigned to this user or user group member"""
  permissionsGroups: [InventoryPermissionsGroupInput]

  """Unique id"""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.admin.users.InventoryPermissionsGroup'
"""Permissions group for users and user groups"""
type InventoryPermissionsGroup {
  """Permissions group description"""
  descr: String

  """Permissions group id"""
  id: Long

  """Permissions group name"""
  name: String

  """Permissions group rights"""
  rights: [InventoryUserRight]

  """Is permisisons group built-in flag"""
  isBuiltInGroup: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.admin.users.InventoryPermissionsGroup'
"""Permissions group for users and user groups"""
input InventoryPermissionsGroupInput {
  """Permissions group description"""
  descr: String

  """Permissions group id"""
  id: Long

  """Permissions group name"""
  name: String

  """Permissions group rights"""
  rights: [InventoryUserRight]

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.admin.users.InventoryUserGroup'
"""User group"""
type InventoryUserGroup {
  """Member id"""
  id: Long

  """Group name"""
  name: String

  """Permissions Groups assigned to this user or user group member"""
  permissionsGroups: [InventoryPermissionsGroup]

  """Unique id"""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.admin.users.InventoryUserGroup'
"""User group"""
input InventoryUserGroupInput {
  """Member id"""
  id: Long

  """Group name"""
  name: String

  """Permissions Groups assigned to this user or user group member"""
  permissionsGroups: [InventoryPermissionsGroupInput]

  """Unique id"""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.admin.users.logon.AccountToken'
"""Account token"""
type AccountToken {
  """Account name"""
  name: String

  """Account uniqueId"""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.admin.users.logon.AccountTokenGroup'
"""Account token Group"""
type AccountTokenGroup {
  """Account name"""
  name: String

  """Account uniqueId"""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.customattribute.caimport.CustomAttributeImportResult'
"""A custom attribute import result"""
type CustomAttributeImportResult {
  """The import error message"""
  errorMessage: String

  """The import identifier"""
  identifier: String

  """The import source line number"""
  sourceLineNumber: Int!

  """The import status"""
  status: CustomAttributeImportStatus

}

# Mapping for Java interface 'com.jdisc.inventory.common.rmiinterface.discovery.settings.DiscoverySettings'
"""Discovery Settings"""
type DiscoverySettings {
  """flag to add virtualization physical server"""
  addManagedPhysicalServers: Boolean

  """flag to add virtualization machines"""
  addVirtualMachines: Boolean

  """flag to add virtualization management server"""
  addVirtualizationManagementServer: Boolean

  """flag to delete users from logged on user history after specific time"""
  ageOutLastLoggedOnUsersEnabled: Boolean

  """Aging out deletion logs in minutes"""
  agingOutDeviceDeletionLogsInMinutes: Long

  """flag to age out device events"""
  agingOutDeviceEventsEnabled: Boolean

  """Last Days to Collect Device Events"""
  agingOutDeviceEventsInDays: Int

  """Aging out devices flag"""
  agingOutDevicesEnabled: Boolean

  """Aging out discovery events flag"""
  agingOutDiscoveryEventsEnabled: Boolean

  """Aging out discovery events in minutes"""
  agingOutDiscoveryEventsInMinutes: Long

  """Aging out devices in minutes"""
  agingOutInMinutes: Long

  """flag to discover devices found in ARP caches of routers and switches"""
  arpCacheReadingEnabled: Boolean

  """flag to enable remote jumphost"""
  arpProxyEnabled: Boolean

  """Max count of server/client jumphost connection attempts per IP subnet"""
  arpProxyMaxSubnetCandidates: Int

  """flag to enable SNMP ARP table reading on routers and routing switches"""
  arpSNMPRouterEnabled: Boolean

  """flag to create new devices for user connections from remote devices"""
  createNewDevicesForRemoteConnectionClients: Boolean

  """Ibm DB2 database connect timeout in milliseconds"""
  db2JdbcConnectTimeout: Long

  """flag to delete orphaned software that no longer belongs to any devices"""
  deleteOrphanedSoftwareElements: Boolean

  """flag to delete inactive dependencies between computers after specific time"""
  dependencyMappingAgingOutEnabled: Boolean

  """Seconds after which inactive dependencies between computers are deleted"""
  dependencyMappingAgingSeconds: Int

  """Device Naming Method"""
  deviceNamingMethod: DeviceNamingMethod

  """Device Naming Strategy"""
  deviceNamingStrategy: DeviceNamingStrategy

  """flag to discover anonymous Wlans (without SSID)"""
  discoverAnonymousWlans: Boolean

  """flag to discover antivirus software"""
  discoverAntivirusSoftware: Boolean

  """flag to discover applications"""
  discoverApplications: Boolean

  """flag to discover remote clients"""
  discoverBladeEnclosureComponents: Boolean

  """flag to discover certificates"""
  discoverCertificates: Boolean

  """flag to discover https certificates"""
  discoverCertificatesWebSites: Boolean

  """flag to Discover Cisco Support Entitlements"""
  discoverCiscoSupportEntitlements: Boolean

  """flag to discover client access licenses"""
  discoverClientAccessLicenses: Boolean

  """flag to Discover Cloud Users"""
  discoverCloudUsers: Boolean

  """flag to discover cluster"""
  discoverClusterConfiguration: Boolean

  """flag to discover containers"""
  discoverContainer: Boolean

  """flag to discover custom attributes"""
  discoverCustomAttributes: Boolean

  """flag to discover schemas within databases"""
  discoverDatabaseSchemas: Boolean

  """flag to discover tables within schemas of databases"""
  discoverDatabaseTables: Boolean

  """flag to discover database details"""
  discoverDatabases: Boolean

  """flag to Discover Dell Support Entitlements"""
  discoverDellSupportEntitlements: Boolean

  """flag to discover Direct X version"""
  discoverDirectXVersion: Boolean

  """flag to discover attached devices"""
  discoverDirectlyAttachedDevices: Boolean

  """flag to discover disks"""
  discoverDisks: Boolean

  """Flag to Discover Dns Domain Controllers"""
  discoverDnsDomainControllers: Boolean

  """Flag to discover Dns Servers"""
  discoverDnsServers: Boolean

  """flag to discover drivers"""
  discoverDrivers: Boolean

  """flag to discover exchange server mailboxes"""
  discoverExchangeServerMailboxes: Boolean

  """flag to discover exe files"""
  discoverExeFiles: Boolean

  """flag to discover firewall configuration"""
  discoverFirewallConfiguration: Boolean

  """flag to Discover Fujitsu Support Entitlements"""
  discoverFujitsuSupportEntitlements: Boolean

  """flag to discover ISCSI initiators and targets"""
  discoverICSIConfiguration: Boolean

  """flag to Discover Lenovo Support Entitlements"""
  discoverLenovoSupportEntitlements: Boolean

  """flag to Discover Lexmark Support Entitlements"""
  discoverLexmarkSupportEntitlements: Boolean

  """flag to discover licenses"""
  discoverLicenses: Boolean

  """flag to discover card readers"""
  discoverLocalCardReaders: Boolean

  """flag to discover local printers"""
  discoverLocalPrinters: Boolean

  """flag to discover local scanners"""
  discoverLocalScanners: Boolean

  """flag to discover managed devices"""
  discoverManagedDevices: Boolean

  """flag to discover mapped printers"""
  discoverMappedPrinters: Boolean

  """flag to discover memory modules"""
  discoverMemoryModules: Boolean

  """flag to discover monitors"""
  discoverMonitors: Boolean

  """flag to discover motion events"""
  discoverMotionEvents: Boolean

  """flag to discover offline virtual instances"""
  discoverOfflineVirtualInstances: Boolean

  """flag to run Oracle LMS scripts"""
  discoverOracleLMSConfiguration: Boolean

  """flag to discover patches"""
  discoverPatches: Boolean

  """flag to discover pending installations"""
  discoverPendingInstallations: Boolean

  """flag to discover process loaded modules"""
  discoverProcessLoadedModules: Boolean

  """flag to discover processes"""
  discoverProcesses: Boolean

  """flag to discover processors"""
  discoverProcessors: Boolean

  """flag to discover reachable WLANs"""
  discoverReachableWlans: Boolean

  """flag to discover reboot, shutdown and bluescreen events"""
  discoverRebootEvents: Boolean

  """flag to discover remote clients"""
  discoverRemoteConnectionClients: Boolean

  """flag to discover scheduled tasks"""
  discoverScheduledTasks: Boolean

  """flag to discover services"""
  discoverServices: Boolean

  """flag to discover shares"""
  discoverShares: Boolean

  """flag to discover sim cards"""
  discoverSimCards: Boolean

  """flag to discover sound devices"""
  discoverSoundDevices: Boolean

  """flag to scan SSL configuration"""
  discoverSslConfig: Boolean

  """Collecting support entitlements time interval"""
  discoverSupportEntitlementEveryNDays: Int

  """flag to Discover Support Entitlements"""
  discoverSupportEntitlements: Boolean

  """flag to discover Swidtag Files"""
  discoverSwidtagFiles: Boolean

  """flag to Discover Tochiba Support Entitlements"""
  discoverToshibaSupportEntitlements: Boolean

  """flag to discover Tpm modules"""
  discoverTpmModule: Boolean

  """flag to Discover User Groups"""
  discoverUserGroups: Boolean

  """flag to Discover Users"""
  discoverUsers: Boolean

  """flag to discover snapshots"""
  discoverVMSnasphots: Boolean

  """flag to discover VMware annotations"""
  discoverVMwareCustomAttributes: Boolean

  """flag to discover video controllers"""
  discoverVideoControllers: Boolean

  """flag to discover virtual instances"""
  discoverVirtualInstances: Boolean

  """flag to discover windows features"""
  discoverWindowsFeatures: Boolean

  """flag to discover Wlan Access Points"""
  discoverWlanAccessPoints: Boolean

  """flag to discover Wlans"""
  discoverWlans: Boolean

  """flag to Discover Xerox Support Entitlements"""
  discoverXeroxSupportEntitlements: Boolean

  """flag to Discover Zebra Support Entitlements"""
  discoverZebraSupportEntitlements: Boolean

  """Https connection for EoL data timeout in milliseconds"""
  endOfLifeHttpsConnectTimeout: Int

  """Https read of EoL data timeout in milliseconds"""
  endOfLifeHttpsReadTimeout: Int

  """flag to discover support End of Life information"""
  endOfLifeSupportEnabled: Boolean

  """Days interval to update end of life data"""
  endOfLifeUpdateIntervalInDays: Int

  """Powershell execution timeout in milliseconds (to discover exchange server mailboxes)"""
  exchangePowershellScriptExecuteTimeout: Long

  """flag to detect remote connections via RDP, SSH or telnet"""
  findRemoteClientConnections: Boolean

  """Informix database connect timeout in milliseconds"""
  informixJdbcConnectTimeout: Long

  """flag to check Java licensing"""
  javaLicensingCheck: Boolean

  """flag to keep disconnected monitors"""
  keepDiscoverMonitors: Boolean

  """Kill Inactive Device After Seconds"""
  killInactiveDevicesAfterSeconds: Int

  """Hours after which logged on users history is deleted"""
  lastLoggedOnUsersAgeOutHours: Int

  """SAP MaxDB database connect timeout in milliseconds"""
  maxDbJdbcConnectTimeout: Long

  """Max Ping Threads"""
  maxPingThreads: Int

  """Max Threads"""
  maxThreads: Int

  """MongoDB database connect timeout in milliseconds"""
  mongoDbJdbcConnectTimeout: Long

  """Last days to collect motion events"""
  motionEventsHistorySinceDays: Int

  """MS SQLServer database connect timeout in milliseconds"""
  mssqlServerDbJdbcConnectTimeout: Long

  """MySQL/MariaDB database connect timeout in milliseconds"""
  mySqlJdbcConnectTimeout: Long

  """Network Creation Policy"""
  networkCreationPolicy: NetworkCreationPolicy

  """Oracle database connect timeout in milliseconds"""
  oracleDbJdbcConnectTimeout: Long

  """The location of oracle LMS zip file on discovery server"""
  oracleLmsZipFile: String

  """flag to ignore directly attached devices when connected via VPN"""
  policyDoNotDiscoverAttachedDevicesWhenConnectedToVpn: Boolean

  """flag to ignore mDNS and UPnP enabled devices when connected via VPN"""
  policyDoNotDiscoverMdnsUpnpDevicesWhenConnectedToVpn: Boolean

  """flag to ignore WLANs when connected via VPN"""
  policyDoNotDiscoverWlansWhenConnectedToVpn: Boolean

  """Postgres database connect timeout in milliseconds"""
  postgresDbJdbcConnectTimeout: Long

  """flag to purge older motion events"""
  purgeOldMotionEvents: Boolean

  """flag to discover ssh security algorithms"""
  scanSshAlgorithmsEnabled: Boolean

  """Sybase database connect timeout in milliseconds"""
  sybaseJdbcConnectTimeout: Long

  """Track device deletion flag"""
  trackDeviceDeletion: Boolean

  """Use hostname only for name flag"""
  useHostnameOnlyForName: Boolean

  """Method to identify Vlans"""
  vlanIdentification: VLanIdentificationMethod

  """The list of WLAN white list patterns"""
  wlanWhitelistPatterns: [WlanWhitelistPatternEntry]

}

# Mapping for Java interface 'com.jdisc.inventory.common.rmiinterface.discovery.settings.DiscoverySettingsInput'
"""Discovery settings input"""
input DiscoverySettingsInput {
  """flag to add virtualization physical server"""
  addManagedPhysicalServers: Boolean

  """flag to add virtualization machines"""
  addVirtualMachines: Boolean

  """flag to add virtualization management server"""
  addVirtualizationManagementServer: Boolean

  """flag to delete users from logged on user history after specific time"""
  ageOutLastLoggedOnUsersEnabled: Boolean

  """Aging out deletion logs in minutes"""
  agingOutDeviceDeletionLogsInMinutes: Long

  """flag to age out device events"""
  agingOutDeviceEventsEnabled: Boolean

  """Last Days to Collect Device Events"""
  agingOutDeviceEventsInDays: Int

  """Aging out devices flag"""
  agingOutDevicesEnabled: Boolean

  """Aging out discovery events flag"""
  agingOutDiscoveryEventsEnabled: Boolean

  """Aging out discovery events in minutes"""
  agingOutDiscoveryEventsInMinutes: Long

  """Aging out devices in minutes"""
  agingOutInMinutes: Long

  """flag to discover devices found in ARP caches of routers and switches"""
  arpCacheReadingEnabled: Boolean

  """flag to enable remote jumphost"""
  arpProxyEnabled: Boolean

  """Max count of server/client jumphost connection attempts per IP subnet"""
  arpProxyMaxSubnetCandidates: Int

  """flag to enable SNMP ARP table reading on routers and routing switches"""
  arpSNMPRouterEnabled: Boolean

  """flag to create new devices for user connections from remote devices"""
  createNewDevicesForRemoteConnectionClients: Boolean

  """Ibm DB2 database connect timeout in milliseconds"""
  db2JdbcConnectTimeout: Long

  """flag to delete orphaned software that no longer belongs to any devices"""
  deleteOrphanedSoftwareElements: Boolean

  """flag to delete inactive dependencies between computers after specific time"""
  dependencyMappingAgingOutEnabled: Boolean

  """Seconds after which inactive dependencies between computers are deleted"""
  dependencyMappingAgingSeconds: Int

  """Device Naming Method"""
  deviceNamingMethod: DeviceNamingMethod

  """Device Naming Strategy"""
  deviceNamingStrategy: DeviceNamingStrategy

  """flag to discover anonymous Wlans (without SSID)"""
  discoverAnonymousWlans: Boolean

  """flag to discover antivirus software"""
  discoverAntivirusSoftware: Boolean

  """flag to discover applications"""
  discoverApplications: Boolean

  """flag to discover remote clients"""
  discoverBladeEnclosureComponents: Boolean

  """flag to discover certificates"""
  discoverCertificates: Boolean

  """flag to discover https certificates"""
  discoverCertificatesWebSites: Boolean

  """flag to Discover Cisco Support Entitlements"""
  discoverCiscoSupportEntitlements: Boolean

  """flag to discover client access licenses"""
  discoverClientAccessLicenses: Boolean

  """flag to Discover Cloud Users"""
  discoverCloudUsers: Boolean

  """flag to discover cluster"""
  discoverClusterConfiguration: Boolean

  """flag to discover containers"""
  discoverContainer: Boolean

  """flag to discover custom attributes"""
  discoverCustomAttributes: Boolean

  """flag to discover schemas within databases"""
  discoverDatabaseSchemas: Boolean

  """flag to discover tables within schemas of databases"""
  discoverDatabaseTables: Boolean

  """flag to discover database details"""
  discoverDatabases: Boolean

  """flag to Discover Dell Support Entitlements"""
  discoverDellSupportEntitlements: Boolean

  """flag to discover Direct X version"""
  discoverDirectXVersion: Boolean

  """flag to discover attached devices"""
  discoverDirectlyAttachedDevices: Boolean

  """flag to discover disks"""
  discoverDisks: Boolean

  """Flag to Discover Dns Domain Controllers"""
  discoverDnsDomainControllers: Boolean

  """Flag to discover Dns Servers"""
  discoverDnsServers: Boolean

  """flag to discover drivers"""
  discoverDrivers: Boolean

  """flag to discover exchange server mailboxes"""
  discoverExchangeServerMailboxes: Boolean

  """flag to discover exe files"""
  discoverExeFiles: Boolean

  """flag to discover firewall configuration"""
  discoverFirewallConfiguration: Boolean

  """flag to Discover Fujitsu Support Entitlements"""
  discoverFujitsuSupportEntitlements: Boolean

  """flag to discover ISCSI initiators and targets"""
  discoverICSIConfiguration: Boolean

  """flag to Discover Lenovo Support Entitlements"""
  discoverLenovoSupportEntitlements: Boolean

  """flag to Discover Lexmark Support Entitlements"""
  discoverLexmarkSupportEntitlements: Boolean

  """flag to discover licenses"""
  discoverLicenses: Boolean

  """flag to discover card readers"""
  discoverLocalCardReaders: Boolean

  """flag to discover local printers"""
  discoverLocalPrinters: Boolean

  """flag to discover local scanners"""
  discoverLocalScanners: Boolean

  """flag to discover managed devices"""
  discoverManagedDevices: Boolean

  """flag to discover mapped printers"""
  discoverMappedPrinters: Boolean

  """flag to discover memory modules"""
  discoverMemoryModules: Boolean

  """flag to discover monitors"""
  discoverMonitors: Boolean

  """flag to discover motion events"""
  discoverMotionEvents: Boolean

  """flag to discover offline virtual instances"""
  discoverOfflineVirtualInstances: Boolean

  """flag to run Oracle LMS scripts"""
  discoverOracleLMSConfiguration: Boolean

  """flag to discover patches"""
  discoverPatches: Boolean

  """flag to discover pending installations"""
  discoverPendingInstallations: Boolean

  """flag to discover process loaded modules"""
  discoverProcessLoadedModules: Boolean

  """flag to discover processes"""
  discoverProcesses: Boolean

  """flag to discover processors"""
  discoverProcessors: Boolean

  """flag to discover reachable WLANs"""
  discoverReachableWlans: Boolean

  """flag to discover reboot, shutdown and bluescreen events"""
  discoverRebootEvents: Boolean

  """flag to discover remote clients"""
  discoverRemoteConnectionClients: Boolean

  """flag to discover scheduled tasks"""
  discoverScheduledTasks: Boolean

  """flag to discover services"""
  discoverServices: Boolean

  """flag to discover shares"""
  discoverShares: Boolean

  """flag to discover sim cards"""
  discoverSimCards: Boolean

  """flag to discover sound devices"""
  discoverSoundDevices: Boolean

  """flag to scan SSL configuration"""
  discoverSslConfig: Boolean

  """Collecting support entitlements time interval"""
  discoverSupportEntitlementEveryNDays: Int

  """flag to Discover Support Entitlements"""
  discoverSupportEntitlements: Boolean

  """flag to discover Swidtag Files"""
  discoverSwidtagFiles: Boolean

  """flag to Discover Tochiba Support Entitlements"""
  discoverToshibaSupportEntitlements: Boolean

  """flag to discover Tpm modules"""
  discoverTpmModule: Boolean

  """flag to Discover User Groups"""
  discoverUserGroups: Boolean

  """flag to Discover Users"""
  discoverUsers: Boolean

  """flag to discover snapshots"""
  discoverVMSnasphots: Boolean

  """flag to discover VMware annotations"""
  discoverVMwareCustomAttributes: Boolean

  """flag to discover video controllers"""
  discoverVideoControllers: Boolean

  """flag to discover virtual instances"""
  discoverVirtualInstances: Boolean

  """flag to discover windows features"""
  discoverWindowsFeatures: Boolean

  """flag to discover Wlan Access Points"""
  discoverWlanAccessPoints: Boolean

  """flag to discover Wlans"""
  discoverWlans: Boolean

  """flag to Discover Xerox Support Entitlements"""
  discoverXeroxSupportEntitlements: Boolean

  """flag to Discover Zebra Support Entitlements"""
  discoverZebraSupportEntitlements: Boolean

  """Https connection for EoL data timeout in milliseconds"""
  endOfLifeHttpsConnectTimeout: Int

  """Https read of EoL data timeout in milliseconds"""
  endOfLifeHttpsReadTimeout: Int

  """flag to discover support End of Life information"""
  endOfLifeSupportEnabled: Boolean

  """Days interval to update end of life data"""
  endOfLifeUpdateIntervalInDays: Int

  """Powershell execution timeout in milliseconds (to discover exchange server mailboxes)"""
  exchangePowershellScriptExecuteTimeout: Long

  """flag to detect remote connections via RDP, SSH or telnet"""
  findRemoteClientConnections: Boolean

  """Informix database connect timeout in milliseconds"""
  informixJdbcConnectTimeout: Long

  """flag to check Java licensing"""
  javaLicensingCheck: Boolean

  """flag to keep disconnected monitors"""
  keepDiscoverMonitors: Boolean

  """Kill Inactive Device After Seconds"""
  killInactiveDevicesAfterSeconds: Int

  """Hours after which logged on users history is deleted"""
  lastLoggedOnUsersAgeOutHours: Int

  """SAP MaxDB database connect timeout in milliseconds"""
  maxDbJdbcConnectTimeout: Long

  """Max Ping Threads"""
  maxPingThreads: Int

  """Max Threads"""
  maxThreads: Int

  """MongoDB database connect timeout in milliseconds"""
  mongoDbJdbcConnectTimeout: Long

  """Last days to collect motion events"""
  motionEventsHistorySinceDays: Int

  """MS SQLServer database connect timeout in milliseconds"""
  mssqlServerDbJdbcConnectTimeout: Long

  """MySQL/MariaDB database connect timeout in milliseconds"""
  mySqlJdbcConnectTimeout: Long

  """Network Creation Policy"""
  networkCreationPolicy: NetworkCreationPolicy

  """Oracle database connect timeout in milliseconds"""
  oracleDbJdbcConnectTimeout: Long

  """The location of oracle LMS zip file on discovery server"""
  oracleLmsZipFile: String

  """flag to ignore directly attached devices when connected via VPN"""
  policyDoNotDiscoverAttachedDevicesWhenConnectedToVpn: Boolean

  """flag to ignore mDNS and UPnP enabled devices when connected via VPN"""
  policyDoNotDiscoverMdnsUpnpDevicesWhenConnectedToVpn: Boolean

  """flag to ignore WLANs when connected via VPN"""
  policyDoNotDiscoverWlansWhenConnectedToVpn: Boolean

  """Postgres database connect timeout in milliseconds"""
  postgresDbJdbcConnectTimeout: Long

  """flag to purge older motion events"""
  purgeOldMotionEvents: Boolean

  """flag to discover ssh security algorithms"""
  scanSshAlgorithmsEnabled: Boolean

  """Sybase database connect timeout in milliseconds"""
  sybaseJdbcConnectTimeout: Long

  """Track device deletion flag"""
  trackDeviceDeletion: Boolean

  """Use hostname only for name flag"""
  useHostnameOnlyForName: Boolean

  """Method to identify Vlans"""
  vlanIdentification: VLanIdentificationMethod

  """The list of WLAN white list patterns"""
  wlanWhitelistPatterns: [WlanWhitelistPatternEntryInput]

}

# Mapping for Java interface 'com.jdisc.inventory.common.rmiinterface.discovery.settings.DiscoverySettingsLimits'
"""Discovery Settings Limits"""
type DiscoverySettingsLimits {
  """Maximum minutes to age out devices deletion logs"""
  maxAgingOutDeviceDeletionLogsMinutes: Int

  """Maximum minutes to age out discovery events"""
  maxAgingOutDiscoveryEventsMinutes: Int

  """Maximum minutes to age out devices"""
  maxAgingOutMinutes: Int

  """Maximum value for ARP proxy max subnet candidates"""
  maxArpProxyMaxSubnetCandidates: Int

  """Maximum minutes to age out dependency mapping"""
  maxDependencyMappingAgingMinutes: Int

  """Maximum milliseconds to timeout End of Life connection"""
  maxEolHttpsConnectTimeout: Int

  """Maximum milliseconds to timeout End of Life reading"""
  maxEolHttpsReadTimeout: Int

  """Maximum milliseconds to timeout exchange powershell script execution"""
  maxExchangePowershellScriptExecuteTimeout: Int

  """Maximum milliseconds to timeout jdbc connections"""
  maxJdbcConnectTimeout: Int

  """Maximum minutes to Kill Inactive Device After"""
  maxKillInactiveDeviceAfterMinutes: Int

  """Maximum last logged on users age out hours"""
  maxLastLoggedOnUsersAgeOutHours: Int

  """Maximum max ping threads"""
  maxMaxPingThreads: Int

  """Maximum support entitlements days interval"""
  maxSupportEntitlementsDaysInterval: Int

  """Minimum minutes to age out devices deletion logs"""
  minAgingOutDeviceDeletionLogsMinutes: Int

  """Minimum minutes to age out discovery events"""
  minAgingOutDiscoveryEventsMinutes: Int

  """Minimum minutes to age out devices"""
  minAgingOutMinutes: Int

  """Minimum minutes to age out dependency mapping"""
  minDependencyMappingAgingMinutes: Int

  """Minimum milliseconds to timeout End of Life connection"""
  minEolHttpsConnectTimeout: Int

  """Minimum milliseconds to timeout End of Life reading"""
  minEolHttpsReadTimeout: Int

  """Minimum milliseconds to timeout exchange powershell script execution"""
  minExchangePowershellScriptExecuteTimeout: Int

  """Minimum milliseconds to timeout jdbc connections"""
  minJdbcConnectTimeout: Int

  """Minimum minutes to Kill Inactive Device After"""
  minKillInactiveDeviceAfterMinutes: Int

  """Minimum last logged on users age out hours"""
  minLastLoggedOnUsersAgeOutHours: Int

  """Server max supported threads"""
  serverMaxThreads: Int

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.CloudItemStatus'
"""CloudItemStatus"""
type CloudItemStatus {
  """discoveryJobName"""
  discoveryJobName: String

  """lastMessage"""
  lastMessage: String

  """name"""
  name: String

  """percentage"""
  percentage: Int!

  """status"""
  status: DiscoveryQueueItemStatus

  """type"""
  type: CloudType

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.CloudItemStatus'
"""CloudItemStatus"""
input CloudItemStatusInput {
  """discoveryJobName"""
  discoveryJobName: String

  """lastMessage"""
  lastMessage: String

  """name"""
  name: String

  """percentage"""
  percentage: Int!

  """status"""
  status: DiscoveryQueueItemStatus

  """type"""
  type: CloudType

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.DeviceDiscoveryStatus'
"""The status for a single device being scanned"""
type DeviceDiscoveryStatus {
  """The discovery duration in milliseconds"""
  duration: Long!

  """The last log message"""
  lastLog: String

  """The device name"""
  name: String

  """The completion percentage"""
  percent: Int!

  """The target being scanned"""
  target: String

  """The device type"""
  type: DeviceType

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.DeviceQueueStatus'
"""The status for the discovery device queue"""
type DeviceQueueStatus {
  """The average database time"""
  avgDatabaseTime: Long

  """The average discovery time"""
  avgDiscoveryTime: Long

  """The status for individual devices being scanned"""
  devices: [DeviceDiscoveryStatus]

  """The device queue's last action"""
  lastAction: String

  """The maximal number of concurrent device discoveries"""
  maxDevices: Int!

  """The device queue status"""
  status: DiscoveryQueueStatus

  """Gets the number of pending devices for manually triggered tasks"""
  manuallyTriggeredPendingTasks: Int!

  """Gets the number of processed devices for manually triggered tasks"""
  manuallyTriggeredProcessedTasks: Int!

  """Gets the number of blocked devices for scheduled discoveries"""
  scheduledBlockedTasks: Int!

  """Gets the number of pending devices for scheduled discoveries"""
  scheduledPendingTasks: Int!

  """Gets the number of processed devices for scheduled discoveries"""
  scheduledProcessedTasks: Int!

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.DirectoryQueueStatus'
"""DirectoryQueueStatus"""
type DirectoryQueueStatus {
  """currentObject"""
  currentObject: DirectoryStatus

  """lastMessage"""
  lastMessage: String

  """objectsProcessed"""
  objectsProcessed: Int!

  """objectsToProcess"""
  objectsToProcess: Int!

  """status"""
  status: DiscoveryQueueStatus

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.DirectoryQueueStatus'
"""DirectoryQueueStatus"""
input DirectoryQueueStatusInput {
  """currentObject"""
  currentObject: DirectoryStatusInput

  """lastMessage"""
  lastMessage: String

  """objectsProcessed"""
  objectsProcessed: Int!

  """objectsToProcess"""
  objectsToProcess: Int!

  """status"""
  status: DiscoveryQueueStatus

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.DirectoryStatus'
"""DirectoryStatus"""
type DirectoryStatus {
  """cycleId"""
  cycleId: Long

  """members"""
  members: Int

  """mode"""
  mode: DirectoryDiscoveryMode

  """name"""
  name: String

  """source"""
  source: DiscoveryQueueSource

  """type"""
  type: DirectoryType

  """distinguishedNameString"""
  distinguishedNameString: String

  """guidString"""
  guidString: String

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.DirectoryStatus'
"""DirectoryStatus"""
input DirectoryStatusInput {
  """cycleId"""
  cycleId: Long

  """members"""
  members: Int

  """mode"""
  mode: DirectoryDiscoveryMode

  """name"""
  name: String

  """source"""
  source: DiscoveryQueueSource

  """type"""
  type: DirectoryType

  """distinguishedNameString"""
  distinguishedNameString: String

  """guidString"""
  guidString: String

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.DiscoveryCloudStatus'
"""DiscoveryCloudStatus"""
type DiscoveryCloudStatus {
  """items"""
  items: [CloudItemStatus]

  """majorMessage"""
  majorMessage: String

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.DiscoveryCloudStatus'
"""DiscoveryCloudStatus"""
input DiscoveryCloudStatusInput {
  """items"""
  items: [CloudItemStatusInput]

  """majorMessage"""
  majorMessage: String

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.DiscoveryCycleStatus'
"""The Discovery Job Cycle Status"""
type DiscoveryCycleStatus {
  """The description of the job"""
  description: String

  """The state of the job."""
  enabled: Boolean

  """The id of the Job"""
  id: Long

  """The name of the job"""
  name: String

  """The task status of the job"""
  status: TaskStatus

  """The date time of the last finish of the job"""
  lastFinishedAt: DateTime

  """The date time of the last start of the job"""
  lastStartedAt: DateTime

  """The date time of the next schedule of the job"""
  nextSchedule: DateTime

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.DiscoveryCycleStatus'
"""The Discovery Job Cycle Status"""
input DiscoveryCycleStatusInput {
  """The description of the job"""
  description: String

  """The state of the job."""
  enabled: Boolean

  """The id of the Job"""
  id: Long

  """The name of the job"""
  name: String

  """The task status of the job"""
  status: TaskStatus

  """The date time of the last finish of the job"""
  lastFinishedAt: DateTime

  """The date time of the last start of the job"""
  lastStartedAt: DateTime

  """The date time of the next schedule of the job"""
  nextSchedule: DateTime

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.DiscoveryPaasStatus'
"""Platform as a Service (PaaS) Discovery status"""
type DiscoveryPaasStatus {
  """items"""
  items: [PaasItemStatus]

  """majorMessage"""
  majorMessage: String

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.DiscoveryPaasStatus'
"""Platform as a Service (PaaS) Discovery status"""
input DiscoveryPaasStatusInput {
  """items"""
  items: [PaasItemStatusInput]

  """majorMessage"""
  majorMessage: String

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.DiscoveryStatusData'
"""The current discovery status"""
type DiscoveryStatusData {
  """The device queue status"""
  deviceQueueStatus: DeviceQueueStatus

  """The device number of discovered devices stored in db"""
  devicesInDb: Int!

  """The discovery process status"""
  discoveryProcessStatus: DiscoveryProcessStatus

  """The license status"""
  licenseStatus: LicenseStatusData

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.DomainQueueStatus'
"""DomainQueueStatus"""
type DomainQueueStatus {
  """currentDomain"""
  currentDomain: DomainStatus

  """domainsProcessed"""
  domainsProcessed: Int!

  """domainsToProcess"""
  domainsToProcess: Int!

  """lastMessage"""
  lastMessage: String

  """status"""
  status: DiscoveryQueueStatus

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.DomainQueueStatus'
"""DomainQueueStatus"""
input DomainQueueStatusInput {
  """currentDomain"""
  currentDomain: DomainStatusInput

  """domainsProcessed"""
  domainsProcessed: Int!

  """domainsToProcess"""
  domainsToProcess: Int!

  """lastMessage"""
  lastMessage: String

  """status"""
  status: DiscoveryQueueStatus

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.DomainStatus'
"""DomainStatus"""
type DomainStatus {
  """currentPos"""
  currentPos: Int

  """cycleId"""
  cycleId: Long

  """domainName"""
  domainName: String

  """members"""
  members: Int

  """source"""
  source: DiscoveryQueueSource

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.DomainStatus'
"""DomainStatus"""
input DomainStatusInput {
  """currentPos"""
  currentPos: Int

  """cycleId"""
  cycleId: Long

  """domainName"""
  domainName: String

  """members"""
  members: Int

  """source"""
  source: DiscoveryQueueSource

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.LdapObjectDbSynchronizerControllerStatus'
"""LdapObjectDbSynchronizerControllerStatus"""
type LdapObjectDbSynchronizerControllerStatus {
  """addedObjects"""
  addedObjects: Int!

  """lastMessage"""
  lastMessage: String

  """removedObjects"""
  removedObjects: Int!

  """running"""
  running: Boolean!

  """synchronizedObjects"""
  synchronizedObjects: Int!

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.LdapObjectDbSynchronizerControllerStatus'
"""LdapObjectDbSynchronizerControllerStatus"""
input LdapObjectDbSynchronizerControllerStatusInput {
  """addedObjects"""
  addedObjects: Int!

  """lastMessage"""
  lastMessage: String

  """removedObjects"""
  removedObjects: Int!

  """running"""
  running: Boolean!

  """synchronizedObjects"""
  synchronizedObjects: Int!

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.LicenseStatusData'
"""The license status"""
type LicenseStatusData {
  """The license message (e.g. license invalid, ...)"""
  licenseMessage: String

  """The license warning message (e.g. > 90% used)"""
  licenseWarningMessage: String

  """A flag whether the license is valid or not"""
  isValid: Boolean!

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.MeasurementStatus'
"""MeasurementStatus"""
type MeasurementStatus {
  """getMeasureJobs"""
  measureJobs: [MeasurementJobDetails]

  """numberOfScheduledCleanupJobs"""
  numberOfScheduledCleanupJobs: Int!

  """numberOfScheduledInstrumentationJobs"""
  numberOfScheduledInstrumentationJobs: Int!

  """numberOfScheduledPollingJobs"""
  numberOfScheduledPollingJobs: Int!

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.MeasurementStatus'
"""MeasurementStatus"""
input MeasurementStatusInput {
  """numberOfScheduledCleanupJobs"""
  numberOfScheduledCleanupJobs: Int!

  """numberOfScheduledInstrumentationJobs"""
  numberOfScheduledInstrumentationJobs: Int!

  """numberOfScheduledPollingJobs"""
  numberOfScheduledPollingJobs: Int!

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.PaasItemStatus'
"""Platform as a Service (PaaS) discovery item status"""
type PaasItemStatus {
  """discoveryJobName"""
  discoveryJobName: String

  """lastMessage"""
  lastMessage: String

  """name"""
  name: String

  """percentage"""
  percentage: Int!

  """status"""
  status: DiscoveryQueueItemStatus

  """type"""
  type: PaasType

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.PaasItemStatus'
"""Platform as a Service (PaaS) discovery item status"""
input PaasItemStatusInput {
  """discoveryJobName"""
  discoveryJobName: String

  """lastMessage"""
  lastMessage: String

  """name"""
  name: String

  """percentage"""
  percentage: Int!

  """status"""
  status: DiscoveryQueueItemStatus

  """type"""
  type: PaasType

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.discovery.status.PingRangeStatus'
"""The ping range status"""
type PingRangeStatus {
  """The percent which is completed"""
  percentDone: Int!

  """The IP4 range"""
  range: IP4Range

  """The title of the range"""
  title: String

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.importing.ImportDeviceResult'
"""The result when importing a device into the database"""
type ImportDeviceResult {
  """The list of errors or empty when there successful"""
  errors: [String]

  """The list of warnings"""
  warnings: [String]

  """The log created when writing the device as XML file"""
  xmlLog: String

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.management.devices.DeviceInfo'
"""A device info object"""
type DeviceInfo {
  """The device id"""
  id: Long

  """The device name"""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.management.devices.PingIPJob'
"""A ping IP job"""
type PingIPJob {
  """The ping status"""
  pingStatus: PingStatus

  """The ip address string representation"""
  ipAddressString: String

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.management.devices.PingJob'
"""A ping job"""
type PingJob {
  """The device info"""
  deviceInfo: DeviceInfo

  """The DNS names to ping"""
  dnsNamesToPing: [String]

  """The IP4 addresses to ping"""
  ip4AddressesToPing: [IP4Address]

  """The IP4 successful pings"""
  ip4SuccessfulPings: [IP4Address]

  """The IP6 addresses to ping"""
  ip6AddressesToPing: [IP6Address]

  """The IP6 successful pings"""
  ip6SuccessfulPings: [IP6Address]

  """The job's ping status"""
  pingStatus: PingStatus

  """The job's active addresses"""
  activeAddresses: [IPAddress]

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.management.devices.RefreshEndOfLifeSupportStatus'
"""A support entitlement status"""
type RefreshEndOfLifeSupportStatus {
  """The device to which this refresh status refers to"""
  device: DeviceInfo

  """The refresh success flag"""
  success: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.management.devices.SupportEntitlementStatus'
"""A support entitlement status"""
type SupportEntitlementStatus {
  """The device to which this support entitlement status refers to"""
  device: DeviceInfo

  """The support entitlement status log"""
  log: String

  """The support entitlement status"""
  status: DiscoveryProtocolStatusEnum

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.monitoring.memory.MemoryStatistics'
"""The memory statistics A cache statistics entry contains information about the number of items within a specific cache"""
type MemoryStatistics {
  """The currently used heap space in bytes"""
  freeHeap: Long!

  """The maximum number of heap space in bytes"""
  maxHeap: Long!

  """The currently used heap space in bytes"""
  numberOfThreads: Long!

  """The currently used heap space in bytes"""
  usedHeap: Long!

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.reporting.CustomReportInfo'
"""A custom reports container"""
type CustomReportInfo {
  """The collection of global custom reports"""
  globalReports: [CustomReportDescription]

  """The collection of usergroup custom reports"""
  groupReports: [CustomReportDescription]

  """The collection of user private custom reports"""
  privateReports: [CustomReportDescription]

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.scriptandbinary.DataCollectionInfo'
"""The data collection info"""
type DataCollectionInfo {
  """The builtIn flag"""
  builtIn: Boolean!

  """The data collection type"""
  collectionType: ScriptCollectionType

  """The command line"""
  commandLine: String

  """The description"""
  description: String

  """The filename"""
  filename: String

  """The id"""
  id: Long

  """The name"""
  name: String

  """The powershell version"""
  powershellVersion: String

  """The runAsAdmin flag"""
  runAsAdmin: Boolean!

  """The script content"""
  scriptContent: String

  """The type"""
  type: DataCollectionType

}

# Mapping for Java class 'com.jdisc.inventory.common.rmiinterface.scriptandbinary.DataCollectionInfo'
"""The data collection info"""
input DataCollectionInfoInput {
  """The builtIn flag"""
  builtIn: Boolean!

  """The data collection type"""
  collectionType: ScriptCollectionType

  """The command line"""
  commandLine: String

  """The description"""
  description: String

  """The filename"""
  filename: String

  """The id"""
  id: Long

  """The name"""
  name: String

  """The powershell version"""
  powershellVersion: String

  """The runAsAdmin flag"""
  runAsAdmin: Boolean!

  """The script content"""
  scriptContent: String

  """The type"""
  type: DataCollectionType

}

# Mapping for Java class 'com.jdisc.inventory.common.server.plugin.ApplicationModeChangeOptions'
"""Application start mode change options"""
input ApplicationModeChangeOptions {
  """A reason for changing application mode"""
  comment: String

  """Whether to change application mode unconditionally or perform some consistency checks of the application mode and database"""
  forced: Boolean

  """Application mode to set"""
  mode: ApplicationStartMode

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.Device'
"""The device object specifies a single physical or virtual device together with all its properties."""
type Device {
  """The device account assignments"""
  accountAssignments: [DeviceAccountAssignment]

  """Gets all array attributes for this device (simple attached attributes or custom attributes)"""
  arrayAttributes: [DeviceArrayAttribute]

  """A device's asset tag"""
  assetTag: String

  """Gets all attributes for this device (simple attached attributes or custom attributes)"""
  attachedAttributes: [DeviceAttribute]

  """The AWSDeviceRegionAssignment state."""
  awsDeviceRegionAssignmentState: ConnectorState

  """The AzureResourceGroupAssignment state."""
  azureResourceGroupAssignmentState: ConnectorState

  """A device's BIOS"""
  bios: Bios

  """The clusters which this device belongs to"""
  clusters: [Cluster]

  """The associated computer account assigment from Microsoft's Active Directory."""
  computerAccountAssignment: [ComputerAccountDeviceAssignment]

  """A device's NetBIOS computer name"""
  computername: String

  """The time when the device was scanned for the first time."""
  creationTime: DateTime

  """The duration in milliseconds that were required to write this device's data to the database"""
  databaseDuration: Long

  """Gets all device comparison summaries for this device. When there are multiple registered device s, then you get a response with changes for each of them."""
  deviceComparisonSummaries: [DeviceComparisonSummary]

  """The DeviceDeviceConnection state."""
  deviceDeviceConnectionState: ConnectorState

  """Gets the list of all devices which are assigned to this group."""
  deviceGroups: [DeviceGroup]

  """The list of all diagnostic events.

Diagnostic events help users to identify discovery issues that result from missing configurations, protocols or issues
with the device.
"""
  diagnosticEvents: [Event]

  """The directory item that this device belongs to."""
  directory: Directory

  """The list of disabled protocols for this device"""
  disabledProtocols: [DiscoveryProtocol]

  """The list of discovery jobs that has seen this device."""
  discoveredByJobs: [DiscoveryJob]

  """The duration in milliseconds that were required to discover this device"""
  discoveryDuration: Long

  """The last discovery timestamp. This is the timestamp of the current data."""
  discoveryTime: DateTime

  """The list of disk partitions."""
  diskPartitions: [DiskPartition]

  """The list of physical disk slots."""
  diskSlots: [PhysicalDiskSlot]

  """The list of all events like shutdown, reboot, and others."""
  events: [Event]

  """The googleCloudZoneAssignment state."""
  googleCloudZoneAssignmentState: ConnectorState

  """Gets all hashes for this device"""
  hashes: [CurrentDeviceHash]

  """The hetznerDeviceLocationRelation state."""
  hetznerDeviceLocationRelationState: ConnectorState

  """A device's hardware version"""
  hwVersion: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The list of iSCSI initiator ports."""
  iscsiInitiators: [IscsiPort]

  """The list of iSCSI ports."""
  iscsiPorts: [IscsiPort]

  """The list of iSCSI target ports."""
  iscsiTargets: [IscsiPort]

  """Gets the list of issued client access licenses for this device"""
  issuedClientAccessLicenses: [IssuedClientAccessLicense]

  """The Java Risk summary for this device."""
  javaRiskSummary: JavaRiskSummary

  """Gets the list of all Java license risks"""
  javaRisks: [JavaRisk]

  """The last seen timestamp. This timestamp defines when the device has been seen the last time directly or indirectly (e.g. via a VMware VCenter installation)."""
  lastSeenTime: DateTime

  """The time when the support entitlements have been read for the last time"""
  lastSupportEntitlementTime: DateTime

  """The list of TCP/IP ports that are in listen mode."""
  listeningPorts: [PortConnection]

  """The list of logical disks."""
  logicalDisks: [LogicalDisk]

  """A logical serial number is used by some vendors in order to inject a logical serial number into the BIOS and overwrite
the device's physical serial number. This approach is used by some devices to work around licenses that are tied to
the device's serial number."""
  logicalSerialNumber: String

  """The virtual datacenters that are managed by this device (e.g. by a VCenter installation running on this device)."""
  managedVirtualDatacenters: [VirtualDatacenter]

  """The device's manufacturer"""
  manufacturer: String

  """The manufacturing timestamp"""
  manufacturingTime: DateTime

  """The list of memory module slots with their memory modules (if populated)."""
  memoryModuleSlots: [MemoryModuleSlot]

  """The list of mobile broadband devices (modems)."""
  mobileBroadbandDevices: [MobileBroadbandDevice]

  """The device's model"""
  model: String

  """The list of module slots with their modules (if populated)."""
  moduleSlots: [ModuleSlot]

  """The device's name"""
  name: String

  """The list of network interfaces."""
  networkInterfaces: [NetworkInterface]

  """The network neighborhood/domain that this device belongs to."""
  networkNeighborhood: NetworkNeighborhood

  """A device's operating system"""
  operatingSystem: OperatingSystem

  """A device's part number"""
  partNumber: String

  """Get the physical host for a virtual machine"""
  physicalHost: Device

  """The list of processor slots with their processors (if populated)."""
  processorSlots: [ProcessorSlot]

  """The SNMP read community configured for this device"""
  readCommunity: SnmpCommunity

  """The set of roles for a device."""
  roles: [DeviceRole]

  """The SOTIDeviceGroupAssignment state."""
  sOTIDeviceGroupAssignmentState: ConnectorState

  """Gets all scalar attributes for this device (simple attached attributes or custom attributes)"""
  scalarAttributes: [DeviceAttribute]

  """The list of all scheduled tasks defined for this computer."""
  scheduledTasks: [ScheduledTask]

  """The list of discovery jobs that has seen this device."""
  seenByJobs: [DiscoveryJob]

  """A device's serial number"""
  serialNumber: String

  """The basic SNMP agent information for this device."""
  snmpAgentData: SnmpAgentData

  """The SNMPv3 account configured for this device"""
  snmpV3Account: SnmpV3Account

  """The list of TCP/IP connections where the current device is initiating a TCP/IP connection."""
  sourceTcpIpPortConnections: [PortConnection]

  """Gets all support entitlements for this device"""
  supportEntitlements: [SupportEntitlement]

  """The system board for this device."""
  systemBoard: SystemBoard

  """The list of TCP/IP connections where the current device is the target of a TCP/IP connection."""
  targetTcpIpPortConnections: [PortConnection]

  """The total RAM for this device in MB"""
  totalRAM: Long

  """The TPM module for this device."""
  tpmModule: TpmModule

  """A device's type"""
  type: DeviceType

  """A device's unqiue id (if it exists)"""
  uniqueId: String

  """The list of video controller slots."""
  videoControllerSlots: [VideoControllerSlot]

  """The virtual datacenters that a device belongs to."""
  virtualDatacenters: [VirtualDatacenter]

  """Finds the array custom attribute values for a specific path"""
  arrayCustomAttributeByPath(path: String!): DeviceArrayAttribute

  """Returns the list of attached devices.
 Attached devices are usually monitors attached to a PC/laptop, local printers attached to a device etc.."""
  attachedDevices: [DeviceRelation]

  """The AWS Region information for this device."""
  awsRegion: AWSRegion

  """The AWS device state for this device."""
  awsState: ConnectorState

  """Finds a folder for a specific path"""
  customAttributeFolderByPath(path: String!): DeviceAttribute

  """Gets the comparison summaries for a specific device and integration."""
  deviceComparisonSummary(integrationUniqueId: String): DeviceComparisonSummary

  """The discovery log as XML string."""
  discoveryLog: String

  """Returns the discovery as parsed object with a hierarchy. This method is used by the UI to display a discovery log in a tree structure"""
  discoveryLogObject: Object

  """A device's discovery protocol status"""
  discoveryProtocolStatus: DeviceDiscoveryProtocolStatus

  """Returns the list of hosted virtual machines on this device."""
  hostedVirtualMachines: [Device]

  """Gets the main IP4 transport (if there is any)"""
  mainIP4Transport: IP4Transport

  """Gets the main IP6 transport (if there is any)"""
  mainIP6Transport: IP6Transport

  """The main IP4/IP6 address for the device (if the IP4/IP6 address exists). !!!! IP6 would be treated as main if both exists."""
  mainIPAddress: String

  """Returns the list of managed virtualization servers.
For instance the list of managed ESX servers managed by a VCenter server."""
  managedVirtualizationServers: [DeviceRelation]

  """Finds the scalar custom attribute values for a specific path"""
  scalarCustomAttributeByPath(path: String!): DeviceAttribute

  """Finds the scalar custom attributes within a specific folder"""
  scalaryPath(path: String!): [DeviceAttribute]

  """The list of related devices where this device is the relation's source."""
  sourceRelatedDevices: [DeviceRelation]

  """The list of related devices where this device is the relation's source with a specific connector type."""
  sourceRelatedDevicesByConnectorType(type: ConnectorType): [DeviceRelation]

  """The list of related devices where this device is the relation's source with one of the specified connector types."""
  sourceRelatedDevicesByConnectorTypes(types: [ConnectorType]): [DeviceRelation]

  """Returns the list of stack members for a stacked switch.
A stacked switch is a virtual switch being created when stacking multiple physical switches together."""
  stackedSwitchMembers: [Device]

  """The list of related devices where this device is the relation's target."""
  targetRelatedDevices: [DeviceRelation]

  """The list of related devices where this device is the relation's target with a specific connector type."""
  targetRelatedDevicesByConnectorType(type: ConnectorType): [DeviceRelation]

  """The list of related devices where this device is the relation's target with one of the specified connector types."""
  targetRelatedDevicesByConnectorTypes(types: [ConnectorType]): [DeviceRelation]

  """A flag whether a device is virtual or not"""
  isVirtual: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.Device'
"""The device object specifies a single physical or virtual device together with all its properties."""
input DeviceInput {
  """The device account assignments"""
  accountAssignments: [DeviceAccountAssignmentInput]

  """Gets all array attributes for this device (simple attached attributes or custom attributes)"""
  arrayAttributes: [DeviceArrayAttributeInput]

  """A device's asset tag"""
  assetTag: String

  """Gets all attributes for this device (simple attached attributes or custom attributes)"""
  attachedAttributes: [DeviceAttributeInput]

  """A device's BIOS"""
  bios: BiosInput

  """The clusters which this device belongs to"""
  clusters: [ClusterInput]

  """The associated computer account assigment from Microsoft's Active Directory."""
  computerAccountAssignment: [ComputerAccountDeviceAssignmentInput]

  """A device's NetBIOS computer name"""
  computername: String

  """The time when the device was scanned for the first time."""
  creationTime: DateTime

  """The duration in milliseconds that were required to write this device's data to the database"""
  databaseDuration: Long

  """Gets the list of all devices which are assigned to this group."""
  deviceGroups: [DeviceGroupInput]

  """The list of all diagnostic events.

Diagnostic events help users to identify discovery issues that result from missing configurations, protocols or issues
with the device.
"""
  diagnosticEvents: [EventInput]

  """The directory item that this device belongs to."""
  directory: DirectoryInput

  """The duration in milliseconds that were required to discover this device"""
  discoveryDuration: Long

  """The last discovery timestamp. This is the timestamp of the current data."""
  discoveryTime: DateTime

  """The list of disk partitions."""
  diskPartitions: [DiskPartitionInput]

  """The list of physical disk slots."""
  diskSlots: [PhysicalDiskSlotInput]

  """The list of all events like shutdown, reboot, and others."""
  events: [EventInput]

  """A device's hardware version"""
  hwVersion: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The list of iSCSI initiator ports."""
  iscsiInitiators: [IscsiPortInput]

  """The list of iSCSI ports."""
  iscsiPorts: [IscsiPortInput]

  """The list of iSCSI target ports."""
  iscsiTargets: [IscsiPortInput]

  """Gets the list of issued client access licenses for this device"""
  issuedClientAccessLicenses: [IssuedClientAccessLicenseInput]

  """Gets the list of all Java license risks"""
  javaRisks: [JavaRiskInput]

  """The last seen timestamp. This timestamp defines when the device has been seen the last time directly or indirectly (e.g. via a VMware VCenter installation)."""
  lastSeenTime: DateTime

  """The time when the support entitlements have been read for the last time"""
  lastSupportEntitlementTime: DateTime

  """The list of TCP/IP ports that are in listen mode."""
  listeningPorts: [PortConnectionInput]

  """The list of logical disks."""
  logicalDisks: [LogicalDiskInput]

  """A logical serial number is used by some vendors in order to inject a logical serial number into the BIOS and overwrite
the device's physical serial number. This approach is used by some devices to work around licenses that are tied to
the device's serial number."""
  logicalSerialNumber: String

  """The virtual datacenters that are managed by this device (e.g. by a VCenter installation running on this device)."""
  managedVirtualDatacenters: [VirtualDatacenterInput]

  """The device's manufacturer"""
  manufacturer: String

  """The manufacturing timestamp"""
  manufacturingTime: DateTime

  """The list of memory module slots with their memory modules (if populated)."""
  memoryModuleSlots: [MemoryModuleSlotInput]

  """The list of mobile broadband devices (modems)."""
  mobileBroadbandDevices: [MobileBroadbandDeviceInput]

  """The device's model"""
  model: String

  """The list of module slots with their modules (if populated)."""
  moduleSlots: [ModuleSlotInput]

  """The device's name"""
  name: String

  """The list of network interfaces."""
  networkInterfaces: [NetworkInterfaceInput]

  """The network neighborhood/domain that this device belongs to."""
  networkNeighborhood: NetworkNeighborhoodInput

  """A device's operating system"""
  operatingSystem: OperatingSystemInput

  """A device's part number"""
  partNumber: String

  """Get the physical host for a virtual machine"""
  physicalHost: DeviceInput

  """The list of processor slots with their processors (if populated)."""
  processorSlots: [ProcessorSlotInput]

  """The SNMP read community configured for this device"""
  readCommunity: SnmpCommunityInput

  """The set of roles for a device."""
  roles: [DeviceRole]

  """Gets all scalar attributes for this device (simple attached attributes or custom attributes)"""
  scalarAttributes: [DeviceAttributeInput]

  """The list of all scheduled tasks defined for this computer."""
  scheduledTasks: [ScheduledTaskInput]

  """A device's serial number"""
  serialNumber: String

  """The basic SNMP agent information for this device."""
  snmpAgentData: SnmpAgentDataInput

  """The SNMPv3 account configured for this device"""
  snmpV3Account: SnmpV3AccountInput

  """Gets all support entitlements for this device"""
  supportEntitlements: [SupportEntitlementInput]

  """The system board for this device."""
  systemBoard: SystemBoardInput

  """The TPM module for this device."""
  tpmModule: TpmModuleInput

  """A device's type"""
  type: DeviceType

  """A device's unqiue id (if it exists)"""
  uniqueId: String

  """The list of video controller slots."""
  videoControllerSlots: [VideoControllerSlotInput]

  """The virtual datacenters that a device belongs to."""
  virtualDatacenters: [VirtualDatacenterInput]

  """The AWS Region information for this device."""
  awsRegion: AWSRegionInput

  """The AWS device state for this device."""
  awsState: ConnectorState

  """The discovery log as XML string."""
  discoveryLog: String

  """Returns the discovery as parsed object with a hierarchy. This method is used by the UI to display a discovery log in a tree structure"""
  discoveryLogObject: Object

  """A device's discovery protocol status"""
  discoveryProtocolStatus: DeviceDiscoveryProtocolStatusInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.DeviceAccountAssignment'
"""The device account assignment is mapping table for device and accounts (1:n)"""
type DeviceAccountAssignment {
  """The account type"""
  accountType: AccountType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.DeviceAccountAssignment'
"""The device account assignment is mapping table for device and accounts (1:n)"""
input DeviceAccountAssignmentInput {
  """The account type"""
  accountType: AccountType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.MailAccount'
"""The mail account entity"""
type MailAccount {
  """The mail account authentication protocol"""
  authenticationProtocol: AuthenticationProtocol

  """The creation time."""
  creationTime: DateTime

  """The mail account encryption protocol"""
  encryptionProtocol: EncryptionProtocol

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The mail account mail server"""
  mailServer: String

  """The modification time"""
  modificationTime: DateTime

  """The mail account name"""
  name: String

  """The mail account password"""
  password: String

  """The mail account port"""
  port: Int

  """The mail account sender mail address"""
  senderMailAddress: String

  """The mail account username"""
  username: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.MailAccount'
"""The mail account entity"""
input MailAccountInput {
  """The mail account authentication protocol"""
  authenticationProtocol: AuthenticationProtocol

  """The creation time."""
  creationTime: DateTime

  """The mail account encryption protocol"""
  encryptionProtocol: EncryptionProtocol

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The mail account mail server"""
  mailServer: String

  """The modification time"""
  modificationTime: DateTime

  """The mail account name"""
  name: String

  """The mail account password"""
  password: String

  """The mail account port"""
  port: Int

  """The mail account sender mail address"""
  senderMailAddress: String

  """The mail account username"""
  username: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.NetworkStorageLocation'
"""The network storage location."""
type NetworkStorageLocation {
  """The network location account"""
  account: Account

  """The creation time of this entity."""
  creationTime: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The modification time of this entity."""
  modificationTime: DateTime

  """The network location name"""
  name: String

  """The network location path"""
  path: String

  """The network location protocol"""
  protocol: NetworkLocationProtocol

  """The network location ssh public private key account"""
  sshAccount: SSHAccount

  """The network location account login"""
  login: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.NetworkStorageLocation'
"""The network storage location."""
input NetworkStorageLocationInput {
  """The network location account"""
  account: AccountInput

  """The creation time of this entity."""
  creationTime: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The modification time of this entity."""
  modificationTime: DateTime

  """The network location name"""
  name: String

  """The network location path"""
  path: String

  """The network location protocol"""
  protocol: NetworkLocationProtocol

  """The network location ssh public private key account"""
  sshAccount: SSHAccountInput

  """The network location account login"""
  login: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.attributes.custom.CustomAttribute'
"""A custom attribute definition"""
type CustomAttribute {
  """The custom attribute type"""
  attributeType: AttributeType

  """A flag whether this is a customer defined or built-in custom attribute"""
  builtIn: Boolean

  """The direct child attributes (not the whole subtree)"""
# use Object for unknown type
  children: [Object]

  """The custom attribute description"""
  description: String

  """The list of devices having this custom attribute."""
  devices: [Device]

  """The list of enum values for this custom attribute."""
  enumValues: [CustomAttributeEnum]

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """Keep the history for this attribute for <n> hours"""
  keepHistoryForHours: Int

  """The custom attribute name"""
  name: String

  """The order number within the parent folder"""
  orderNumber: Int

  """The full path of the attribute within the hierarchy"""
  path: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.attributes.custom.CustomAttribute'
"""A custom attribute definition"""
input CustomAttributeInput {
  """The custom attribute type"""
  attributeType: AttributeType

  """A flag whether this is a customer defined or built-in custom attribute"""
  builtIn: Boolean

  """The direct child attributes (not the whole subtree)"""
  children: [CustomAttributeInput]

  """The custom attribute description"""
  description: String

  """The list of devices having this custom attribute."""
  devices: [DeviceInput]

  """The list of enum values for this custom attribute."""
  enumValues: [CustomAttributeEnumInput]

  """Keep the history for this attribute for <n> hours"""
  keepHistoryForHours: Int

  """The custom attribute name"""
  name: String

  """The order number within the parent folder"""
  orderNumber: Int

  """The full path of the attribute within the hierarchy"""
  path: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.attributes.custom.CustomAttributeEnum'
"""A custom attribute enum definition"""
type CustomAttributeEnum {
  """The custom attribute id this enum belongs to"""
  customAttributeId: ID

  """The custom attribute enum name"""
  name: ID

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.attributes.custom.CustomAttributeEnum'
"""A custom attribute enum definition"""
input CustomAttributeEnumInput {
  """The custom attribute id this enum belongs to"""
  customAttributeId: ID

  """The custom attribute enum name"""
  name: ID

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.attributes.custom.DeviceArrayAttribute'
"""a device array attribute"""
type DeviceArrayAttribute {
  """Gets the column names"""
  columnNames: [DeviceArrayAttributeColumnName]

  """The corresponding custom attribute definition"""
  customAttribute: CustomAttribute

  """The corresponding device"""
  device: Device

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The last update timestamp."""
  lastUpdate: DateTime

  """The name for device attributes which are no custom attributes."""
  name: String

  """The values as individual objects"""
  values: [DeviceArrayAttributeValue]

  """Gets the array attribute object with all values and column names"""
  array: ArrayAttribute

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.attributes.custom.DeviceArrayAttribute'
"""a device array attribute"""
input DeviceArrayAttributeInput {
  """Gets the column names"""
  columnNames: [DeviceArrayAttributeColumnNameInput]

  """The corresponding custom attribute definition"""
  customAttribute: CustomAttributeInput

  """The corresponding device"""
  device: DeviceInput

  """The last update timestamp."""
  lastUpdate: DateTime

  """The name for device attributes which are no custom attributes."""
  name: String

  """The values as individual objects"""
  values: [DeviceArrayAttributeValueInput]

  """Gets the array attribute object with all values and column names"""
  array: ArrayAttributeInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.attributes.custom.DeviceArrayAttributeColumnName'
"""a device array attribute value"""
type DeviceArrayAttributeColumnName {
  """Gets the column name for a specific column"""
  name: String

  """Gets the column index (starting with 0)"""
  index: Int

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.attributes.custom.DeviceArrayAttributeColumnName'
"""a device array attribute value"""
input DeviceArrayAttributeColumnNameInput {
  """Gets the column name for a specific column"""
  name: String

  """Gets the column index (starting with 0)"""
  index: Int

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.attributes.custom.DeviceArrayAttributeValue'
"""a device array attribute value"""
type DeviceArrayAttributeValue {
  """Gets the boolean value"""
  booleanValue: Boolean

  """Gets the float value"""
  floatValue: Float

  """Gets the integer value"""
  intValue: Int

  """Gets the long value"""
  longValue: Long

  """Gets the string value"""
  stringValue: String

  """Gets the timestamp value"""
  timestampValue: DateTime

  """The corresponding custom attribute definition"""
  value: Object

  """Gets the x position within the table (starting with 0)"""
  x: Int

  """Gets the y position within the table (starting with 0)"""
  y: Int

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.attributes.custom.DeviceArrayAttributeValue'
"""a device array attribute value"""
input DeviceArrayAttributeValueInput {
  """Gets the boolean value"""
  booleanValue: Boolean

  """Gets the float value"""
  floatValue: Float

  """Gets the integer value"""
  intValue: Int

  """Gets the long value"""
  longValue: Long

  """Gets the string value"""
  stringValue: String

  """Gets the timestamp value"""
  timestampValue: DateTime

  """The corresponding custom attribute definition"""
  value: Object

  """Gets the x position within the table (starting with 0)"""
  x: Int

  """Gets the y position within the table (starting with 0)"""
  y: Int

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.attributes.custom.DeviceAttribute'
"""a device attribute"""
type DeviceAttribute {
  """Gets the boolean value"""
  booleanValue: Boolean

  """The corresponding custom attribute definition"""
  customAttribute: CustomAttribute

  """The corresponding device"""
  device: Device

  """Gets the float value"""
  floatValue: Float

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """Gets the integer value"""
  intValue: Int

  """The last update timestamp."""
  lastUpdate: DateTime

  """Gets the long value"""
  longValue: Long

  """The name for device attributes which are no custom attributes."""
  name: String

  """Gets the string value"""
  stringValue: String

  """Gets the timestamp value"""
  timestampValue: DateTime

  """The corresponding custom attribute definition"""
  value: Object

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.attributes.custom.DeviceAttribute'
"""a device attribute"""
input DeviceAttributeInput {
  """Gets the boolean value"""
  booleanValue: Boolean

  """The corresponding custom attribute definition"""
  customAttribute: CustomAttributeInput

  """The corresponding device"""
  device: DeviceInput

  """Gets the float value"""
  floatValue: Float

  """Gets the integer value"""
  intValue: Int

  """The last update timestamp."""
  lastUpdate: DateTime

  """Gets the long value"""
  longValue: Long

  """The name for device attributes which are no custom attributes."""
  name: String

  """Gets the string value"""
  stringValue: String

  """Gets the timestamp value"""
  timestampValue: DateTime

  """The corresponding custom attribute definition"""
  value: Object

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.cloud.CloudApiKey'
"""This object contains information about a CloudApiKey object."""
type CloudApiKey {
  """The client id of the CloudApiKey object."""
  clientId: String

  """The client server of the CloudApiKey object."""
  clientSecret: String

  """The cloud type for the CloudApiKey object."""
  cloudType: CloudType

  """The comment for the CloudApiKey object."""
  comment: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The tenant id of the CloudApiKey object."""
  tenantId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.cloud.CloudApiKey'
"""This object contains information about a CloudApiKey object."""
input CloudApiKeyInput {
  """The client id of the CloudApiKey object."""
  clientId: String

  """The client server of the CloudApiKey object."""
  clientSecret: String

  """The cloud type for the CloudApiKey object."""
  cloudType: CloudType

  """The comment for the CloudApiKey object."""
  comment: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The tenant id of the CloudApiKey object."""
  tenantId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.cloud.SOTI.CloudDiscoveryConfiguration'
"""This object contains information about the CloudDiscovery Server."""
type CloudDiscoveryConfiguration {
  """The account with cloud keys of the server."""
  account: Account

  """The variable showing that the cloud account enabled has changed."""
  changed: Boolean!

  """The CloudApiKey for the Account."""
  cloudApiKey: CloudApiKey

  """The variable showing that the cloud account is enabled."""
  enabled: Boolean!

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The serverAddress of the local server."""
  serverAddress: String

  """The name of the local server."""
  serverName: String

  """The port of the local server."""
  serverPort: Int

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.cloud.SOTI.CloudDiscoveryConfiguration'
"""This object contains information about the CloudDiscovery Server."""
input CloudDiscoveryConfigurationInput {
  """The account with cloud keys of the server."""
  account: AccountInput

  """The variable showing that the cloud account enabled has changed."""
  changed: Boolean!

  """The CloudApiKey for the Account."""
  cloudApiKey: CloudApiKeyInput

  """The variable showing that the cloud account is enabled."""
  enabled: Boolean!

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The serverAddress of the local server."""
  serverAddress: String

  """The name of the local server."""
  serverName: String

  """The port of the local server."""
  serverPort: Int

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.cloud.SOTI.SOTIMobiControlDeviceGroups'
"""A device group within the SOTI MobiControl."""
type SOTIMobiControlDeviceGroups {
  """The device group name."""
  name: String

  """The parent ID of the SOTI MobiControl device group."""
  parentId: Long

  """Temporary field used during discovery to store the referenceId of the parent group. Not stored in the database."""
  parentReferenceUniqueId: String

  """The full path of the SOTI MobiControl device group."""
  path: String

  """The device group unique ID."""
  referenceId: String

  """The list of SOTI MobiControl subDevice groups."""
  subDeviceGroups: [SOTIMobiControlDeviceGroups]

  """The tenant account that has access to SOTI MobiControl API."""
  tenantId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.cloud.SOTI.SOTIMobiControlDeviceGroups'
"""A device group within the SOTI MobiControl."""
input SOTIMobiControlDeviceGroupsInput {
  """The device group name."""
  name: String

  """The parent ID of the SOTI MobiControl device group."""
  parentId: Long

  """Temporary field used during discovery to store the referenceId of the parent group. Not stored in the database."""
  parentReferenceUniqueId: String

  """The full path of the SOTI MobiControl device group."""
  path: String

  """The device group unique ID."""
  referenceId: String

  """The list of SOTI MobiControl subDevice groups."""
  subDeviceGroups: [SOTIMobiControlDeviceGroupsInput]

  """The tenant account that has access to SOTI MobiControl API."""
  tenantId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.cloud.Tenant'
"""The tenant account from cloud instance."""
type Tenant {
  """The tenant's city."""
  city: String

  """The tenant's cloud type."""
  cloudType: CloudType

  """The tenant's country."""
  country: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The tenant's phone number."""
  phoneNumber: String

  """The tenant's state."""
  state: String

  """The tenant's street."""
  street: String

  """The tenant's uuid."""
  uuid: String

  """The tenant's zipCode."""
  zipCode: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.cloud.Tenant'
"""The tenant account from cloud instance."""
input TenantInput {
  """The tenant's city."""
  city: String

  """The tenant's cloud type."""
  cloudType: CloudType

  """The tenant's country."""
  country: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The tenant's phone number."""
  phoneNumber: String

  """The tenant's state."""
  state: String

  """The tenant's street."""
  street: String

  """The tenant's uuid."""
  uuid: String

  """The tenant's zipCode."""
  zipCode: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.cloud.amazon.aws.AWSDeviceRegionAssignment'
"""The device aws assignment is mapping table for device and aws region"""
type AWSDeviceRegionAssignment {
  """The device region."""
  awsRegion: AWSRegion

  """The AWSDeviceRegionAssignment state."""
  state: ConnectorState

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.cloud.amazon.aws.AWSDeviceRegionAssignment'
"""The device aws assignment is mapping table for device and aws region"""
input AWSDeviceRegionAssignmentInput {
  """The device region."""
  awsRegion: AWSRegionInput

  """The AWSDeviceRegionAssignment state."""
  state: ConnectorState

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.cloud.amazon.aws.AWSRegion'
"""The Region from Amazon AWS."""
type AWSRegion {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The region name."""
  name: String

  """The region id."""
  regionId: String

  """The tenant for the region."""
  tenant: Tenant

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.cloud.amazon.aws.AWSRegion'
"""The Region from Amazon AWS."""
input AWSRegionInput {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The region name."""
  name: String

  """The region id."""
  regionId: String

  """The tenant for the region."""
  tenant: TenantInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.cluster.Cluster'
"""A cluster object."""
type Cluster {
  """A flag whether all cluster members have been found."""
  allMembersFound: Boolean

  """The associated cluster member virtual machines.
Note, that this is not the list of VMs running in this cluster.
It is more a configuration item in some virtualization environments (e.g. XenServer). You can associate a VM with a cluster
and then the cluster decides on which physical host of the cluster the VM gets started."""
  associatedVirtualMachines: [Device]

  """The cluster member devices"""
  clusterMembers: [Device]

  """The internal id for this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The Kubernetes daemon sets that belong to this cluster when the cluster is a Kubernetes cluster"""
  kubernetesDaemonSets: [KubernetesDaemonSet]

  """The Kubernetes deployments that belong to this cluster when the cluster is a Kubernetes cluster"""
  kubernetesDeployments: [KubernetesDeployment]

  """The Kubernetes namespaces that belong to this cluster when the cluster is a Kubernetes cluster"""
  kubernetesNamespaces: [KubernetesNamespace]

  """The Kubernetes pods that belong to this cluster when the cluster is a Kubernetes cluster"""
  kubernetesPods: [Device]

  """The Kubernetes replica sets that belong to this cluster when the cluster is a Kubernetes cluster"""
  kubernetesReplicaSets: [KubernetesReplicaSet]

  """The Kubernetes services that belong to this cluster when the cluster is a Kubernetes cluster"""
  kubernetesServices: [Device]

  """The cluster's name."""
  name: String

  """The cluster type"""
  type: ClusterType

  """The cluster's unique id."""
  uniqueId: String

  """The virtual datacenter that a cluster belongs to."""
  virtualDatacenter: VirtualDatacenter

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.cluster.Cluster'
"""A cluster object."""
input ClusterInput {
  """A flag whether all cluster members have been found."""
  allMembersFound: Boolean

  """The associated cluster member virtual machines.
Note, that this is not the list of VMs running in this cluster.
It is more a configuration item in some virtualization environments (e.g. XenServer). You can associate a VM with a cluster
and then the cluster decides on which physical host of the cluster the VM gets started."""
  associatedVirtualMachines: [DeviceInput]

  """The cluster member devices"""
  clusterMembers: [DeviceInput]

  """The Kubernetes daemon sets that belong to this cluster when the cluster is a Kubernetes cluster"""
  kubernetesDaemonSets: [KubernetesDaemonSetInput]

  """The Kubernetes deployments that belong to this cluster when the cluster is a Kubernetes cluster"""
  kubernetesDeployments: [KubernetesDeploymentInput]

  """The Kubernetes namespaces that belong to this cluster when the cluster is a Kubernetes cluster"""
  kubernetesNamespaces: [KubernetesNamespaceInput]

  """The Kubernetes pods that belong to this cluster when the cluster is a Kubernetes cluster"""
  kubernetesPods: [DeviceInput]

  """The Kubernetes replica sets that belong to this cluster when the cluster is a Kubernetes cluster"""
  kubernetesReplicaSets: [KubernetesReplicaSetInput]

  """The Kubernetes services that belong to this cluster when the cluster is a Kubernetes cluster"""
  kubernetesServices: [DeviceInput]

  """The cluster's name."""
  name: String

  """The cluster type"""
  type: ClusterType

  """The cluster's unique id."""
  uniqueId: String

  """The virtual datacenter that a cluster belongs to."""
  virtualDatacenter: VirtualDatacenterInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.database.DatabaseArchiveMeasurementSettings'
"""This is settings for archiving measurement data."""
type DatabaseArchiveMeasurementSettings {
  """Flag to include or exclude measurement addon-related data."""
  includeData: Boolean!

  """Number of days to include into measurement data history. 1 day equals 24 hours. All values will be included if not set. Negative values consider to be invalid."""
  includedMeasurementDataDays: Int

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.database.DatabaseArchiveMeasurementSettings'
"""This is settings for archiving measurement data."""
input DatabaseArchiveMeasurementSettingsInput {
  """Flag to include or exclude measurement addon-related data."""
  includeData: Boolean!

  """Number of days to include into measurement data history. 1 day equals 24 hours. All values will be included if not set. Negative values consider to be invalid."""
  includedMeasurementDataDays: Int

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.database.DatabaseArchiveSettings'
"""This is settings for archiving database."""
type DatabaseArchiveSettings {
  """A secret password to encrypt data in database archive. This field is required if discovery passwords are include into database archive."""
  encryptionPassword: String

  """Flag weather to include or exclude discovery passwords into database archive."""
  includePasswords: Boolean!

  """Measurement addon archive settings."""
  measurementAddon: DatabaseArchiveMeasurementSettings

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.database.DatabaseArchiveSettings'
"""This is settings for archiving database."""
input DatabaseArchiveSettingsInput {
  """A secret password to encrypt data in database archive. This field is required if discovery passwords are include into database archive."""
  encryptionPassword: String

  """Flag weather to include or exclude discovery passwords into database archive."""
  includePasswords: Boolean!

  """Measurement addon archive settings."""
  measurementAddon: DatabaseArchiveMeasurementSettingsInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.database.DatabaseBackupScheduledJob'
"""A database backup job object to be executed on the selected schedule."""
type DatabaseBackupScheduledJob {
  """Database archive settings"""
  archiveSettings: DatabaseArchiveSettings

  """Database backup base file name"""
  baseFileName: String

  """Database backup destination directory"""
  destinationDirectory: String

  """The internal id for this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """Database backup revisions to keep"""
  keepRevisions: Int

  """The job's export storage location"""
  networkStorageLocation: NetworkStorageLocation

  """Database backup overwrite flag"""
  overwriteFlag: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.database.DatabaseBackupScheduledJob'
"""A database backup job object to be executed on the selected schedule."""
input DatabaseBackupScheduledJobInput {
  """Database archive settings"""
  archiveSettings: DatabaseArchiveSettingsInput

  """Database backup base file name"""
  baseFileName: String

  """Database backup destination directory"""
  destinationDirectory: String

  """Database backup revisions to keep"""
  keepRevisions: Int

  """The job's export storage location"""
  networkStorageLocation: NetworkStorageLocationInput

  """Database backup overwrite flag"""
  overwriteFlag: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.database.DatabaseCompactScheduledJob'
"""The compact schedule job entity"""
type DatabaseCompactScheduledJob {
  """The scheduled job action"""
  action: ScheduleAction

  """The scheduled job creation time."""
  creationTime: DateTime

  """The scheduled job description"""
  description: String

  """The scheduled job enabled flag"""
  enabled: Boolean

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The scheduled job modification time."""
  modificationTime: DateTime

  """The scheduled job name"""
  name: String

  """The schedule linked to this scheduled job"""
  schedule: Schedule

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.database.DatabaseCompactScheduledJob'
"""The compact schedule job entity"""
input DatabaseCompactScheduledJobInput {
  """The scheduled job action"""
  action: ScheduleAction

  """The scheduled job creation time."""
  creationTime: DateTime

  """The scheduled job description"""
  description: String

  """The scheduled job enabled flag"""
  enabled: Boolean

  """The scheduled job modification time."""
  modificationTime: DateTime

  """The scheduled job name"""
  name: String

  """The schedule linked to this scheduled job"""
  schedule: ScheduleInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.directory.ComputerAccount'
"""A computer account object within Microsoft's Active Directory"""
type ComputerAccount {
  """The description."""
  description: String

  """The associated directory object."""
  directory: Directory

  """The associated hostname object."""
  hostname: Hostname

  """The last logon time for this computer account. This is not the logon time for a user logging on. It is the logon time when the computer registers itself on the domain controller."""
  lastLogonTime: DateTime

  """The computer account's unique id."""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.directory.ComputerAccount'
"""A computer account object within Microsoft's Active Directory"""
input ComputerAccountInput {
  """The description."""
  description: String

  """The associated directory object."""
  directory: DirectoryInput

  """The associated hostname object."""
  hostname: HostnameInput

  """The last logon time for this computer account. This is not the logon time for a user logging on. It is the logon time when the computer registers itself on the domain controller."""
  lastLogonTime: DateTime

  """The computer account's unique id."""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.directory.ComputerAccountDeviceAssignment'
"""A computer account object within Microsoft's Active Directory associated with a device"""
type ComputerAccountDeviceAssignment {
  """The associated computer account object"""
  computerAccount: ComputerAccount

  """The computer account name."""
  name: String

  """The associated device."""
  device: Device

  """The associated directory object."""
  directory: Directory

  """The associated hostname object."""
  hostname: Hostname

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.directory.ComputerAccountDeviceAssignment'
"""A computer account object within Microsoft's Active Directory associated with a device"""
input ComputerAccountDeviceAssignmentInput {
  """The associated computer account object"""
  computerAccount: ComputerAccountInput

  """The computer account name."""
  name: String

  """The associated device."""
  device: DeviceInput

  """The associated directory object."""
  directory: DirectoryInput

  """The associated hostname object."""
  hostname: HostnameInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.Directory'
"""A directory object"""
type Directory {
  """The directory canonical name."""
  canonicalName: String

  """The child directories."""
  children: [Directory]

  """The computer accounts associated with the directory."""
  computerAccounts: [ComputerAccount]

  """The list of devices which are assigned to this directory (directly not via children)."""
  devices: [Device]

  """The last discovery timestamp. This is the timestamp when devices of this directory item has been scanned for the last time."""
  discoveryTime: DateTime

  """The directory distinguished name."""
  distinguishedName: String

  """The directory guid."""
  guid: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The directory name."""
  name: String

  """The directory netbios name."""
  netBiosName: String

  """The number of computer members."""
  numberOfComputerMembers: Int

  """The parent directory."""
  parentDirectory: Directory

  """The directory type."""
  type: DirectoryType

  """The directory unique id."""
  uniqueId: String

  """The list of users assigned to this directory object."""
  users: [User]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.Directory'
"""A directory object"""
input DirectoryInput {
  """The directory canonical name."""
  canonicalName: String

  """The child directories."""
  children: [DirectoryInput]

  """The computer accounts associated with the directory."""
  computerAccounts: [ComputerAccountInput]

  """The list of devices which are assigned to this directory (directly not via children)."""
  devices: [DeviceInput]

  """The last discovery timestamp. This is the timestamp when devices of this directory item has been scanned for the last time."""
  discoveryTime: DateTime

  """The directory distinguished name."""
  distinguishedName: String

  """The directory guid."""
  guid: String

  """The directory name."""
  name: String

  """The directory netbios name."""
  netBiosName: String

  """The number of computer members."""
  numberOfComputerMembers: Int

  """The parent directory."""
  parentDirectory: DirectoryInput

  """The directory type."""
  type: DirectoryType

  """The directory unique id."""
  uniqueId: String

  """The list of users assigned to this directory object."""
  users: [UserInput]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.Hostname'
"""A hostname object"""
type Hostname {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The hostname."""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.Hostname'
"""A hostname object"""
input HostnameInput {
  """The hostname."""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.IP4DHCPConfiguration'
"""The DHCP configuration for an interface"""
type IP4DHCPConfiguration {
  """The dhcp server's IP4 address."""
  dhcpServerIP4Address: IP4Address

  """The IP4 transport object of the DHCP server (if the DHCP server has been scanned)."""
  dhcpServerIP4Transport: IP4Transport

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The time when the DHCP lease will expire."""
  leaseExpires: DateTime

  """The time when the DHCP lease was obtained."""
  leaseObtained: DateTime

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.IP4DHCPConfiguration'
"""The DHCP configuration for an interface"""
input IP4DHCPConfigurationInput {
  """The dhcp server's IP4 address."""
  dhcpServerIP4Address: IP4Address

  """The IP4 transport object of the DHCP server (if the DHCP server has been scanned)."""
  dhcpServerIP4Transport: IP4TransportInput

  """The time when the DHCP lease will expire."""
  leaseExpires: DateTime

  """The time when the DHCP lease was obtained."""
  leaseObtained: DateTime

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.IP4Network'
"""An IP4 network object holding the IP base address, subnet mask and the name"""
type IP4Network {
  """The list of devices belonging to this network."""
  devices: [Device]

  """The directory of the IPv4 network."""
  directory: Directory

  """The IPv4 network's first IP address."""
  firstAddress: IP4Address

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The IPv4 network's last IP address."""
  lastAddress: IP4Address

  """The IPv4 network's location."""
  location: String

  """The IPv4 network's name."""
  name: String

  """A flag that indicates whether the network's name has been configured manually or whether it has been discovered (e.g. via AD)."""
  nameManuallyConfigured: Boolean

  """The IPv4 network's base address."""
  networkBaseAddress: IP4Address

  """A network's parent network (if it exists)."""
  parentNetwork: IP4Network

  """The IPv4 network's subnet mask."""
  subnetMask: IP4Address

  """The list of IP4 transports associated with this network."""
  transports: [IP4Transport]

  """The network type of the IPv4 network."""
  type: NetworkType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.IP4Network'
"""An IP4 network object holding the IP base address, subnet mask and the name"""
input IP4NetworkInput {
  """The list of devices belonging to this network."""
  devices: [DeviceInput]

  """The directory of the IPv4 network."""
  directory: DirectoryInput

  """The IPv4 network's first IP address."""
  firstAddress: IP4Address

  """The IPv4 network's last IP address."""
  lastAddress: IP4Address

  """The IPv4 network's location."""
  location: String

  """The IPv4 network's name."""
  name: String

  """A flag that indicates whether the network's name has been configured manually or whether it has been discovered (e.g. via AD)."""
  nameManuallyConfigured: Boolean

  """The IPv4 network's base address."""
  networkBaseAddress: IP4Address

  """A network's parent network (if it exists)."""
  parentNetwork: IP4NetworkInput

  """The IPv4 network's subnet mask."""
  subnetMask: IP4Address

  """The list of IP4 transports associated with this network."""
  transports: [IP4TransportInput]

  """The network type of the IPv4 network."""
  type: NetworkType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.IP4Transport'
"""An IP4 transport holding the IP address, subnet mask and hostnames"""
type IP4Transport {
  """The transport hostnames."""
  hostnames: [String]

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The transport's IP4 address."""
  ipAddress: IP4Address

  """A flag that indicates whether this is the device's main IP address."""
  isMainAddress: Boolean

  """A flag that indicates whether this transport is routing or not."""
  isRouting: Boolean

  """The assigned network for a transport."""
  network: IP4Network

  """The network interface where this transport is configured on."""
  networkInterface: NetworkInterface

  """The transport's configured IP4 subnet mask."""
  subnetMask: IP4Address

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.IP4Transport'
"""An IP4 transport holding the IP address, subnet mask and hostnames"""
input IP4TransportInput {
  """The transport hostnames."""
  hostnames: [String]

  """The transport's IP4 address."""
  ipAddress: IP4Address

  """A flag that indicates whether this is the device's main IP address."""
  isMainAddress: Boolean

  """A flag that indicates whether this transport is routing or not."""
  isRouting: Boolean

  """The assigned network for a transport."""
  network: IP4NetworkInput

  """The transport's configured IP4 subnet mask."""
  subnetMask: IP4Address

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.IP6Network'
"""An IP6 network holding the IP address base address, prefix length and network name"""
type IP6Network {
  """The list of devices belonging to this network."""
  devices: [Device]

  """The IPv6 network's first IP address."""
  firstAddress: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The IPv6 network's last IP address."""
  lastAddress: String

  """The IPv6 network's location."""
  location: String

  """The IPv6 network's name."""
  name: String

  """A flag that indicates whether the network's name has been configured manually or whether it has been discovered (e.g. via AD)."""
  nameManuallyConfigured: Boolean

  """The IPv6 network's base address."""
  networkBaseAddress: String

  """A network's parent network (if it exists)."""
  parentNetwork: IP6Network

  """An IP6 network's configured prefix length."""
  prefixLength: Int

  """The list of IP6 transports associated with this network."""
  transports: [IP6Transport]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.IP6Network'
"""An IP6 network holding the IP address base address, prefix length and network name"""
input IP6NetworkInput {
  """The list of devices belonging to this network."""
  devices: [DeviceInput]

  """The IPv6 network's first IP address."""
  firstAddress: String

  """The IPv6 network's last IP address."""
  lastAddress: String

  """The IPv6 network's location."""
  location: String

  """The IPv6 network's name."""
  name: String

  """A flag that indicates whether the network's name has been configured manually or whether it has been discovered (e.g. via AD)."""
  nameManuallyConfigured: Boolean

  """The IPv6 network's base address."""
  networkBaseAddress: String

  """A network's parent network (if it exists)."""
  parentNetwork: IP6NetworkInput

  """An IP6 network's configured prefix length."""
  prefixLength: Int

  """The list of IP6 transports associated with this network."""
  transports: [IP6TransportInput]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.IP6Transport'
"""An IP6 transport holding the IP address, prefix length and hostnames"""
type IP6Transport {
  """The transport's configured prefix length."""
  configuredPrefixLength: Int

  """The transport hostnames."""
  hostnames: [String]

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The transport's IP6 address."""
  ipAddress: String

  """A flag that indicates whether this is the device's main IP address."""
  isMainAddress: Boolean

  """A flag that indicates whether this transport is routing or not."""
  isRouting: Boolean

  """The assigned network for a transport."""
  network: IP6Network

  """The network interface where this transport is configured on."""
  networkInterface: NetworkInterface

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.IP6Transport'
"""An IP6 transport holding the IP address, prefix length and hostnames"""
input IP6TransportInput {
  """The transport's configured prefix length."""
  configuredPrefixLength: Int

  """The transport hostnames."""
  hostnames: [String]

  """The transport's IP6 address."""
  ipAddress: String

  """A flag that indicates whether this is the device's main IP address."""
  isMainAddress: Boolean

  """A flag that indicates whether this transport is routing or not."""
  isRouting: Boolean

  """The assigned network for a transport."""
  network: IP6NetworkInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.IPDnsServerConfiguration'
"""The DNS server configuration for an interface"""
type IPDnsServerConfiguration {
  """The DNS server IP4 address."""
  dnsServerIP4Address: IP4Address

  """The assigned IP4 transport for the DNS server."""
  dnsServerIP4Transport: IP4Transport

  """The DNS server IP6 address."""
  dnsServerIP6Address: String

  """The assigned IP6 transport for the DNS server."""
  dnsServerIP6Transport: IP6Transport

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The location in the DNS server search order."""
  position: Int

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.IPDnsServerConfiguration'
"""The DNS server configuration for an interface"""
input IPDnsServerConfigurationInput {
  """The DNS server IP4 address."""
  dnsServerIP4Address: IP4Address

  """The assigned IP4 transport for the DNS server."""
  dnsServerIP4Transport: IP4TransportInput

  """The DNS server IP6 address."""
  dnsServerIP6Address: String

  """The assigned IP6 transport for the DNS server."""
  dnsServerIP6Transport: IP6TransportInput

  """The location in the DNS server search order."""
  position: Int

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.Layer2Topology'
"""A relation between two devices. The kind of relation is defined by the relation type."""
type Layer2Topology {
  """The first network interface for the topology"""
  networkInterface1: NetworkInterface

  """The second network interface for the topology"""
  networkInterface2: NetworkInterface

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.Layer2Topology'
"""A relation between two devices. The kind of relation is defined by the relation type."""
input Layer2TopologyInput {
  """The first network interface for the topology"""
  networkInterface1: NetworkInterfaceInput

  """The second network interface for the topology"""
  networkInterface2: NetworkInterfaceInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.NetworkNeighborhood'
"""The network neighborhood (Windows domain)"""
type NetworkNeighborhood {
  """The list of devices assigned to the network neighborhood (Windows domain and workgroup)."""
  devices: [Device]

  """The license for a BIOS"""
  directory: Directory

  """The last discovery timestamp. This is the timestamp when the domain has been browsed for the last time."""
  discoveryTime: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The network neighborhood/domain name."""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.NetworkNeighborhood'
"""The network neighborhood (Windows domain)"""
input NetworkNeighborhoodInput {
  """The list of devices assigned to the network neighborhood (Windows domain and workgroup)."""
  devices: [DeviceInput]

  """The license for a BIOS"""
  directory: DirectoryInput

  """The last discovery timestamp. This is the timestamp when the domain has been browsed for the last time."""
  discoveryTime: DateTime

  """The network neighborhood/domain name."""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.TopologyConnection'
"""A relation between two devices. The kind of relation is defined by the relation type."""
type TopologyConnection {
  """The timestamp when this connection was seen the last time"""
  lastSeenTimestamp: DateTime

  """The first network interface for the topology"""
  networkInterface1: NetworkInterface

  """The second network interface for the topology"""
  networkInterface2: NetworkInterface

  """The protocol which has been used to determine this connection"""
  protocol: LinkLayerNeighborProtocol

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.TopologyConnection'
"""A relation between two devices. The kind of relation is defined by the relation type."""
input TopologyConnectionInput {
  """The timestamp when this connection was seen the last time"""
  lastSeenTimestamp: DateTime

  """The first network interface for the topology"""
  networkInterface1: NetworkInterfaceInput

  """The second network interface for the topology"""
  networkInterface2: NetworkInterfaceInput

  """The protocol which has been used to determine this connection"""
  protocol: LinkLayerNeighborProtocol

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.Vlan'
"""A VLAN"""
type Vlan {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The vlan name."""
  name: String

  """The list of network interfaces using this vlan."""
  networkInterfaces: [NetworkInterface]

  """The numeric vlan id."""
  vlanId: Int

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.network.Vlan'
"""A VLAN"""
input VlanInput {
  """The vlan name."""
  name: String

  """The numeric vlan id."""
  vlanId: Int

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.Schedule'
"""A schedule defines when and how often to execute recurring tasks."""
type Schedule {
  """The schedule creation time."""
  creationTime: DateTime

  """The schedule day of month"""
  dayOfMonth: Int

  """The schedule day of week"""
  dayOfWeek: Int

  """The schedule exceptions"""
  exceptions: [ScheduleException]

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The schedule modification time."""
  modificationTime: DateTime

  """The schedule frequency in seconds"""
  secondsFrequency: Int

  """The schedule timestamp"""
  ts: DateTime

  """The schedule type"""
  type: ScheduleType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.Schedule'
"""A schedule defines when and how often to execute recurring tasks."""
input ScheduleInput {
  """The schedule creation time."""
  creationTime: DateTime

  """The schedule day of month"""
  dayOfMonth: Int

  """The schedule day of week"""
  dayOfWeek: Int

  """The schedule exceptions"""
  exceptions: [ScheduleExceptionInput]

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The schedule modification time."""
  modificationTime: DateTime

  """The schedule frequency in seconds"""
  secondsFrequency: Int

  """The schedule timestamp"""
  ts: DateTime

  """The schedule type"""
  type: ScheduleType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ScheduleException'
"""The schedule exception. The exception defines when a scheduled job should NOT be running."""
type ScheduleException {
  """The schedule creation time."""
  creationTime: DateTime

  """The days of the exception"""
  days: [Int]

  """The schedule exception start time"""
  fromTime: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The schedule modification time."""
  modificationTime: DateTime

  """The schedule which this exception belongs to"""
  schedule: Schedule

  """The schedule exception end time"""
  toTime: DateTime

  """The schedule type"""
  type: ScheduleType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ScheduleException'
"""The schedule exception. The exception defines when a scheduled job should NOT be running."""
input ScheduleExceptionInput {
  """The schedule creation time."""
  creationTime: DateTime

  """The days of the exception"""
  days: [Int]

  """The schedule exception start time"""
  fromTime: DateTime

  """The schedule modification time."""
  modificationTime: DateTime

  """The schedule which this exception belongs to"""
  schedule: ScheduleInput

  """The schedule exception end time"""
  toTime: DateTime

  """The schedule type"""
  type: ScheduleType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ScheduledDatabaseArchiveJob'
"""Scheduled database archive job"""
type ScheduledDatabaseArchiveJob {
  """The scheduled job action"""
  action: ScheduleAction

  """The scheduled job creation time."""
  creationTime: DateTime

  """The scheduled job description"""
  description: String

  """The scheduled job enabled flag"""
  enabled: Boolean

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The scheduled job modification time."""
  modificationTime: DateTime

  """The scheduled job name"""
  name: String

  """The schedule linked to this scheduled job"""
  schedule: Schedule

  """Database archive settings"""
  databaseBackupJob: DatabaseBackupScheduledJob

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ScheduledDatabaseArchiveJob'
"""Scheduled database archive job"""
input ScheduledDatabaseArchiveJobInput {
  """The scheduled job action"""
  action: ScheduleAction

  """The scheduled job creation time."""
  creationTime: DateTime

  """The scheduled job description"""
  description: String

  """The scheduled job enabled flag"""
  enabled: Boolean

  """The scheduled job modification time."""
  modificationTime: DateTime

  """The scheduled job name"""
  name: String

  """The schedule linked to this scheduled job"""
  schedule: ScheduleInput

  """Database archive settings"""
  databaseBackupJob: DatabaseBackupScheduledJobInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ScheduledDeviceHistoryJob'
"""Scheduled device history job"""
type ScheduledDeviceHistoryJob {
  """The scheduled job action"""
  action: ScheduleAction

  """The scheduled job creation time."""
  creationTime: DateTime

  """The scheduled job description"""
  description: String

  """The scheduled job enabled flag"""
  enabled: Boolean

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The scheduled job modification time."""
  modificationTime: DateTime

  """The scheduled job name"""
  name: String

  """The schedule linked to this scheduled job"""
  schedule: Schedule

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ScheduledDeviceHistoryJob'
"""Scheduled device history job"""
input ScheduledDeviceHistoryJobInput {
  """The scheduled job action"""
  action: ScheduleAction

  """The scheduled job creation time."""
  creationTime: DateTime

  """The scheduled job description"""
  description: String

  """The scheduled job enabled flag"""
  enabled: Boolean

  """The scheduled job modification time."""
  modificationTime: DateTime

  """The scheduled job name"""
  name: String

  """The schedule linked to this scheduled job"""
  schedule: ScheduleInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ScheduledDiscoveryJob'
"""Scheduled discovery job"""
type ScheduledDiscoveryJob {
  """The scheduled job action"""
  action: ScheduleAction

  """The scheduled job creation time."""
  creationTime: DateTime

  """The scheduled job description"""
  description: String

  """The scheduled job enabled flag"""
  enabled: Boolean

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The scheduled job modification time."""
  modificationTime: DateTime

  """The scheduled job name"""
  name: String

  """The schedule linked to this scheduled job"""
  schedule: Schedule

  """The discovery job having this scheduled job. Can be null when the scheduled job does not belong to an entity"""
  discoveryJob: DiscoveryJob

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ScheduledDiscoveryJob'
"""Scheduled discovery job"""
input ScheduledDiscoveryJobInput {
  """The scheduled job action"""
  action: ScheduleAction

  """The scheduled job creation time."""
  creationTime: DateTime

  """The scheduled job description"""
  description: String

  """The scheduled job enabled flag"""
  enabled: Boolean

  """The scheduled job modification time."""
  modificationTime: DateTime

  """The scheduled job name"""
  name: String

  """The schedule linked to this scheduled job"""
  schedule: ScheduleInput

  """The discovery job having this scheduled job. Can be null when the scheduled job does not belong to an entity"""
  discoveryJob: DiscoveryJobInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ScheduledJob'
"""The schedule job entity"""
type ScheduledJob {
  """The scheduled job action"""
  action: ScheduleAction

  """The scheduled job creation time."""
  creationTime: DateTime

  """The scheduled job description"""
  description: String

  """The scheduled job enabled flag"""
  enabled: Boolean

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The scheduled job modification time."""
  modificationTime: DateTime

  """The scheduled job name"""
  name: String

  """The schedule linked to this scheduled job"""
  schedule: Schedule

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ScheduledJob'
"""The schedule job entity"""
input ScheduledJobInput {
  """The scheduled job action"""
  action: ScheduleAction

  """The scheduled job creation time."""
  creationTime: DateTime

  """The scheduled job description"""
  description: String

  """The scheduled job enabled flag"""
  enabled: Boolean

  """The scheduled job modification time."""
  modificationTime: DateTime

  """The scheduled job name"""
  name: String

  """The schedule linked to this scheduled job"""
  schedule: ScheduleInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ScheduledReportExportJob'
"""Scheduled report export job to network location"""
type ScheduledReportExportJob {
  """The scheduled job action"""
  action: ScheduleAction

  """The scheduled job creation time."""
  creationTime: DateTime

  """The scheduled job description"""
  description: String

  """The scheduled job enabled flag"""
  enabled: Boolean

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The scheduled job modification time."""
  modificationTime: DateTime

  """The scheduled job name"""
  name: String

  """The schedule linked to this scheduled job"""
  schedule: Schedule

  """The report export network job having this scheduled job"""
  reportExportJob: ReportNetworkExportJob

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ScheduledReportExportJob'
"""Scheduled report export job to network location"""
input ScheduledReportExportJobInput {
  """The scheduled job action"""
  action: ScheduleAction

  """The scheduled job creation time."""
  creationTime: DateTime

  """The scheduled job description"""
  description: String

  """The scheduled job enabled flag"""
  enabled: Boolean

  """The scheduled job modification time."""
  modificationTime: DateTime

  """The scheduled job name"""
  name: String

  """The schedule linked to this scheduled job"""
  schedule: ScheduleInput

  """The report export network job having this scheduled job"""
  reportExportJob: ReportNetworkExportJobInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ScheduledReportMailJob'
"""Scheduled report export job to email"""
type ScheduledReportMailJob {
  """The scheduled job action"""
  action: ScheduleAction

  """The scheduled job creation time."""
  creationTime: DateTime

  """The scheduled job description"""
  description: String

  """The scheduled job enabled flag"""
  enabled: Boolean

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The scheduled job modification time."""
  modificationTime: DateTime

  """The scheduled job name"""
  name: String

  """The schedule linked to this scheduled job"""
  schedule: Schedule

  """The report export mail job having this scheduled job"""
  reportMailExportJob: ReportMailExportJob

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ScheduledReportMailJob'
"""Scheduled report export job to email"""
input ScheduledReportMailJobInput {
  """The scheduled job action"""
  action: ScheduleAction

  """The scheduled job creation time."""
  creationTime: DateTime

  """The scheduled job description"""
  description: String

  """The scheduled job enabled flag"""
  enabled: Boolean

  """The scheduled job modification time."""
  modificationTime: DateTime

  """The scheduled job name"""
  name: String

  """The schedule linked to this scheduled job"""
  schedule: ScheduleInput

  """The report export mail job having this scheduled job"""
  reportMailExportJob: ReportMailExportJobInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ScheduledRunTopologyJob'
"""Scheduled network topology job"""
type ScheduledRunTopologyJob {
  """The scheduled job action"""
  action: ScheduleAction

  """The scheduled job creation time."""
  creationTime: DateTime

  """The scheduled job description"""
  description: String

  """The scheduled job enabled flag"""
  enabled: Boolean

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The scheduled job modification time."""
  modificationTime: DateTime

  """The scheduled job name"""
  name: String

  """The schedule linked to this scheduled job"""
  schedule: Schedule

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ScheduledRunTopologyJob'
"""Scheduled network topology job"""
input ScheduledRunTopologyJobInput {
  """The scheduled job action"""
  action: ScheduleAction

  """The scheduled job creation time."""
  creationTime: DateTime

  """The scheduled job description"""
  description: String

  """The scheduled job enabled flag"""
  enabled: Boolean

  """The scheduled job modification time."""
  modificationTime: DateTime

  """The scheduled job name"""
  name: String

  """The schedule linked to this scheduled job"""
  schedule: ScheduleInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ScheduledRunnableJob'
"""Scheduled report export job to email"""
type ScheduledRunnableJob {
  """The scheduled job action"""
  action: ScheduleAction

  """The scheduled job creation time."""
  creationTime: DateTime

  """The scheduled job description"""
  description: String

  """The scheduled job enabled flag"""
  enabled: Boolean

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The scheduled job modification time."""
  modificationTime: DateTime

  """The scheduled job name"""
  name: String

  """The schedule linked to this scheduled job"""
  schedule: Schedule

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ScheduledRunnableJob'
"""Scheduled report export job to email"""
input ScheduledRunnableJobInput {
  """The scheduled job action"""
  action: ScheduleAction

  """The scheduled job creation time."""
  creationTime: DateTime

  """The scheduled job description"""
  description: String

  """The scheduled job enabled flag"""
  enabled: Boolean

  """The scheduled job modification time."""
  modificationTime: DateTime

  """The scheduled job name"""
  name: String

  """The schedule linked to this scheduled job"""
  schedule: ScheduleInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ScheduledShiUploadJob'
"""Scheduled report export job to email"""
type ScheduledShiUploadJob {
  """The scheduled job action"""
  action: ScheduleAction

  """The scheduled job creation time."""
  creationTime: DateTime

  """The scheduled job description"""
  description: String

  """The scheduled job enabled flag"""
  enabled: Boolean

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The scheduled job modification time."""
  modificationTime: DateTime

  """The scheduled job name"""
  name: String

  """The schedule linked to this scheduled job"""
  schedule: Schedule

  """The report export mail job having this scheduled job"""
  shiUploadSettings: ShiUploadSettings

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ScheduledShiUploadJob'
"""Scheduled report export job to email"""
input ScheduledShiUploadJobInput {
  """The scheduled job action"""
  action: ScheduleAction

  """The scheduled job creation time."""
  creationTime: DateTime

  """The scheduled job description"""
  description: String

  """The scheduled job enabled flag"""
  enabled: Boolean

  """The scheduled job modification time."""
  modificationTime: DateTime

  """The scheduled job name"""
  name: String

  """The schedule linked to this scheduled job"""
  schedule: ScheduleInput

  """The report export mail job having this scheduled job"""
  shiUploadSettings: ShiUploadSettingsInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ShiUploadSettings'
"""A SHI upload job.
TODO: this is so far incomplete entity."""
type ShiUploadSettings {
  deviceageindays: Int
  """The internal id for this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduled.ShiUploadSettings'
"""A SHI upload job.
TODO: this is so far incomplete entity."""
input ShiUploadSettingsInput {
  deviceageindays: Int
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduledtasks.ScheduledTask'
"""A scheduled task defined for a device"""
type ScheduledTask {
  """The scheduled task author."""
  author: String

  """The list of scheduled task Microsoft COM handler actions."""
  comHandlerActions: [ScheduledTaskComHandlerAction]

  """The scheduled task description."""
  description: String

  """The device to which this scheduled task belongs to."""
  device: Device

  """The list of scheduled task email actions."""
  emailActions: [ScheduledTaskEmailAction]

  """Flag whether the scheduled task is enabled."""
  enabled: Boolean

  """The list of scheduled task execute actions."""
  executeActions: [ScheduledTaskExecuteAction]

  """Flag whether the scheduled task is hidden."""
  hidden: Boolean

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The last duration in milliseconds (only available when  scheduled task operation event logging enabled on the device)"""
  lastDuration: Long

  """The timestamp when the task has been executed for the last time."""
  lastExecutedTime: DateTime

  """The scheduled task logon type."""
  logonType: DeviceScheduledTaskLogonType

  """The list of scheduled task email actions."""
  messageActions: [ScheduledTaskMessageAction]

  """The scheduled task registration date."""
  registrationDate: DateTime

  """The scheduled task logon type."""
  runlevel: DeviceScheduledTaskRunLevelType

  """The list of scheduled task triggers."""
  triggers: [ScheduledTaskTrigger]

  """The URI for the scheduled task."""
  uri: String

  """The last execution result."""
  lastExecutionResult: String

  """The user which this task runs as."""
  runUser: String

  """The user group which this task runs as."""
  runUserGroup: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduledtasks.ScheduledTask'
"""A scheduled task defined for a device"""
input ScheduledTaskInput {
  """The scheduled task author."""
  author: String

  """The list of scheduled task Microsoft COM handler actions."""
  comHandlerActions: [ScheduledTaskComHandlerActionInput]

  """The scheduled task description."""
  description: String

  """The device to which this scheduled task belongs to."""
  device: DeviceInput

  """The list of scheduled task email actions."""
  emailActions: [ScheduledTaskEmailActionInput]

  """Flag whether the scheduled task is enabled."""
  enabled: Boolean

  """The list of scheduled task execute actions."""
  executeActions: [ScheduledTaskExecuteActionInput]

  """Flag whether the scheduled task is hidden."""
  hidden: Boolean

  """The last duration in milliseconds (only available when  scheduled task operation event logging enabled on the device)"""
  lastDuration: Long

  """The timestamp when the task has been executed for the last time."""
  lastExecutedTime: DateTime

  """The scheduled task logon type."""
  logonType: DeviceScheduledTaskLogonType

  """The list of scheduled task email actions."""
  messageActions: [ScheduledTaskMessageActionInput]

  """The scheduled task registration date."""
  registrationDate: DateTime

  """The scheduled task logon type."""
  runlevel: DeviceScheduledTaskRunLevelType

  """The list of scheduled task triggers."""
  triggers: [ScheduledTaskTriggerInput]

  """The URI for the scheduled task."""
  uri: String

  """The last execution result."""
  lastExecutionResult: String

  """The user which this task runs as."""
  runUser: String

  """The user group which this task runs as."""
  runUserGroup: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduledtasks.ScheduledTaskComHandlerAction'
"""The action associated with the scheduled task"""
type ScheduledTaskComHandlerAction {
  """The COM handler"""
  comHandler: String

  """Additional data for the COM handler action"""
  data: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The action's scheduled task."""
  scheduledTask: ScheduledTask

  """The action type"""
  type: DeviceScheduledTaskActionType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduledtasks.ScheduledTaskComHandlerAction'
"""The action associated with the scheduled task"""
input ScheduledTaskComHandlerActionInput {
  """The COM handler"""
  comHandler: String

  """Additional data for the COM handler action"""
  data: String

  """The action's scheduled task."""
  scheduledTask: ScheduledTaskInput

  """The action type"""
  type: DeviceScheduledTaskActionType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduledtasks.ScheduledTaskEmailAction'
"""The action associated with the scheduled task"""
type ScheduledTaskEmailAction {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The email receiver"""
  receiver: String

  """The action's scheduled task."""
  scheduledTask: ScheduledTask

  """The email subject"""
  subject: String

  """The action type"""
  type: DeviceScheduledTaskActionType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduledtasks.ScheduledTaskEmailAction'
"""The action associated with the scheduled task"""
input ScheduledTaskEmailActionInput {
  """The email receiver"""
  receiver: String

  """The action's scheduled task."""
  scheduledTask: ScheduledTaskInput

  """The email subject"""
  subject: String

  """The action type"""
  type: DeviceScheduledTaskActionType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduledtasks.ScheduledTaskExecuteAction'
"""The action associated with the scheduled task"""
type ScheduledTaskExecuteAction {
  """The command to execute this scheduled task"""
  command: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The action's scheduled task."""
  scheduledTask: ScheduledTask

  """The action type"""
  type: DeviceScheduledTaskActionType

  """The working directory for the action"""
  workingDirectory: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduledtasks.ScheduledTaskExecuteAction'
"""The action associated with the scheduled task"""
input ScheduledTaskExecuteActionInput {
  """The command to execute this scheduled task"""
  command: String

  """The action's scheduled task."""
  scheduledTask: ScheduledTaskInput

  """The action type"""
  type: DeviceScheduledTaskActionType

  """The working directory for the action"""
  workingDirectory: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduledtasks.ScheduledTaskMessageAction'
"""The action associated with the scheduled task"""
type ScheduledTaskMessageAction {
  """The message body"""
  body: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The action's scheduled task."""
  scheduledTask: ScheduledTask

  """The message title"""
  title: String

  """The action type"""
  type: DeviceScheduledTaskActionType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduledtasks.ScheduledTaskMessageAction'
"""The action associated with the scheduled task"""
input ScheduledTaskMessageActionInput {
  """The message body"""
  body: String

  """The action's scheduled task."""
  scheduledTask: ScheduledTaskInput

  """The message title"""
  title: String

  """The action type"""
  type: DeviceScheduledTaskActionType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduledtasks.ScheduledTaskTrigger'
"""A trigger for a scheduled task. Triggers define when a scheduled task is supposed to start"""
type ScheduledTaskTrigger {
  """The enabled flag for the trigge."""
  enabled: Boolean

  """The scheduled task's frequency."""
  frequency: DeviceScheduledTaskTriggerFrequency

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The scheduled task's schedule."""
  schedule: String

  """The trigger's scheduled task."""
  scheduledTask: ScheduledTask

  """The enabled flag for the trigger."""
  type: DeviceScheduledTaskTriggerType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.scheduledtasks.ScheduledTaskTrigger'
"""A trigger for a scheduled task. Triggers define when a scheduled task is supposed to start"""
input ScheduledTaskTriggerInput {
  """The enabled flag for the trigge."""
  enabled: Boolean

  """The scheduled task's frequency."""
  frequency: DeviceScheduledTaskTriggerFrequency

  """The scheduled task's schedule."""
  schedule: String

  """The trigger's scheduled task."""
  scheduledTask: ScheduledTaskInput

  """The enabled flag for the trigger."""
  type: DeviceScheduledTaskTriggerType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.ssh.SshCipherAlgorithm'
"""A SSH cipher algorithm"""
type SshCipherAlgorithm {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The cipher name."""
  name: String

  """The list of operating systems using this SSH cipher algorithm."""
  operatingSystems: [OperatingSystem]

  """The cipher algorithm strength."""
  strength: SecurityAlgorithmStrength

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.ssh.SshCipherAlgorithm'
"""A SSH cipher algorithm"""
input SshCipherAlgorithmInput {
  """The cipher name."""
  name: String

  """The list of operating systems using this SSH cipher algorithm."""
  operatingSystems: [OperatingSystemInput]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.ssh.SshKeyExchangeAlgorithm'
"""A SSH MAC algorithm"""
type SshKeyExchangeAlgorithm {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The key-exchange algorithm name."""
  name: String

  """The list of operating systems using this SSH key-exchange algorithm."""
  operatingSystems: [OperatingSystem]

  """The key-exchange algorithm strength."""
  strength: SecurityAlgorithmStrength

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.ssh.SshKeyExchangeAlgorithm'
"""A SSH MAC algorithm"""
input SshKeyExchangeAlgorithmInput {
  """The key-exchange algorithm name."""
  name: String

  """The list of operating systems using this SSH key-exchange algorithm."""
  operatingSystems: [OperatingSystemInput]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.ssh.SshMacAlgorithm'
"""A SSH MAC algorithm"""
type SshMacAlgorithm {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The MAC algorithm name."""
  name: String

  """The list of operating systems using this SSH MAC algorithm."""
  operatingSystems: [OperatingSystem]

  """The MAC algorithm strength."""
  strength: SecurityAlgorithmStrength

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.config.ssh.SshMacAlgorithm'
"""A SSH MAC algorithm"""
input SshMacAlgorithmInput {
  """The MAC algorithm name."""
  name: String

  """The list of operating systems using this SSH MAC algorithm."""
  operatingSystems: [OperatingSystemInput]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.Account'
"""An account object containing login, type and comment. The password is for security reasons not part of the object."""
type Account {
  """The AceBIT Password Depot account."""
  acebitPasswordDepotServerAccount: AceBITPasswordDepotSecret

  """The account's comment string."""
  comment: String

  """The cyberark account."""
  cyberarkAccount: CyberarkAccount

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The account's laps flag."""
  isLaps: Boolean

  """The manage engine PMP account."""
  manageEnginePMPAccount: ManageEnginePMPAccount

  """The passwordstate account."""
  passwordstateAccount: PasswordstateAccount

  """The thycotic account."""
  thycoticSecretServerAccount: ThycoticSecretServerAccount

  """The account's username."""
  type: AccountType

  """The account's username."""
  username: String

  """The account's password no change constant."""
  password: String

  """The account's reference."""
  reference: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.Account'
"""An account object containing login, type and comment. The password is for security reasons not part of the object."""
input AccountInput {
  """The AceBIT Password Depot account."""
  acebitPasswordDepotServerAccount: AceBITPasswordDepotSecretInput

  """The account's comment string."""
  comment: String

  """The cyberark account."""
  cyberarkAccount: CyberarkAccountInput

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The account's laps flag."""
  isLaps: Boolean

  """The manage engine PMP account."""
  manageEnginePMPAccount: ManageEnginePMPAccountInput

  """The passwordstate account."""
  passwordstateAccount: PasswordstateAccountInput

  """The thycotic account."""
  thycoticSecretServerAccount: ThycoticSecretServerAccountInput

  """The account's username."""
  type: AccountType

  """The account's username."""
  username: String

  """The account's password no change constant."""
  password: String

  """The account's reference."""
  reference: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.AccountDataInput'
"""An account object containing account data for various account types"""
input AccountDataInput {
  """The AceBIT Password Depot secret server account"""
  acebitPasswordDepotServerAccount: AceBITPasswordDepotSecretInput

  """The account's comment string."""
  comment: String

  """The cyberark secret server account"""
  cyberarkAccount: CyberarkAccountInput

  """The account's id."""
  id: Long

  """The laps flag"""
  isLaps: Boolean

  """The manageEnginePMP secret server account"""
  manageEnginePMPAccount: ManageEnginePMPAccountInput

  """The account's password."""
  password: String

  """The passwordstate secret server account"""
  passwordstateAccount: PasswordstateAccountInput

  """The snmp account's read community."""
  snmpCommunity: String

  """The snmp v3 account's password."""
  snmpV3AuthPassword: String

  """The snmp v3 account's authentication protocol."""
  snmpV3AuthProtocol: SnmpV3AuthProtocol

  """The snmp v3 account's login name."""
  snmpV3AuthUser: String

  """The snmp v3 account's encryption password."""
  snmpV3PrivacyPassword: String

  """The snmp v3 account's privacy/encryption protocol."""
  snmpV3PrivacyProtocol: SnmpV3PrivProtocol

  """The SSH key account type."""
  sshAccountType: AccountType

  """The SSH Key."""
  sshKey: SshPublicPrivateKeyDataInput

  """The thycotic secret server account"""
  thycoticSecretServerAccount: ThycoticSecretServerAccountInput

  """The account's username."""
  type: AccountType

  """The account's username."""
  username: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.GraphQLSshAccount'
"""Class for storing ssh key and account data"""
type GraphQLSshAccount {
  """account for the ssh key"""
  account: String

  """account type for the ssh key"""
  accountType: AccountType

  """the account comment"""
  comment: String

  """a description for the ssh key"""
  description: String

  """id for the ssh key/account"""
  id: ID

  """the length in bits"""
  lengthInBits: Int

  """name for the ssh key"""
  name: String

  """the passphrase"""
  passphrase: String

  """the private key"""
  privateKey: String

  """the public key"""
  publicKey: String

  """the ssh key type"""
  sshKeyType: SshKeyType

  """the account type"""
  type: AccountType

  """The account's reference."""
  reference: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.GraphQLSshAccount'
"""Class for storing ssh key and account data"""
input GraphQLSshAccountInput {
  """account for the ssh key"""
  account: String

  """account type for the ssh key"""
  accountType: AccountType

  """the account comment"""
  comment: String

  """a description for the ssh key"""
  description: String

  """id for the ssh key/account"""
  id: ID

  """the length in bits"""
  lengthInBits: Int

  """name for the ssh key"""
  name: String

  """the passphrase"""
  passphrase: String

  """the private key"""
  privateKey: String

  """the public key"""
  publicKey: String

  """the ssh key type"""
  sshKeyType: SshKeyType

  """the account type"""
  type: AccountType

  """The account's reference."""
  reference: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.SSHAccount'
"""The ssh account entity"""
type SSHAccount {
  """The ssh account login."""
  account: String

  """The ssh account type."""
  accountType: AccountType

  """The creation time of this entity."""
  creationTime: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The modification time of this entity."""
  modificationTime: DateTime

  """The ssh account key id."""
  sshKey: SSHKey

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.SSHAccount'
"""The ssh account entity"""
input SSHAccountInput {
  """The ssh account login."""
  account: String

  """The ssh account type."""
  accountType: AccountType

  """The creation time of this entity."""
  creationTime: DateTime

  """The modification time of this entity."""
  modificationTime: DateTime

  """The ssh account key id."""
  sshKey: SSHKeyInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.SSHKey'
"""The ssh key entity"""
type SSHKey {
  """The creation time of this entity."""
  creationTime: DateTime

  """The ssh key description."""
  description: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The ssh public key."""
  keyType: SshKeyType

  """The ssh key length in bits."""
  lengthInBits: Int

  """The modification time of this entity."""
  modificationTime: DateTime

  """The ssh key name."""
  name: String

  """The ssh key passphrase."""
  passphrase: String

  """The ssh private key."""
  privateKey: String

  """The ssh public key."""
  publicKey: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.SSHKey'
"""The ssh key entity"""
input SSHKeyInput {
  """The creation time of this entity."""
  creationTime: DateTime

  """The ssh key description."""
  description: String

  """The ssh public key."""
  keyType: SshKeyType

  """The ssh key length in bits."""
  lengthInBits: Int

  """The modification time of this entity."""
  modificationTime: DateTime

  """The ssh key name."""
  name: String

  """The ssh key passphrase."""
  passphrase: String

  """The ssh private key."""
  privateKey: String

  """The ssh public key."""
  publicKey: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.SnmpCommunity'
"""An account object for the SNMPv3 community containing the community string and the comment."""
type SnmpCommunity {
  """The SNMP community comment."""
  comment: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The SNMP community string."""
  snmpCommunity: String

  """The account's type."""
  type: AccountType

  """The account's reference."""
  reference: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.SnmpCommunity'
"""An account object for the SNMPv3 community containing the community string and the comment."""
input SnmpCommunityInput {
  """The SNMP community comment."""
  comment: String

  """The SNMP community string."""
  snmpCommunity: String

  """The account's type."""
  type: AccountType

  """The account's reference."""
  reference: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.SnmpV3Account'
"""An account object for the SNMPv3 protocol containing login, password, auth type, priv type, priv password and comment. The password is for security reasons write-only."""
type SnmpV3Account {
  """The account's authentication protocol."""
  authProtocol: SnmpV3AuthProtocol

  """The account's comment string."""
  comment: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The account's login name."""
  login: String

  """The account's privacy/encryption protocol."""
  privProtocol: SnmpV3PrivProtocol

  """The account's type."""
  type: AccountType

  """The account's password (encrypted)."""
  password: String

  """The account's privacy password (encrypted)."""
  privPassword: String

  """The account's reference."""
  reference: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.SnmpV3Account'
"""An account object for the SNMPv3 protocol containing login, password, auth type, priv type, priv password and comment. The password is for security reasons write-only."""
input SnmpV3AccountInput {
  """The account's authentication protocol."""
  authProtocol: SnmpV3AuthProtocol

  """The account's comment string."""
  comment: String

  """The account's login name."""
  login: String

  """The account's privacy/encryption protocol."""
  privProtocol: SnmpV3PrivProtocol

  """The account's type."""
  type: AccountType

  """The account's password (encrypted)."""
  password: String

  """The account's privacy password (encrypted)."""
  privPassword: String

  """The account's reference."""
  reference: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.paas.cloudfoundry.CloudFoundryAccess'
"""This object contains information about the CloudFoundry instance access information."""
type CloudFoundryAccess {
  """The CloudFoundry service account access token when a token based access is used"""
  account: Account

  """A CloudFoundry access configuration comment"""
  comment: String

  """Is the discovery for this cluster enabled?"""
  enabled: Boolean

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The CloudFoundry cluster IP or hostname when ServiceAccount token access is used.."""
  ipOrHostname: String

  """The CloudFoundry access configuration name"""
  name: String

  """The CloudFoundry cluster TCP/IP port when ServiceAccount token access is used. Otherwise, the port is part of the .conf file."""
  port: Int

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.paas.cloudfoundry.CloudFoundryAccess'
"""This object contains information about the CloudFoundry instance access information."""
input CloudFoundryAccessInput {
  """The CloudFoundry service account access token when a token based access is used"""
  account: AccountInput

  """A CloudFoundry access configuration comment"""
  comment: String

  """Is the discovery for this cluster enabled?"""
  enabled: Boolean

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The CloudFoundry cluster IP or hostname when ServiceAccount token access is used.."""
  ipOrHostname: String

  """The CloudFoundry access configuration name"""
  name: String

  """The CloudFoundry cluster TCP/IP port when ServiceAccount token access is used. Otherwise, the port is part of the .conf file."""
  port: Int

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.paas.kubernetes.KubernetesClusterAccess'
"""This object contains information about the Kubernetes Cluster Access information."""
type KubernetesClusterAccess {
  """A Kubernetes cluster access configuration comment"""
  comment: String

  """The Kubernetes config file stored in the password part of the account when a kube.conf file is used"""
  configFile: Account

  """Is the discovery for this cluster enabled?"""
  enabled: Boolean

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The Kubernetes cluster IP or hostname when ServiceAccount token access is used. Otherwise, the server address is part of the .conf file."""
  ipOrHostname: String

  """The Kubernetes cluster access configuration name"""
  name: String

  """The Kubernetes cluster TCP/IP port when ServiceAccount token access is used. Otherwise, the port is part of the .conf file."""
  port: Int

  """The Kubernetes service account access token when a token based access is used"""
  tokenAccount: Account

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.paas.kubernetes.KubernetesClusterAccess'
"""This object contains information about the Kubernetes Cluster Access information."""
input KubernetesClusterAccessInput {
  """A Kubernetes cluster access configuration comment"""
  comment: String

  """The Kubernetes config file stored in the password part of the account when a kube.conf file is used"""
  configFile: AccountInput

  """Is the discovery for this cluster enabled?"""
  enabled: Boolean

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The Kubernetes cluster IP or hostname when ServiceAccount token access is used. Otherwise, the server address is part of the .conf file."""
  ipOrHostname: String

  """The Kubernetes cluster access configuration name"""
  name: String

  """The Kubernetes cluster TCP/IP port when ServiceAccount token access is used. Otherwise, the port is part of the .conf file."""
  port: Int

  """The Kubernetes service account access token when a token based access is used"""
  tokenAccount: AccountInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.acebitpassworddepot.AceBITPasswordDepotAccountNode'
"""A AceBIT Password Depot server account node."""
type AceBITPasswordDepotAccountNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.acebitpassworddepot.AceBITPasswordDepotDatabase'
"""A database within the AceBIT Password Depot management system"""
type AceBITPasswordDepotDatabase {
  """The list of AceBIT Password Depot accounts assigned to the database folder"""
  accounts: [AceBITPasswordDepotSecret]

  """The database Fingerprint"""
  fingerprint: String

  """The list of AceBIT Password Depot Folders"""
  folders: [AceBITPasswordDepotFolder]

  """The database Name"""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.acebitpassworddepot.AceBITPasswordDepotDatabase'
"""A database within the AceBIT Password Depot management system"""
input AceBITPasswordDepotDatabaseInput {
  """The list of AceBIT Password Depot accounts assigned to the database folder"""
  accounts: [AceBITPasswordDepotSecretInput]

  """The database Fingerprint"""
  fingerprint: String

  """The list of AceBIT Password Depot Folders"""
  folders: [AceBITPasswordDepotFolderInput]

  """The database Name"""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.acebitpassworddepot.AceBITPasswordDepotDatabaseNode'
"""A AceBIT Password Depot database node."""
type AceBITPasswordDepotDatabaseNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.acebitpassworddepot.AceBITPasswordDepotFolder'
"""A folder within the AceBIT Password Depot management system"""
type AceBITPasswordDepotFolder {
  """The list of AceBIT Password Depot accounts assigned to this folder"""
  accounts: [AceBITPasswordDepotSecret]

  """The AceBIT Password Depot folder fingerprint ID"""
  fingerprint: String

  """The AceBIT Password Depot folder itemclass"""
  itemClass: AceBITPasswordDepotItemClassType

  """The folder name"""
  name: String

  """The list of AceBIT Password Depot subfolders folder"""
  subfolders: [AceBITPasswordDepotFolder]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.acebitpassworddepot.AceBITPasswordDepotFolder'
"""A folder within the AceBIT Password Depot management system"""
input AceBITPasswordDepotFolderInput {
  """The list of AceBIT Password Depot accounts assigned to this folder"""
  accounts: [AceBITPasswordDepotSecretInput]

  """The AceBIT Password Depot folder fingerprint ID"""
  fingerprint: String

  """The AceBIT Password Depot folder itemclass"""
  itemClass: AceBITPasswordDepotItemClassType

  """The folder name"""
  name: String

  """The list of AceBIT Password Depot subfolders folder"""
  subfolders: [AceBITPasswordDepotFolderInput]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.acebitpassworddepot.AceBITPasswordDepotFolderNode'
"""A AceBIT Password Depot folder node."""
type AceBITPasswordDepotFolderNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.acebitpassworddepot.AceBITPasswordDepotSecret'
"""A secret within the AceBIT Password Depot management system"""
type AceBITPasswordDepotSecret {
  """The AceBIT Password Depot server that this secret belongs to."""
  acebitPasswordDepotServer: AceBITPasswordDepotServer

  """The account comment."""
  comment: String

  """The AceBIT Password Depot DatabaseFingerprint that the secret belongs to"""
  databaseFingerprint: String

  """The AceBIT Password Depot secret fingerprint ID"""
  fingerprint: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The AceBIT Password Depot secret itemclass"""
  itemClass: AceBITPasswordDepotItemClassType

  """The secret name"""
  name: String

  """The account type."""
  type: AccountType

  """The account label"""
  label: String

  """The account unique reference"""
  reference: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.acebitpassworddepot.AceBITPasswordDepotSecret'
"""A secret within the AceBIT Password Depot management system"""
input AceBITPasswordDepotSecretInput {
  """The AceBIT Password Depot server that this secret belongs to."""
  acebitPasswordDepotServer: AceBITPasswordDepotServerInput

  """The account comment."""
  comment: String

  """The AceBIT Password Depot DatabaseFingerprint that the secret belongs to"""
  databaseFingerprint: String

  """The AceBIT Password Depot secret fingerprint ID"""
  fingerprint: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The AceBIT Password Depot secret itemclass"""
  itemClass: AceBITPasswordDepotItemClassType

  """The secret name"""
  name: String

  """The account type."""
  type: AccountType

  """The account label"""
  label: String

  """The account unique reference"""
  reference: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.acebitpassworddepot.AceBITPasswordDepotServer'
"""This object contains information about the AceBIT Password Depot Server."""
type AceBITPasswordDepotServer {
  """The list of folders"""
  databases: [AceBITPasswordDepotDatabase]

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The server's descriptive name as provided by the user."""
  name: String

  """The account's password. IMPORTANT: This field is never populated when being read from the database. This field is only used when setting passwords from the UI"""
  password: String

  """The port that the server is listening on."""
  port: Int

  """The server's address (IP address or hostname)."""
  serverAddress: String

  """The server status"""
  status: PasswordManagementStatus

  """The username used to authenticate against the Depot server.."""
  username: String

  """The server label"""
  label: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.acebitpassworddepot.AceBITPasswordDepotServer'
"""This object contains information about the AceBIT Password Depot Server."""
input AceBITPasswordDepotServerInput {
  """The list of folders"""
  databases: [AceBITPasswordDepotDatabaseInput]

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The server's descriptive name as provided by the user."""
  name: String

  """The account's password. IMPORTANT: This field is never populated when being read from the database. This field is only used when setting passwords from the UI"""
  password: String

  """The port that the server is listening on."""
  port: Int

  """The server's address (IP address or hostname)."""
  serverAddress: String

  """The server status"""
  status: PasswordManagementStatusInput

  """The username used to authenticate against the Depot server.."""
  username: String

  """The server label"""
  label: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.acebitpassworddepot.AceBITPasswordDepotServerNode'
"""A AceBIT Password Depot server node."""
type AceBITPasswordDepotServerNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.acebitpassworddepot.WebUIAceBITPasswordDepotRootNode'
"""The AceBIT Password Depot servers root node"""
type WebUIAceBITPasswordDepotRootNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.cyberark.CyberarkAccount'
"""The Cyberark secret server account entity."""
type CyberarkAccount {
  """The cyberark account id."""
  accountId: String

  """The cyberark account address."""
  address: String

  """The automatic management enabled flag."""
  automaticManagementEnabled: Boolean

  """The account comment."""
  comment: String

  """The cyberark secret server that this secret belongs to."""
  cyberarkServer: CyberarkServerData

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The cyberark object name for this account."""
  objectName: String

  """The account cyberark platform id."""
  platformId: String

  """The cyberark safe name for this account."""
  safeName: String

  """The account cyberark secret type."""
  secretType: String

  """The account type."""
  type: AccountType

  """The cyberark account username."""
  userName: String

  """The account label"""
  label: String

  """The account unique reference"""
  reference: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.cyberark.CyberarkAccount'
"""The Cyberark secret server account entity."""
input CyberarkAccountInput {
  """The cyberark account id."""
  accountId: String

  """The cyberark account address."""
  address: String

  """The automatic management enabled flag."""
  automaticManagementEnabled: Boolean

  """The account comment."""
  comment: String

  """The cyberark secret server that this secret belongs to."""
  cyberarkServer: CyberarkServerDataInput

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The cyberark object name for this account."""
  objectName: String

  """The account cyberark platform id."""
  platformId: String

  """The cyberark safe name for this account."""
  safeName: String

  """The account cyberark secret type."""
  secretType: String

  """The account type."""
  type: AccountType

  """The cyberark account username."""
  userName: String

  """The account label"""
  label: String

  """The account unique reference"""
  reference: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.cyberark.CyberarkAccountNode'
"""A cyberark server account node."""
type CyberarkAccountNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.cyberark.CyberarkGroup'
"""This cyberark group."""
type CyberarkGroup {
  """This cyberark group accounts."""
  accounts: [CyberarkAccount]

  """This cyberark group id."""
  id: String

  """This cyberark group name."""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.cyberark.CyberarkGroup'
"""This cyberark group."""
input CyberarkGroupInput {
  """This cyberark group accounts."""
  accounts: [CyberarkAccountInput]

  """This cyberark group id."""
  id: String

  """This cyberark group name."""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.cyberark.CyberarkGroupNode'
"""This cyberark group node."""
type CyberarkGroupNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.cyberark.CyberarkGroupNode'
"""This cyberark group node."""
input CyberarkGroupNodeInput {
  """Children of a tree node"""
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.cyberark.CyberarkSafe'
"""This cyberark safe."""
type CyberarkSafe {
  """This cyberark safe accounts."""
  accounts: [CyberarkAccount]

  """This cyberark safe description."""
  description: String

  """This cyberark safe groups."""
  groups: [CyberarkGroup]

  """This cyberark safe name."""
  name: String

  """This cyberark safe url id."""
  urlId: String

  """All cyberark safe accounts, including those that belong in groups."""
  allAccounts: [CyberarkAccount]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.cyberark.CyberarkSafe'
"""This cyberark safe."""
input CyberarkSafeInput {
  """This cyberark safe accounts."""
  accounts: [CyberarkAccountInput]

  """This cyberark safe description."""
  description: String

  """This cyberark safe groups."""
  groups: [CyberarkGroupInput]

  """This cyberark safe name."""
  name: String

  """This cyberark safe url id."""
  urlId: String

  """All cyberark safe accounts, including those that belong in groups."""
  allAccounts: [CyberarkAccountInput]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.cyberark.CyberarkSafeNode'
"""This cyberark safe node."""
type CyberarkSafeNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.cyberark.CyberarkSafeNode'
"""This cyberark safe node."""
input CyberarkSafeNodeInput {
  """Children of a tree node"""
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.cyberark.CyberarkServerData'
"""This object contains information about the cyberark secret server."""
type CyberarkServerData {
  """The application id"""
  appId: String

  """The authentication type"""
  authType: CyberarkAuthenticationType

  """The CCP server address (IP address or hostname). When null, it uses the same as the PVWA server config"""
  ccpServerAddress: String

  """The CCP server port that the CCP server is listening on. (Uses the PVWA settings when null)"""
  ccpServerPort: Int

  """The client certificate bytes"""
  certificateBytes: [Int]

  """The Client Certificate password, if any"""
  clientCertificatePassword: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The server's descriptive name as provided by the user."""
  name: String

  """The object name"""
  objectName: String

  """The password used to authenticate against the Cyberark server.."""
  password: String

  """The PVWA server address (IP address or hostname)."""
  pvwaServerAddress: String

  """The port that the PVWA server is listening on."""
  pvwaServerPort: Int

  """The safe name"""
  safeName: String

  """The server status"""
  status: PasswordManagementStatus

  """A flag whether the API should use a proxy or not"""
  useProxy: Boolean

  """The username used to authenticate against the Cyberark server.."""
  username: String

  """The server label"""
  label: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.cyberark.CyberarkServerData'
"""This object contains information about the cyberark secret server."""
input CyberarkServerDataInput {
  """The application id"""
  appId: String

  """The authentication type"""
  authType: CyberarkAuthenticationType

  """The CCP server address (IP address or hostname). When null, it uses the same as the PVWA server config"""
  ccpServerAddress: String

  """The CCP server port that the CCP server is listening on. (Uses the PVWA settings when null)"""
  ccpServerPort: Int

  """The client certificate bytes"""
  certificateBytes: [Int]

  """The Client Certificate password, if any"""
  clientCertificatePassword: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The server's descriptive name as provided by the user."""
  name: String

  """The object name"""
  objectName: String

  """The password used to authenticate against the Cyberark server.."""
  password: String

  """The PVWA server address (IP address or hostname)."""
  pvwaServerAddress: String

  """The port that the PVWA server is listening on."""
  pvwaServerPort: Int

  """The safe name"""
  safeName: String

  """The server status"""
  status: PasswordManagementStatusInput

  """A flag whether the API should use a proxy or not"""
  useProxy: Boolean

  """The username used to authenticate against the Cyberark server.."""
  username: String

  """The server label"""
  label: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.cyberark.CyberarkServerNode'
"""This cyberark secret server node."""
type CyberarkServerNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.cyberark.CyberarkServerNode'
"""This cyberark secret server node."""
input CyberarkServerNodeInput {
  """Children of a tree node"""
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.cyberark.WebUICyberarkRootNode'
"""The Cyberark servers root node"""
type WebUICyberarkRootNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.manageenginepmp.ManageEnginePMPAccount'
"""This object contains information about the ManageEngine PMP account."""
type ManageEnginePMPAccount {
  """The account comment."""
  comment: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The manage engine PMP server that this secret belongs to."""
  manageEnginePMPServer: ManageEnginePMPServer

  """The account name"""
  name: String

  """The internal ManageEngine PMP account id"""
  passwordId: Long

  """The internal ManageEngine PMP resource id to which this account belongs to"""
  resourceId: Long

  """The account type."""
  type: AccountType

  """The account label"""
  label: String

  """The account unique reference"""
  reference: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.manageenginepmp.ManageEnginePMPAccount'
"""This object contains information about the ManageEngine PMP account."""
input ManageEnginePMPAccountInput {
  """The account comment."""
  comment: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The manage engine PMP server that this secret belongs to."""
  manageEnginePMPServer: ManageEnginePMPServerInput

  """The account name"""
  name: String

  """The internal ManageEngine PMP account id"""
  passwordId: Long

  """The internal ManageEngine PMP resource id to which this account belongs to"""
  resourceId: Long

  """The account type."""
  type: AccountType

  """The account label"""
  label: String

  """The account unique reference"""
  reference: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.manageenginepmp.ManageEnginePMPAccountNode'
"""A ManageEnginePMP account node."""
type ManageEnginePMPAccountNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.manageenginepmp.ManageEnginePMPResourceNode'
"""A manage engine PMP resource node."""
type ManageEnginePMPResourceNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.manageenginepmp.ManageEnginePMPServer'
"""This object contains information about the Manage Engine PMP server."""
type ManageEnginePMPServer {
  """The account's password. IMPORTANT: This field is never populated when being read from the database. This field is only used when setting passwords from the UI"""
  authToken: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """A flag whether the server is hosted in the cloud or on premises."""
  isCloudServer: Boolean

  """The server's descriptive name as provided by the user."""
  name: String

  """The port that the server is listening on."""
  port: Int

  """The resource list."""
  resources: [ManageEngineResource]

  """The server's address (IP address or hostname)."""
  serverAddress: String

  """The server status"""
  status: PasswordManagementStatus

  """The server label"""
  label: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.manageenginepmp.ManageEnginePMPServer'
"""This object contains information about the Manage Engine PMP server."""
input ManageEnginePMPServerInput {
  """The account's password. IMPORTANT: This field is never populated when being read from the database. This field is only used when setting passwords from the UI"""
  authToken: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """A flag whether the server is hosted in the cloud or on premises."""
  isCloudServer: Boolean

  """The server's descriptive name as provided by the user."""
  name: String

  """The port that the server is listening on."""
  port: Int

  """The resource list."""
  resources: [ManageEngineResourceInput]

  """The server's address (IP address or hostname)."""
  serverAddress: String

  """The server status"""
  status: PasswordManagementStatusInput

  """The server label"""
  label: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.manageenginepmp.ManageEnginePMPServerNode'
"""A ManageEngine PMP server node."""
type ManageEnginePMPServerNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.manageenginepmp.ManageEngineResource'
"""A resource within the ManageEngine PMP password management system"""
type ManageEngineResource {
  """The list of ManageEngine PMP accounts assigned to this resource"""
  accounts: [ManageEnginePMPAccount]

  """The Resource ID"""
  id: Long

  """The folder name"""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.manageenginepmp.ManageEngineResource'
"""A resource within the ManageEngine PMP password management system"""
input ManageEngineResourceInput {
  """The list of ManageEngine PMP accounts assigned to this resource"""
  accounts: [ManageEnginePMPAccountInput]

  """The Resource ID"""
  id: Long

  """The folder name"""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.manageenginepmp.WebUIManageEnginePMPRootNode'
"""The ManageEnginePMP servers root node"""
type WebUIManageEnginePMPRootNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.passwordstate.PasswordstateAccount'
"""This object contains information about the passwordstate account."""
type PasswordstateAccount {
  """The account comment."""
  comment: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The account name"""
  name: String

  """The password used for this credential."""
  password: String

  """The internal passwordstate account id"""
  passwordId: Long

  """The internal passwordstate account list id"""
  passwordListId: Long

  """The passwordstate secret server that this secret belongs to."""
  passwordstateServerConnection: PasswordstateServerConnection

  """The account type."""
  type: AccountType

  """The username used for this credential."""
  username: String

  """The account label"""
  label: String

  """The account unique reference"""
  reference: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.passwordstate.PasswordstateAccount'
"""This object contains information about the passwordstate account."""
input PasswordstateAccountInput {
  """The account comment."""
  comment: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The account name"""
  name: String

  """The password used for this credential."""
  password: String

  """The internal passwordstate account id"""
  passwordId: Long

  """The internal passwordstate account list id"""
  passwordListId: Long

  """The passwordstate secret server that this secret belongs to."""
  passwordstateServerConnection: PasswordstateServerConnectionInput

  """The account type."""
  type: AccountType

  """The username used for this credential."""
  username: String

  """The account label"""
  label: String

  """The account unique reference"""
  reference: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.passwordstate.PasswordstateAccountNode'
"""A passwordstate server account node."""
type PasswordstateAccountNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.passwordstate.PasswordstatePasswordList'
"""A password list within the Passwordstate password manager"""
type PasswordstatePasswordList {
  """The list of accounts managed by this password list"""
  accounts: [PasswordstateAccount]

  """The list's internal id in passwordstate"""
  listId: Long

  """The list's name"""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.passwordstate.PasswordstateServerConnection'
"""This object contains information about a passwordstate server connection (either a systemwide connection or to a single list)."""
type PasswordstateServerConnection {
  """The api key to authenticate against the passwordstate server."""
  apiKey: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The server's descriptive name as provided by the user."""
  name: String

  """When the API refers to a password list id, then this passwordListId refers to the internal list id within passwordstate."""
  passwordListId: Long

  """The port that the server is listening on."""
  port: Int

  """The server's address (IP address or hostname)."""
  serverAddress: String

  """The server status"""
  status: PasswordManagementStatus

  """The server's label."""
  label: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.passwordstate.PasswordstateServerConnection'
"""This object contains information about a passwordstate server connection (either a systemwide connection or to a single list)."""
input PasswordstateServerConnectionInput {
  """The api key to authenticate against the passwordstate server."""
  apiKey: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The server's descriptive name as provided by the user."""
  name: String

  """When the API refers to a password list id, then this passwordListId refers to the internal list id within passwordstate."""
  passwordListId: Long

  """The port that the server is listening on."""
  port: Int

  """The server's address (IP address or hostname)."""
  serverAddress: String

  """The server status"""
  status: PasswordManagementStatusInput

  """The server's label."""
  label: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.thycotic.ThycoticAccountNode'
"""A thycotic server account node."""
type ThycoticAccountNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.thycotic.ThycoticFolder'
"""A folder within the Thycotic password management system"""
type ThycoticFolder {
  """The list of Thycotic accounts assigned to this folder"""
  accounts: [ThycoticSecretServerAccount]

  """The Thycotic folder ID"""
  id: Long

  """The folder name"""
  name: String

  """The list of Thycotic subfolders folder"""
  subfolders: [ThycoticFolder]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.thycotic.ThycoticFolder'
"""A folder within the Thycotic password management system"""
input ThycoticFolderInput {
  """The list of Thycotic accounts assigned to this folder"""
  accounts: [ThycoticSecretServerAccountInput]

  """The Thycotic folder ID"""
  id: Long

  """The folder name"""
  name: String

  """The list of Thycotic subfolders folder"""
  subfolders: [ThycoticFolderInput]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.thycotic.ThycoticFolderNode'
"""A thycotic folder node."""
type ThycoticFolderNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.thycotic.ThycoticSecretServer'
"""This object contains information about the Delinea secret server."""
type ThycoticSecretServer {
  """The list of folders"""
  folders: [ThycoticFolder]

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """A flag that indicates whether the Delinea server is hosted in the cloud."""
  isCloudServer: Boolean

  """The server's descriptive name as provided by the user."""
  name: String

  """The account's password. IMPORTANT: This field is never populated when being read from the database. This field is only used when setting passwords from the UI"""
  password: String

  """The port that the server is listening on."""
  port: Int

  """Search by the hostname only when searching for a device account. Note that a hostname might be not unique within different domains!"""
  searchByHostname: Boolean

  """The server's address (IP address or hostname)."""
  serverAddress: String

  """The server status"""
  status: PasswordManagementStatus

  """A flag whether the secret server should be used to get accounts for individual devices based on IP or hostname."""
  useDeviceAccounts: Boolean

  """The username used to authenticate against the Delinea server.."""
  username: String

  """The server label"""
  label: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.thycotic.ThycoticSecretServer'
"""This object contains information about the Delinea secret server."""
input ThycoticSecretServerInput {
  """The list of folders"""
  folders: [ThycoticFolderInput]

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """A flag that indicates whether the Delinea server is hosted in the cloud."""
  isCloudServer: Boolean

  """The server's descriptive name as provided by the user."""
  name: String

  """The account's password. IMPORTANT: This field is never populated when being read from the database. This field is only used when setting passwords from the UI"""
  password: String

  """The port that the server is listening on."""
  port: Int

  """Search by the hostname only when searching for a device account. Note that a hostname might be not unique within different domains!"""
  searchByHostname: Boolean

  """The server's address (IP address or hostname)."""
  serverAddress: String

  """The server status"""
  status: PasswordManagementStatusInput

  """A flag whether the secret server should be used to get accounts for individual devices based on IP or hostname."""
  useDeviceAccounts: Boolean

  """The username used to authenticate against the Delinea server.."""
  username: String

  """The server label"""
  label: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.thycotic.ThycoticSecretServerAccount'
"""This object contains references an account within the thycotic secret server."""
type ThycoticSecretServerAccount {
  """The account comment."""
  comment: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The secret name"""
  name: String

  """The thycotic secret id. This id identifies a login/password within the secret server."""
  secretId: Long

  """The thycotic template id."""
  templateId: Long

  """The thycotic template name."""
  templateName: String

  """The thycotic secret server that this secret belongs to."""
  thycoticSecretServer: ThycoticSecretServer

  """The account type."""
  type: AccountType

  """The account label"""
  label: String

  """The account unique reference"""
  reference: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.thycotic.ThycoticSecretServerAccount'
"""This object contains references an account within the thycotic secret server."""
input ThycoticSecretServerAccountInput {
  """The account comment."""
  comment: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The secret name"""
  name: String

  """The thycotic secret id. This id identifies a login/password within the secret server."""
  secretId: Long

  """The thycotic template id."""
  templateId: Long

  """The thycotic template name."""
  templateName: String

  """The thycotic secret server that this secret belongs to."""
  thycoticSecretServer: ThycoticSecretServerInput

  """The account type."""
  type: AccountType

  """The account label"""
  label: String

  """The account unique reference"""
  reference: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.thycotic.ThycoticServerNode'
"""A thycotic secret server node."""
type ThycoticServerNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.credentials.passwordmanager.thycotic.WebUIThycoticRootNode'
"""The Thycotic servers root node"""
type WebUIThycoticRootNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.DeviceGroup'
"""A device group can be used to group devices by different aspects (network membership, basic device properties etc.)."""
type DeviceGroup {
  """A flag whether to also assign directly attached devices of group members to the group (e.g. attached monitors)"""
  assignDirectlyAttachedDevices: Boolean

  """The child directories."""
  children: [DeviceGroup]

  """The device group's description."""
  description: String

  """Returns the list of devices assigned to the group. Note that the root group has implicitly all devices assigned to it. Therefore, the root group will always return an empty set of devices (this is a JPA limitation which we might find a workaround in future versions)"""
  devices: [Device]

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The device group's name."""
  name: String

  """The parent device group."""
  parentDeviceGroup: DeviceGroup

  """A flag whether to use strict credentials usage for this group. The discovery does not use default accounts from other groups if a device belongs to this group!"""
  strictPasswordUsage: Boolean

  """The device group's type."""
  type: DeviceGroupType

  """A flag whether to use the default accounts from all Unix platforms for unknown devices."""
  useDefaultAccountsForUnknown: Boolean

  """Gets the list of directory items that make up this definition"""
  definingDirectoryItems: [Directory]

  """Gets the list of IP4 networks that make up this definition"""
  definingIP4Networks: [IP4Network]

  """Gets the list of IP6 networks that make up this definition"""
  definingIP6Networks: [IP6Network]

  """Gets the list of network neighborhoods (domains or workgroups) that make up this definition"""
  definingNetworkNeighborhoods: [NetworkNeighborhood]

  """Flag whether the device group is the root group."""
  isRoot: Boolean!

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.DeviceGroup'
"""A device group can be used to group devices by different aspects (network membership, basic device properties etc.)."""
input DeviceGroupInput {
  """A flag whether to also assign directly attached devices of group members to the group (e.g. attached monitors)"""
  assignDirectlyAttachedDevices: Boolean

  """The child directories."""
  children: [DeviceGroupInput]

  """The device group's description."""
  description: String

  """Returns the list of devices assigned to the group. Note that the root group has implicitly all devices assigned to it. Therefore, the root group will always return an empty set of devices (this is a JPA limitation which we might find a workaround in future versions)"""
  devices: [DeviceInput]

  """The device group's name."""
  name: String

  """The parent device group."""
  parentDeviceGroup: DeviceGroupInput

  """A flag whether to use strict credentials usage for this group. The discovery does not use default accounts from other groups if a device belongs to this group!"""
  strictPasswordUsage: Boolean

  """The device group's type."""
  type: DeviceGroupType

  """A flag whether to use the default accounts from all Unix platforms for unknown devices."""
  useDefaultAccountsForUnknown: Boolean

  """Gets the list of directory items that make up this definition"""
  definingDirectoryItems: [DirectoryInput]

  """Gets the list of IP4 networks that make up this definition"""
  definingIP4Networks: [IP4NetworkInput]

  """Gets the list of IP6 networks that make up this definition"""
  definingIP6Networks: [IP6NetworkInput]

  """Gets the list of network neighborhoods (domains or workgroups) that make up this definition"""
  definingNetworkNeighborhoods: [NetworkNeighborhoodInput]

  """Flag whether the device group is the root group."""
  isRoot: Boolean!

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.DiscoveryJob'
"""A discovery job object. A discovery job is a definition of networks, domains, AD entries to be scanned. There can be multiple jobs scanning different areas or the network."""
type DiscoveryJob {
  """Sync directories trees."""
  agingOutCompleted: Boolean

  """The description for the job."""
  description: String

  """The list of device queue entries for this discovery job."""
  deviceQueueEntries: [DiscoveryDeviceQueueItem]

  """Sync computer accounts."""
  directorySyncComputerAccounts: Boolean

  """Sync directories trees."""
  directorySyncDirectoryTree: Boolean

  """Sync directories even on networks."""
  directorySyncNetworks: Boolean

  """Sync user groups."""
  directorySyncUserGroups: Boolean

  """Sync users."""
  directorySyncUsers: Boolean

  """The list of discovered devices in the last discovery run of that job."""
  discoveredDevices: [Device]

  """The discovery cloud sync log as XML string."""
  discoveryCloudSyncLog: String

  """The discovery config log as XML string."""
  discoveryConfigLog: String

  """The discovery directory log as XML string."""
  discoveryDirectoryLog: String

  """The discovery directory sync log as XML string."""
  discoveryDirectorySyncLog: String

  """The discovery network neighborhood log as XML string."""
  discoveryNetworkNeighborhoodLog: String

  """The discovery network sync log as XML string."""
  discoveryNetworkSyncLog: String

  """The discovery ping log as XML string."""
  discoveryPingLog: String

  """Minimum time between two discovery jobs."""
  doNotDiscoverTwiceWithinNSeconds: Int

  """The execution schedule of this job"""
  executionSchedule: Schedule

  """The internal id for this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The last timestamp the job was finished."""
  lastFinishedAt: DateTime

  """The last timestamp the job was started."""
  lastStartAt: DateTime

  """The discovery config log modification time."""
  logModificationTime: DateTime

  """Maximum number of devices parallel discovered."""
  maxConcurrentDevices: Int

  """The name for the job."""
  name: String

  """The list of seen devices in the last discovery run of that job."""
  seenDevices: [Device]

  """The status of the job."""
  status: TaskStatus

  """Sync cloud services."""
  syncCloudServices: Boolean

  """The number of discovered devices in the last discovery run of that job."""
  discoveredDeviceCount: Int!

  """Returns the discovery cloud sync log as parsed object with a hierarchy. This method is used by the UI to display a discovery cloud sync log in a tree structure"""
# use Object for com.jdisc.inventory.common.logging.xmlparsing.LogfileContainer
  discoveryCloudSyncLogObject: Object

  """Returns the discovery config log as parsed object with a hierarchy. This method is used by the UI to display a discovery config log in a tree structure"""
# use Object for com.jdisc.inventory.common.logging.xmlparsing.LogfileContainer
  discoveryConfigLogObject: Object

  """Returns the discovery directory log as parsed object with a hierarchy. This method is used by the UI to display a discovery directory log in a tree structure"""
# use Object for com.jdisc.inventory.common.logging.xmlparsing.LogfileContainer
  discoveryDirectoryLogObject: Object

  """Returns the discovery directory sync log as parsed object with a hierarchy. This method is used by the UI to display a discovery directory sync log in a tree structure"""
# use Object for com.jdisc.inventory.common.logging.xmlparsing.LogfileContainer
  discoveryDirectorySyncLogObject: Object

  """Returns the discovery network neighborhood log as parsed object with a hierarchy. This method is used by the UI to display a discovery network neighborhood log in a tree structure"""
# use Object for com.jdisc.inventory.common.logging.xmlparsing.LogfileContainer
  discoveryNetworkNeighborhoodLogObject: Object

  """Returns the discovery network sync log as parsed object with a hierarchy. This method is used by the UI to display a discovery network sync log in a tree structure"""
# use Object for com.jdisc.inventory.common.logging.xmlparsing.LogfileContainer
  discoveryNetworkSyncLogObject: Object

  """Returns the discovery ping log as parsed object with a hierarchy. This method is used by the UI to display a discovery ping log in a tree structure"""
# use Object for com.jdisc.inventory.common.logging.xmlparsing.LogfileContainer
  discoveryPingLogObject: Object

  """The number of discovered devices in the last discovery run of that job."""
  seenDeviceCount: Int!

# use Object for com.jdisc.inventory.common.logging.xmlparsing.LogfileContainer
# use Object for com.jdisc.inventory.common.logging.xmlparsing.LogfileContainer
# use Object for com.jdisc.inventory.common.logging.xmlparsing.LogfileContainer
# use Object for com.jdisc.inventory.common.logging.xmlparsing.LogfileContainer
# use Object for com.jdisc.inventory.common.logging.xmlparsing.LogfileContainer
# use Object for com.jdisc.inventory.common.logging.xmlparsing.LogfileContainer
# use Object for com.jdisc.inventory.common.logging.xmlparsing.LogfileContainer
}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.DiscoveryJob'
"""A discovery job object. A discovery job is a definition of networks, domains, AD entries to be scanned. There can be multiple jobs scanning different areas or the network."""
input DiscoveryJobInput {
  """Sync directories trees."""
  agingOutCompleted: Boolean

  """The description for the job."""
  description: String

  """The list of device queue entries for this discovery job."""
  deviceQueueEntries: [DiscoveryDeviceQueueItemInput]

  """Sync computer accounts."""
  directorySyncComputerAccounts: Boolean

  """Sync directories trees."""
  directorySyncDirectoryTree: Boolean

  """Sync directories even on networks."""
  directorySyncNetworks: Boolean

  """Sync user groups."""
  directorySyncUserGroups: Boolean

  """Sync users."""
  directorySyncUsers: Boolean

  """The list of discovered devices in the last discovery run of that job."""
  discoveredDevices: [DeviceInput]

  """The discovery cloud sync log as XML string."""
  discoveryCloudSyncLog: String

  """The discovery config log as XML string."""
  discoveryConfigLog: String

  """The discovery directory log as XML string."""
  discoveryDirectoryLog: String

  """The discovery directory sync log as XML string."""
  discoveryDirectorySyncLog: String

  """The discovery network neighborhood log as XML string."""
  discoveryNetworkNeighborhoodLog: String

  """The discovery network sync log as XML string."""
  discoveryNetworkSyncLog: String

  """The discovery ping log as XML string."""
  discoveryPingLog: String

  """Minimum time between two discovery jobs."""
  doNotDiscoverTwiceWithinNSeconds: Int

  """The execution schedule of this job"""
  executionSchedule: ScheduleInput

  """The last timestamp the job was finished."""
  lastFinishedAt: DateTime

  """The last timestamp the job was started."""
  lastStartAt: DateTime

  """The discovery config log modification time."""
  logModificationTime: DateTime

  """Maximum number of devices parallel discovered."""
  maxConcurrentDevices: Int

  """The name for the job."""
  name: String

  """The list of seen devices in the last discovery run of that job."""
  seenDevices: [DeviceInput]

  """The status of the job."""
  status: TaskStatus

  """Sync cloud services."""
  syncCloudServices: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.rules.GroupByCloudRule'
"""The group by cloud account."""
type GroupByCloudRule implements DeviceGroupRule {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The device group rule type"""
  ruleType: DeviceGroupRuleType

  """The cloud account."""
  cloudDiscoveryConfiguration: CloudDiscoveryConfiguration

  """The enabled flag"""
  enabled: Boolean

  """The cloud type"""
  cloudType: CloudType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.rules.GroupByCustomAttributeRule'
"""The group by a custom attribute value"""
type GroupByCustomAttributeRule implements GroupByStringMatcherBase {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The device group rule type"""
  ruleType: DeviceGroupRuleType

  """The device group match type"""
  matchType: DeviceGroupMatchType

  """The search string 1"""
  searchString1: String

  """The search string 2"""
  searchString2: String

  """The custom attribute."""
  customAttribute: CustomAttribute

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.rules.GroupByDeviceListRule'
"""The group by device list rule"""
type GroupByDeviceListRule implements DeviceGroupRule {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The device group rule type"""
  ruleType: DeviceGroupRuleType

  """The device files"""
  deviceFiles: [String]

  """The devices"""
  devices: [String]

  """The old device files"""
  oldDeviceFiles: [String]

  """The old devices"""
  oldDevices: [String]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.rules.GroupByDeviceTypeRule'
"""The group by device type rule"""
type GroupByDeviceTypeRule implements DeviceGroupRule {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The device group rule type"""
  ruleType: DeviceGroupRuleType

  """The device type"""
  deviceType: DeviceType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.rules.GroupByDirectoryRule'
"""The group by directory rule"""
type GroupByDirectoryRule implements DeviceGroupRule {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The device group rule type"""
  ruleType: DeviceGroupRuleType

  """The directory info"""
  directory: Directory

  """The discovery mode"""
  discoveryMode: DirectoryDiscoveryMode

  """The enabled flag"""
  enabled: Boolean!

  """The old discovery mode"""
  oldDiscoveryMode: DirectoryDiscoveryMode

  """The old enabled flag"""
  oldEnabled: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.rules.GroupByIP4NetworkRule'
"""The group by IPv4 network rule"""
type GroupByIP4NetworkRule implements DeviceGroupRule {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The device group rule type"""
  ruleType: DeviceGroupRuleType

  """The network"""
  ip4Network: IP4Network

  """The old ping method"""
  oldPingMethod: PingMethod

  """The ping method"""
  pingMethod: PingMethod

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.rules.GroupByIP4RangeRule'
"""The group by IPv4 range rule"""
type GroupByIP4RangeRule implements DeviceGroupRule {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The device group rule type"""
  ruleType: DeviceGroupRuleType

  """The old ping method"""
  oldPingMethod: PingMethod

  """The IPv4 range"""
  ip4Range: IP4Range

  """The ping method"""
  pingMethod: PingMethod

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.rules.GroupByIP6NetworkRule'
"""The group by IP v6 network rule"""
type GroupByIP6NetworkRule implements DeviceGroupRule {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The device group rule type"""
  ruleType: DeviceGroupRuleType

  """The enabled flag"""
  enabled: Boolean!

  """The IP v6 network"""
  ip6Network: IP6Network

  """The old enabled flag"""
  oldEnabled: Boolean!

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.rules.GroupByManufacturerRule'
"""The group by manufacturer rule"""
type GroupByManufacturerRule implements GroupByStringMatcherBase {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The device group rule type"""
  ruleType: DeviceGroupRuleType

  """The device group match type"""
  matchType: DeviceGroupMatchType

  """The search string 1"""
  searchString1: String

  """The search string 2"""
  searchString2: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.rules.GroupByModelRule'
"""The group by model rule"""
type GroupByModelRule implements GroupByStringMatcherBase {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The device group rule type"""
  ruleType: DeviceGroupRuleType

  """The device group match type"""
  matchType: DeviceGroupMatchType

  """The search string 1"""
  searchString1: String

  """The search string 2"""
  searchString2: String

  """The device model"""
  model: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.rules.GroupByNameRule'
"""The group by name rule"""
type GroupByNameRule implements GroupByStringMatcherBase {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The device group rule type"""
  ruleType: DeviceGroupRuleType

  """The device group match type"""
  matchType: DeviceGroupMatchType

  """The search string 1"""
  searchString1: String

  """The search string 2"""
  searchString2: String

  """The device name"""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.rules.GroupByOsFamilyRule'
"""The group by OS family rule"""
type GroupByOsFamilyRule implements GroupByStringMatcherBase {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The device group rule type"""
  ruleType: DeviceGroupRuleType

  """The device group match type"""
  matchType: DeviceGroupMatchType

  """The search string 1"""
  searchString1: String

  """The search string 2"""
  searchString2: String

  """The operating system family"""
  osFamily: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.rules.GroupByOsPatchLevelRule'
"""The group by OS patch level rule"""
type GroupByOsPatchLevelRule implements GroupByStringMatcherBase {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The device group rule type"""
  ruleType: DeviceGroupRuleType

  """The device group match type"""
  matchType: DeviceGroupMatchType

  """The search string 1"""
  searchString1: String

  """The search string 2"""
  searchString2: String

  """The operating system patch level"""
  patchLevel: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.rules.GroupByOsVersionRule'
"""The group by OS version rule"""
type GroupByOsVersionRule implements GroupByStringMatcherBase {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The device group rule type"""
  ruleType: DeviceGroupRuleType

  """The device group match type"""
  matchType: DeviceGroupMatchType

  """The search string 1"""
  searchString1: String

  """The search string 2"""
  searchString2: String

  """The operating system version"""
  osVersion: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.rules.GroupBySerialNumberRule'
"""The group by serial number rule"""
type GroupBySerialNumberRule implements GroupByStringMatcherBase {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The device group rule type"""
  ruleType: DeviceGroupRuleType

  """The device group match type"""
  matchType: DeviceGroupMatchType

  """The search string 1"""
  searchString1: String

  """The search string 2"""
  searchString2: String

  """The serial number"""
  serialNumber: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.rules.GroupBySysLocationRule'
"""The group by SNMP sysLocation rule"""
type GroupBySysLocationRule implements GroupByStringMatcherBase {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The device group rule type"""
  ruleType: DeviceGroupRuleType

  """The device group match type"""
  matchType: DeviceGroupMatchType

  """The search string 1"""
  searchString1: String

  """The search string 2"""
  searchString2: String

  """The SNMP system location"""
  sysLocation: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.rules.GroupByWindowsComputernameRule'
"""The group by Windows computer name rule"""
type GroupByWindowsComputernameRule implements GroupByStringMatcherBase {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The device group rule type"""
  ruleType: DeviceGroupRuleType

  """The device group match type"""
  matchType: DeviceGroupMatchType

  """The search string 1"""
  searchString1: String

  """The search string 2"""
  searchString2: String

  """The Windows computer name"""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.config.rules.GroupByWindowsDomainRule'
"""The group by Windows domain rule"""
type GroupByWindowsDomainRule implements GroupByStringMatcherBase {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The device group rule type"""
  ruleType: DeviceGroupRuleType

  """The device group match type"""
  matchType: DeviceGroupMatchType

  """The search string 1"""
  searchString1: String

  """The search string 2"""
  searchString2: String

  """The Windows domain or workgroup"""
  networkNeighborhood: NetworkNeighborhood

  """The old enabled flag"""
  oldEnabled: Boolean!

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.queue.DiscoveryDeviceQueueItem'
"""A device queue item."""
type DiscoveryDeviceQueueItem {
  """The corresponding discovery job when the discovery was triggered by a discovery job. Otherwise null"""
  discoveryJob: DiscoveryJob

  """The device's hostname in case the hostname was added and not an IP address."""
  hostname: String

  """The internal id for this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """Should the discovery for this item ignore filters?"""
  ignoreFilters: Boolean

  """The queue item priority. Items with a higher priority get scanned earlier."""
  priority: DiscoveryQueuePriority

  """The queue status."""
  source: DiscoveryQueueSource

  """The queue item status."""
  status: DiscoveryQueueItemStatus

  """The IP address (either IP4 or IP6). For now it is returning string but might change in the future."""
  ipAddress: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.discovery.queue.DiscoveryDeviceQueueItem'
"""A device queue item."""
input DiscoveryDeviceQueueItemInput {
  """The corresponding discovery job when the discovery was triggered by a discovery job. Otherwise null"""
  discoveryJob: DiscoveryJobInput

  """The device's hostname in case the hostname was added and not an IP address."""
  hostname: String

  """Should the discovery for this item ignore filters?"""
  ignoreFilters: Boolean

  """The queue item priority. Items with a higher priority get scanned earlier."""
  priority: DiscoveryQueuePriority

  """The queue status."""
  source: DiscoveryQueueSource

  """The queue item status."""
  status: DiscoveryQueueItemStatus

  """The IP address (either IP4 or IP6). For now it is returning string but might change in the future."""
  ipAddress: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.endoflifesupport.EndOfLifeSupport'
"""This object contains information about the EndOfLife.date Support."""
type EndOfLifeSupport {
  """The date when general active support for this version ends, meaning regular updates and maintenance will no longer be provided after this date."""
  endOfActiveSupport: DateTime

  """The date when general security support for this version ends."""
  endOfSecuritySupport: DateTime

  """The end date for extended support, indicating when any additional, often limited, post-EOL support will no longer be available."""
  extendedEndOfSupport: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The release date of the latest product version, indicating when the most current version was made publicly available."""
  latestReleaseDate: DateTime

  """The most recent version number available for the product, providing users with the latest stable release information."""
  latestVersion: String

  """A URL linking to more detailed information about the product or specific version, such as official documentation or release notes."""
  link: String

  """Indicates whether this version has Long-Term Support (LTS). For certain versions, this attribute is represented as a Boolean, where true denotes LTS support, while other versions may use a Date to indicate the specific start date of LTS."""
  lts: Boolean

  """Provides the date of Long-Term Support (LTS) initiation if applicable. When the LTS information is represented as a Date, it specifies the start of the extended support period with stability and security updates."""
  ltsDate: DateTime

  """The version name or codename as specified in endoflife.date, often used in releases to identify versions in addition to version numbers."""
  name: String

  """The name of the product as specified in endoflife.date, identifying the software or OS for which lifecycle information is provided."""
  productName: String

  """The official release date of this version, marking when it was first made available to the public."""
  release: DateTime

  """The version number of the product as specified in endoflife.date, indicating the specific release version."""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.endoflifesupport.EndOfLifeSupport'
"""This object contains information about the EndOfLife.date Support."""
input EndOfLifeSupportInput {
  """The date when general active support for this version ends, meaning regular updates and maintenance will no longer be provided after this date."""
  endOfActiveSupport: DateTime

  """The date when general security support for this version ends."""
  endOfSecuritySupport: DateTime

  """The end date for extended support, indicating when any additional, often limited, post-EOL support will no longer be available."""
  extendedEndOfSupport: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The release date of the latest product version, indicating when the most current version was made publicly available."""
  latestReleaseDate: DateTime

  """The most recent version number available for the product, providing users with the latest stable release information."""
  latestVersion: String

  """A URL linking to more detailed information about the product or specific version, such as official documentation or release notes."""
  link: String

  """Indicates whether this version has Long-Term Support (LTS). For certain versions, this attribute is represented as a Boolean, where true denotes LTS support, while other versions may use a Date to indicate the specific start date of LTS."""
  lts: Boolean

  """Provides the date of Long-Term Support (LTS) initiation if applicable. When the LTS information is represented as a Date, it specifies the start of the extended support period with stability and security updates."""
  ltsDate: DateTime

  """The version name or codename as specified in endoflife.date, often used in releases to identify versions in addition to version numbers."""
  name: String

  """The name of the product as specified in endoflife.date, identifying the software or OS for which lifecycle information is provided."""
  productName: String

  """The official release date of this version, marking when it was first made available to the public."""
  release: DateTime

  """The version number of the product as specified in endoflife.date, indicating the specific release version."""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.event.DeviceDeletionEvent'
"""A device deletion event log entry contains meta information whenever a device has been deleted."""
type DeviceDeletionEvent {
  """A comment string entered when deleting devices manually."""
  comment: String

  """The computer name of the device that has been deleted."""
  computername: String

  """The creation timestamp of the event."""
  creationTime: DateTime

  """The operating system family of the device that has been deleted."""
  deletedBy: String

  """The device deletion reason."""
  deletionReason: DeviceDeletionReason

  """The internal id of the device that has been deleted."""
  deviceId: Long

  """The internal id for this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The manufacturer of the device that has been deleted."""
  manufacturer: String

  """The model of the device that has been deleted."""
  model: String

  """The modification timestamp of the event."""
  modificationTime: DateTime

  """The name of the device that has been deleted."""
  name: String

  """The operating system family of the device that has been deleted."""
  osFamily: String

  """The operating system version of the device that has been deleted."""
  osVersion: String

  """The serial number of the device that has been deleted."""
  serialNumber: String

  """The device type of the device that has been deleted."""
  type: DeviceType

  """Gets the ip address (v4 or v6) for the device that has been deleted"""
  ipAddress: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.event.Event'
"""A event object."""
type Event {
  """The type of the event."""
  application: String

  """The creation timestamp of the event."""
  creationTime: DateTime

  """The description for the event."""
  description: String

  """The job that an event belongs to."""
  discoveryJob: DiscoveryJob

  """The time when this event occurred."""
  eventTime: DateTime

  """The type of the event."""
  eventType: EventType

  """The internal id for this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The modification timestamp of the event."""
  modificationTime: DateTime

  """The severity of the event."""
  severity: EventSeverity

  """The subject of the event."""
  subject: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.event.Event'
"""A event object."""
input EventInput {
  """The type of the event."""
  application: String

  """The creation timestamp of the event."""
  creationTime: DateTime

  """The description for the event."""
  description: String

  """The job that an event belongs to."""
  discoveryJob: DiscoveryJobInput

  """The time when this event occurred."""
  eventTime: DateTime

  """The type of the event."""
  eventType: EventType

  """The modification timestamp of the event."""
  modificationTime: DateTime

  """The severity of the event."""
  severity: EventSeverity

  """The subject of the event."""
  subject: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.firmware.Bios'
"""BIOS information"""
type Bios {
  """The current BIOS boot mode"""
  bootMode: BootMode

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The license for a BIOS"""
  license: License

  """The BIOS manufacturer"""
  manufacturer: String

  """The BIOS name"""
  name: String

  """The BIOS release date."""
  releaseDate: DateTime

  """The SMBIOS major version"""
  smbiosMajor: Int

  """The SMBIOS minor version"""
  smbiosMinor: Int

  """UEFI Boot: Set to true if UEFI secure boot is enabled."""
  uefiSecureBoot: Boolean

  """The BIOS unique id"""
  uniqueId: String

  """The BIOS version"""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.firmware.Bios'
"""BIOS information"""
input BiosInput {
  """The current BIOS boot mode"""
  bootMode: BootMode

  """The license for a BIOS"""
  license: LicenseInput

  """The BIOS manufacturer"""
  manufacturer: String

  """The BIOS name"""
  name: String

  """The BIOS release date."""
  releaseDate: DateTime

  """The SMBIOS major version"""
  smbiosMajor: Int

  """The SMBIOS minor version"""
  smbiosMinor: Int

  """UEFI Boot: Set to true if UEFI secure boot is enabled."""
  uefiSecureBoot: Boolean

  """The BIOS unique id"""
  uniqueId: String

  """The BIOS version"""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.DeviceRelation'
"""A relation between two devices. The kind of relation is defined by the relation type."""
type DeviceRelation {
  """A display name for the relation (if any)"""
  displayName: String

  """The state for a relation between two devices. This state is used
for instance for virtualation relations between the physical host and the VM
in order to indicate the virtual machine state"""
  state: ConnectorState

  """The direction of the relation. Forward means source initiated, Backward means destination initiated."""
  direction: ConnectionDirection

  """The connector internal id. The internal id depends on the relation type.
For VMware virtual machine relations, the type can be the VM UUID (unique id)."""
  internalId: String

  """The relation type for relations between two devices"""
  relationType: ConnectorType

  """The source device for the relation"""
  sourceDevice: Device

  """The target device for the relation"""
  targetDevice: Device

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.DeviceRelation'
"""A relation between two devices. The kind of relation is defined by the relation type."""
input DeviceRelationInput {
  """A display name for the relation (if any)"""
  displayName: String

  """The state for a relation between two devices. This state is used
for instance for virtualation relations between the physical host and the VM
in order to indicate the virtual machine state"""
  state: ConnectorState

  """The direction of the relation. Forward means source initiated, Backward means destination initiated."""
  direction: ConnectionDirection

  """The connector internal id. The internal id depends on the relation type.
For VMware virtual machine relations, the type can be the VM UUID (unique id)."""
  internalId: String

  """The relation type for relations between two devices"""
  relationType: ConnectorType

  """The source device for the relation"""
  sourceDevice: DeviceInput

  """The target device for the relation"""
  targetDevice: DeviceInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.DiskPartition'
"""A partition on a physical disk."""
type DiskPartition {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The partition name."""
  name: String

  """The disk partition size in KB."""
  size: Long

  """The partition type."""
  type: DiskPartitionType

  """The partition type as a string as reported by the device"""
  typeString: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.DiskPartition'
"""A partition on a physical disk."""
input DiskPartitionInput {
  """The partition name."""
  name: String

  """The disk partition size in KB."""
  size: Long

  """The partition type."""
  type: DiskPartitionType

  """The partition type as a string as reported by the device"""
  typeString: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.LogicalDisk'
"""A logical disk drive."""
type LogicalDisk {
  """The logical disk encryption algorithm."""
  encryptionAlgorithm: DiskEncryptionAlgorithm

  """The logical disk encryption method."""
  encryptionMethod: DiskEncryptionMethod

  """The logical disk filesystem type."""
  fileSystem: String

  """The free space on this logical disk in KB."""
  freeSpace: Long

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The logical disk location. The location might be in a remote disk array."""
  location: String

  """The logical disk mount point."""
  mountPoint: String

  """The logical disk name."""
  name: String

  """A logical disk's provisioned size in KB."""
  provisionedSize: Long

  """A logical disk's serial number."""
  serialNumber: String

  """A logical disk's total size in KB."""
  totalSize: Long

  """The used space on this logical disk in KB."""
  usedSpace: Long

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.LogicalDisk'
"""A logical disk drive."""
input LogicalDiskInput {
  """The logical disk encryption algorithm."""
  encryptionAlgorithm: DiskEncryptionAlgorithm

  """The logical disk encryption method."""
  encryptionMethod: DiskEncryptionMethod

  """The logical disk filesystem type."""
  fileSystem: String

  """The free space on this logical disk in KB."""
  freeSpace: Long

  """The logical disk location. The location might be in a remote disk array."""
  location: String

  """The logical disk mount point."""
  mountPoint: String

  """The logical disk name."""
  name: String

  """A logical disk's provisioned size in KB."""
  provisionedSize: Long

  """A logical disk's serial number."""
  serialNumber: String

  """A logical disk's total size in KB."""
  totalSize: Long

  """The used space on this logical disk in KB."""
  usedSpace: Long

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.MappedPrinter'
"""A mapped printer mapped by the operating system."""
type MappedPrinter {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The printer's IP4 address."""
  ip4Address: IP4Address

  """The printer's IP6 address."""
  ip6Address: String

  """The printer name."""
  name: String

  """The operating system."""
  operatingSystem: OperatingSystem

  """The printer port name."""
  portName: String

  """The printer device."""
  printerDevice: Device

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.MappedPrinter'
"""A mapped printer mapped by the operating system."""
input MappedPrinterInput {
  """The printer's IP4 address."""
  ip4Address: IP4Address

  """The printer's IP6 address."""
  ip6Address: String

  """The printer name."""
  name: String

  """The operating system."""
  operatingSystem: OperatingSystemInput

  """The printer port name."""
  portName: String

  """The printer device."""
  printerDevice: DeviceInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.MemoryModule'
"""The memory module represents a memory module within a memory module slot on the mainboard."""
type MemoryModule {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The memory module manufacturer."""
  manufacturer: String

  """The memory module's type"""
  memoryType: MemoryType

  """The memory module model."""
  model: String

  """The memory module serial number."""
  serialNumber: String

  """The memory module size in MB."""
  size: Long

  """The memory module speed in Hz."""
  speed: Long

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.MemoryModule'
"""The memory module represents a memory module within a memory module slot on the mainboard."""
input MemoryModuleInput {
  """The memory module manufacturer."""
  manufacturer: String

  """The memory module's type"""
  memoryType: MemoryType

  """The memory module model."""
  model: String

  """The memory module serial number."""
  serialNumber: String

  """The memory module size in MB."""
  size: Long

  """The memory module speed in Hz."""
  speed: Long

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.MemoryModuleSlot'
"""The memory module slot represents a slot for a memory module on the mainboard."""
type MemoryModuleSlot {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The memoryModule assigned to this slot"""
  memoryModule: MemoryModule

  """The memory module slot id."""
  slotId: String

  """The memory module socket designation"""
  socketDesignation: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.MemoryModuleSlot'
"""The memory module slot represents a slot for a memory module on the mainboard."""
input MemoryModuleSlotInput {
  """The memoryModule assigned to this slot"""
  memoryModule: MemoryModuleInput

  """The memory module slot id."""
  slotId: String

  """The memory module socket designation"""
  socketDesignation: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.Module'
"""The module represents a module within a device."""
type Module {
  """The module description."""
  description: String

  """The module firmware version."""
  fwVersion: String

  """The module hardware version."""
  hwVersion: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The module manufacturer."""
  manufacturer: String

  """The module model."""
  model: String

  """The module os version."""
  osVersion: String

  """The  module serial number."""
  serialNumber: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.Module'
"""The module represents a module within a device."""
input ModuleInput {
  """The module description."""
  description: String

  """The module firmware version."""
  fwVersion: String

  """The module hardware version."""
  hwVersion: String

  """The module manufacturer."""
  manufacturer: String

  """The module model."""
  model: String

  """The module os version."""
  osVersion: String

  """The  module serial number."""
  serialNumber: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.ModuleSlot'
"""The module slot represents a slot for a module in a device."""
type ModuleSlot {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The module assigned to this slot"""
  module: Module

  """The module slot id."""
  slotId: String

  """The module socket designation"""
  socketDesignation: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.ModuleSlot'
"""The module slot represents a slot for a module in a device."""
input ModuleSlotInput {
  """The module assigned to this slot"""
  module: ModuleInput

  """The module slot id."""
  slotId: String

  """The module socket designation"""
  socketDesignation: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.PhysicalDisk'
"""The physical disk represents a disk attached to a disk slot."""
type PhysicalDisk {
  """The disk's bus type."""
  busType: BusType

  """The disk's firmware version."""
  fwVersion: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The disk's manufacturer."""
  manufacturer: String

  """The disk's media type."""
  mediaType: DiskMediaType

  """The disk's model."""
  model: String

  """The list of disk's partitions."""
  partitions: [DiskPartition]

  """The disk's serial number."""
  serialNumber: String

  """The disk's size in KB."""
  size: Long

  """The disk's status."""
  status: DiskStatus

  """The disk's unique id if there is any (e.g. PVID for AIX disks)."""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.PhysicalDisk'
"""The physical disk represents a disk attached to a disk slot."""
input PhysicalDiskInput {
  """The disk's bus type."""
  busType: BusType

  """The disk's firmware version."""
  fwVersion: String

  """The disk's manufacturer."""
  manufacturer: String

  """The disk's media type."""
  mediaType: DiskMediaType

  """The disk's model."""
  model: String

  """The list of disk's partitions."""
  partitions: [DiskPartitionInput]

  """The disk's serial number."""
  serialNumber: String

  """The disk's size in KB."""
  size: Long

  """The disk's status."""
  status: DiskStatus

  """The disk's unique id if there is any (e.g. PVID for AIX disks)."""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.PhysicalDiskSlot'
"""The physical disk slot represents the slot to which a disk is connected."""
type PhysicalDiskSlot {
  """The physical disk assigned to this slot"""
  disk: PhysicalDisk

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The physical disk slotid."""
  slotId: String

  """The physical disk socket designation"""
  socketDesignation: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.PhysicalDiskSlot'
"""The physical disk slot represents the slot to which a disk is connected."""
input PhysicalDiskSlotInput {
  """The physical disk assigned to this slot"""
  disk: PhysicalDiskInput

  """The physical disk slotid."""
  slotId: String

  """The physical disk socket designation"""
  socketDesignation: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.Processor'
"""The processor represents a processor within a processor slot on the mainboard."""
type Processor {
  """The processor's address width."""
  addressWidth: Int

  """The current clock speed at the time of the scan in Mhz"""
  currentClockSpeed: Int

  """The processor's data width."""
  dataWidth: Int

  """The processor's device id."""
  devID: String

  """A flag whether hyperthreading is enabled or not"""
  htEnabled: Boolean

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The processor's level 2 cache size."""
  l2CacheSize: Int

  """The processor's level 2 cache speed."""
  l2CacheSpeed: Int

  """The processor's level 3 cache size."""
  l3CacheSize: Int

  """The processor's level 3 cache speed."""
  l3CacheSpeed: Int

  """The processor's manufacturer."""
  manufacturer: String

  """The maximal clock speed at the time of the scan in Mhz"""
  maxClockSpeed: Int

  """The processor's model."""
  model: String

  """The number of cores."""
  numberOfCores: Int

  """The number of efficiency cores."""
  numberOfECores: Int

  """The number of enabled cores. Some servers allow to disable cores.
For instance to be license compliant for software that is licensed per core."""
  numberOfEnabledCores: Int

  """The number of performance cores."""
  numberOfPCores: Int

  """The number of threads."""
  numberOfThreads: Int

  """The processor's raw model as it comes from the BIOS information."""
  rawModel: String

  """The processor's status"""
  status: ProcessorStatus

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.Processor'
"""The processor represents a processor within a processor slot on the mainboard."""
input ProcessorInput {
  """The processor's address width."""
  addressWidth: Int

  """The current clock speed at the time of the scan in Mhz"""
  currentClockSpeed: Int

  """The processor's data width."""
  dataWidth: Int

  """The processor's device id."""
  devID: String

  """A flag whether hyperthreading is enabled or not"""
  htEnabled: Boolean

  """The processor's level 2 cache size."""
  l2CacheSize: Int

  """The processor's level 2 cache speed."""
  l2CacheSpeed: Int

  """The processor's level 3 cache size."""
  l3CacheSize: Int

  """The processor's level 3 cache speed."""
  l3CacheSpeed: Int

  """The processor's manufacturer."""
  manufacturer: String

  """The maximal clock speed at the time of the scan in Mhz"""
  maxClockSpeed: Int

  """The processor's model."""
  model: String

  """The number of cores."""
  numberOfCores: Int

  """The number of efficiency cores."""
  numberOfECores: Int

  """The number of enabled cores. Some servers allow to disable cores.
For instance to be license compliant for software that is licensed per core."""
  numberOfEnabledCores: Int

  """The number of performance cores."""
  numberOfPCores: Int

  """The number of threads."""
  numberOfThreads: Int

  """The processor's raw model as it comes from the BIOS information."""
  rawModel: String

  """The processor's status"""
  status: ProcessorStatus

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.ProcessorSlot'
"""The processor slot represents a slot for the processor on the mainboard."""
type ProcessorSlot {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The processor assigned to this slot"""
  processor: Processor

  """The processor slot id."""
  slotId: String

  """The processor socket designation"""
  socketDesignation: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.ProcessorSlot'
"""The processor slot represents a slot for the processor on the mainboard."""
input ProcessorSlotInput {
  """The processor assigned to this slot"""
  processor: ProcessorInput

  """The processor slot id."""
  slotId: String

  """The processor socket designation"""
  socketDesignation: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.SystemBoard'
"""The device's system board."""
type SystemBoard {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The system board manufacturer."""
  manufacturer: String

  """The system board model."""
  model: String

  """The system board part number."""
  partNumber: String

  """The system board serial number."""
  serialNumber: String

  """The system board version."""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.SystemBoard'
"""The device's system board."""
input SystemBoardInput {
  """The system board manufacturer."""
  manufacturer: String

  """The system board model."""
  model: String

  """The system board part number."""
  partNumber: String

  """The system board serial number."""
  serialNumber: String

  """The system board version."""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.TpmModule'
"""A TPM module used for hardware encryption."""
type TpmModule {
  """A flag whether the TPM module is activated."""
  activated: Boolean

  """The corresponding device."""
  device: Device

  """A flag whether the TPM module is enabled."""
  enabled: Boolean

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """A TPM module's manufacturer."""
  manufacturer: String

  """A flag whether the TPM module is owned."""
  owned: Boolean

  """A TPM module's physical presence version."""
  physicalPresenceVersion: String

  """A TPM module's specification version."""
  specVersion: String

  """A TPM module's version."""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.TpmModule'
"""A TPM module used for hardware encryption."""
input TpmModuleInput {
  """A flag whether the TPM module is activated."""
  activated: Boolean

  """The corresponding device."""
  device: DeviceInput

  """A flag whether the TPM module is enabled."""
  enabled: Boolean

  """A TPM module's manufacturer."""
  manufacturer: String

  """A flag whether the TPM module is owned."""
  owned: Boolean

  """A TPM module's physical presence version."""
  physicalPresenceVersion: String

  """A TPM module's specification version."""
  specVersion: String

  """A TPM module's version."""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.VideoController'
"""The video controller represents a video controller within a video controller slot on the mainboard."""
type VideoController {
  """The directX version supported by this video controller."""
  directXVersion: String

  """The driver model used by this video controller (e.g. WDDM 3.1)."""
  driverModel: String

  """The video controller's current horizontal resolution."""
  horizontalResolution: Int

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The video controller's installed memory in KB."""
  installedRamKB: Int

  """The video controller manufacturer."""
  manufacturer: String

  """The video controller model."""
  model: String

  """The video controller serial number."""
  serialNumber: String

  """The video controller's current vertical resolution."""
  verticalResolution: Int

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.VideoController'
"""The video controller represents a video controller within a video controller slot on the mainboard."""
input VideoControllerInput {
  """The directX version supported by this video controller."""
  directXVersion: String

  """The driver model used by this video controller (e.g. WDDM 3.1)."""
  driverModel: String

  """The video controller's current horizontal resolution."""
  horizontalResolution: Int

  """The video controller's installed memory in KB."""
  installedRamKB: Int

  """The video controller manufacturer."""
  manufacturer: String

  """The video controller model."""
  model: String

  """The video controller serial number."""
  serialNumber: String

  """The video controller's current vertical resolution."""
  verticalResolution: Int

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.VideoControllerSlot'
"""The video controller slot represents a slot for a video controller on the mainboard."""
type VideoControllerSlot {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The video controller slot id."""
  slotId: String

  """The video controller socket designation"""
  socketDesignation: String

  """The video controller assigned to this slot"""
  videoController: VideoController

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.VideoControllerSlot'
"""The video controller slot represents a slot for a video controller on the mainboard."""
input VideoControllerSlotInput {
  """The video controller slot id."""
  slotId: String

  """The video controller socket designation"""
  socketDesignation: String

  """The video controller assigned to this slot"""
  videoController: VideoControllerInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.network.IscsiPort'
"""An ISCSI port (either initiator or target depending on the type field)"""
type IscsiPort {
  """The alias for this port"""
  alias: String

  """The owning device"""
  device: Device

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The connections where the port is the initiator"""
  initiatorConnections: [IscsiPortConnection]

  """The IQN (iSCSI qualified name)"""
  iqn: String

  """The connections where the port is the target"""
  targetConnections: [IscsiPortConnection]

  """The iscsi port type"""
  type: ISCSIPortType

  """Gets all connections"""
  connections: [IscsiPortConnection]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.network.IscsiPort'
"""An ISCSI port (either initiator or target depending on the type field)"""
input IscsiPortInput {
  """The alias for this port"""
  alias: String

  """The owning device"""
  device: DeviceInput

  """The connections where the port is the initiator"""
  initiatorConnections: [IscsiPortConnectionInput]

  """The IQN (iSCSI qualified name)"""
  iqn: String

  """The connections where the port is the target"""
  targetConnections: [IscsiPortConnectionInput]

  """The iscsi port type"""
  type: ISCSIPortType

  """Gets all connections"""
  connections: [IscsiPortConnectionInput]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.network.IscsiPortConnection'
"""An ISCSI port (either initiator or target depending on the type field)"""
type IscsiPortConnection {
  """The initiators IP address."""
  initiatorIPAddress: String

  """The target IP address."""
  targetIPAddress: String

  """Get the initiator port"""
  initiatorPort: IscsiPort

  """Get the target port"""
  targetPort: IscsiPort

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.network.IscsiPortConnection'
"""An ISCSI port (either initiator or target depending on the type field)"""
input IscsiPortConnectionInput {
  """The initiators IP address."""
  initiatorIPAddress: String

  """The target IP address."""
  targetIPAddress: String

  """Get the initiator port"""
  initiatorPort: IscsiPortInput

  """Get the target port"""
  targetPort: IscsiPortInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.network.NetworkInterface'
"""A network interface"""
type NetworkInterface {
  """The network interface's administrative status"""
  administrativeStatus: InterfaceStatus

  """The network interface's annotation (often configured manually by the admins)."""
  annotation: String

  """The network interface's description."""
  description: String

  """The owning device"""
  device: Device

  """A flag whether this network interface has DHCP enabled or not"""
  dhcpEnabled: Boolean

  """The DNS suffix search order."""
  dnsSearchSuffixes: [String]

  """The list of DNS Server configs (ordered by the index of definition)."""
  dnsServers: [IPDnsServerConfiguration]

  """The DNS suffix configured for this network interface"""
  dnsSuffix: String

  """The network interface's duplex mode"""
  duplexMode: DuplexMode

  """The network interface's extended description."""
  extendedDescription: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The network interface's physical address (MAC or WWN)."""
  index: Int

  """The list of ip4 transports including their configuration (subnet mask, hostnames)."""
  ip4Transports: [IP4Transport]

  """The list of ip6 transports including their configuration (network prefix, hostnames)."""
  ip6Transports: [IP6Transport]

  """The network interface's MTU configuration."""
  mtu: Int

  """The network interface's operational status"""
  operationalStatus: InterfaceStatus

  """The network interface's physical address (MAC or WWN)."""
  physicalAddress: String

  """The network interface's port id."""
  portId: Int

  """The network interface's speed in Bits per second."""
  speed: Long

  """The network interface's type"""
  type: InterfaceType

  """A flag that indicates whether this mac address should be used to identify devices. Note that not all mac addresses can be used. For instance VPN mac addresses are often the same on ALL VPN clients!"""
  useForIdentification: Boolean

  """The list of configured vlans for this network interface"""
  vlans: [Vlan]

  """The list of network interfaces physically connected to this interface.
Note that there might be more than one interface in cases where you have non-managed
switches connecting devices"""
  connectedNetworkInterfaces: [NetworkInterface]

  """The DHCP configuration (if it exists)."""
  dhcpConfig: IP4DHCPConfiguration

  """The list of topology connections for this interface.
Note that there might be more than one interface in cases where you have non-managed
switches connecting devices"""
  topologyConnections: [TopologyConnection]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.network.NetworkInterface'
"""A network interface"""
input NetworkInterfaceInput {
  """The network interface's administrative status"""
  administrativeStatus: InterfaceStatus

  """The network interface's annotation (often configured manually by the admins)."""
  annotation: String

  """The network interface's description."""
  description: String

  """The owning device"""
  device: DeviceInput

  """A flag whether this network interface has DHCP enabled or not"""
  dhcpEnabled: Boolean

  """The DNS suffix search order."""
  dnsSearchSuffixes: [String]

  """The list of DNS Server configs (ordered by the index of definition)."""
  dnsServers: [IPDnsServerConfigurationInput]

  """The DNS suffix configured for this network interface"""
  dnsSuffix: String

  """The network interface's duplex mode"""
  duplexMode: DuplexMode

  """The network interface's extended description."""
  extendedDescription: String

  """The network interface's physical address (MAC or WWN)."""
  index: Int

  """The list of ip4 transports including their configuration (subnet mask, hostnames)."""
  ip4Transports: [IP4TransportInput]

  """The list of ip6 transports including their configuration (network prefix, hostnames)."""
  ip6Transports: [IP6TransportInput]

  """The network interface's MTU configuration."""
  mtu: Int

  """The network interface's operational status"""
  operationalStatus: InterfaceStatus

  """The network interface's physical address (MAC or WWN)."""
  physicalAddress: String

  """The network interface's port id."""
  portId: Int

  """The network interface's speed in Bits per second."""
  speed: Long

  """The network interface's type"""
  type: InterfaceType

  """A flag that indicates whether this mac address should be used to identify devices. Note that not all mac addresses can be used. For instance VPN mac addresses are often the same on ALL VPN clients!"""
  useForIdentification: Boolean

  """The list of network interfaces physically connected to this interface.
Note that there might be more than one interface in cases where you have non-managed
switches connecting devices"""
  connectedNetworkInterfaces: [NetworkInterfaceInput]

  """The DHCP configuration (if it exists)."""
  dhcpConfig: IP4DHCPConfigurationInput

  """The list of topology connections for this interface.
Note that there might be more than one interface in cases where you have non-managed
switches connecting devices"""
  topologyConnections: [TopologyConnectionInput]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.network.mobile.MobileBroadbandDevice'
"""A mobile broadband device (modem)"""
type MobileBroadbandDevice {
  """The cellular class"""
  cellularClass: String

  """The description."""
  description: String

  """The modem fw version"""
  fwVersion: String

  """The unique id"""
  guid: String

  """The home provider name"""
  homeProviderName: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The imei number"""
  imei: String

  """The modem manufacturer"""
  manufacturer: String

  """The modem model"""
  model: String

  """The name."""
  name: String

  """The provider name"""
  providerName: String

  """The signal strength in percent"""
  signalStrength: Int

  """The SIM card"""
  simCard: SimCard

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.network.mobile.MobileBroadbandDevice'
"""A mobile broadband device (modem)"""
input MobileBroadbandDeviceInput {
  """The cellular class"""
  cellularClass: String

  """The description."""
  description: String

  """The modem fw version"""
  fwVersion: String

  """The unique id"""
  guid: String

  """The home provider name"""
  homeProviderName: String

  """The imei number"""
  imei: String

  """The modem manufacturer"""
  manufacturer: String

  """The modem model"""
  model: String

  """The name."""
  name: String

  """The provider name"""
  providerName: String

  """The signal strength in percent"""
  signalStrength: Int

  """The SIM card"""
  simCard: SimCardInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.network.mobile.SimCard'
"""A SimCard"""
type SimCard {
  """The ICCID."""
  iccid: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The IMSI."""
  imsi: String

  """The corresponding mobile broadband device."""
  mobileBroadbandDevice: MobileBroadbandDevice

  """The phone number."""
  phoneNumber: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hardware.network.mobile.SimCard'
"""A SimCard"""
input SimCardInput {
  """The ICCID."""
  iccid: String

  """The IMSI."""
  imsi: String

  """The phone number."""
  phoneNumber: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.hashes.CurrentDeviceHash'
"""a hash value for a device and a discovery category. Hash values are used to find modified devices efficiently when integration the product with other tools (e.g. CMDB)"""
type CurrentDeviceHash {
  """the hash value for a device and category."""
  hashValue: String

  """the category that this hash value is calculated for"""
  category: DiscoveryCategory

  """the corresponding device"""
  device: Device

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.integration.DeviceComparison'
"""A summary of item changes for a specific device and integration registration."""
type DeviceComparison {
  """the category that has changed for this device"""
  category: DiscoveryCategory

  """the corresponding device"""
  device: Device

  """the category that this hash value is calculated for"""
  integrationRegistration: IntegrationRegistration

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.integration.DeviceComparisonSummary'
"""A summary of item changes for a specific device and integration registration."""
type DeviceComparisonSummary {
  """Returns the list of changed categories for this entry."""
  changedCategories: [DiscoveryCategory]

  """the corresponding device"""
  device: Device

  """the category that this hash value is calculated for"""
  integrationRegistration: IntegrationRegistration

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.integration.IntegrationRegistration'
"""The integration registration is required when other tools like CMDB solution register as a data importer.

Whenever there is at least one integration registered, JDisc Discovery calculates hash values for
all data categories (such as memory modules, processors etc.). A CMDB integration can then call a method to mark a device as
imported. When a device is marked as imported, it clones the hash values. That enables an easy comparison between the current device data
and the state when it was imported the last time. Devices with no change in their data do not need to be imported again.
"""
type IntegrationRegistration {
  """The name for the integrating application (e.g. the CMDB product name)"""
  applicationName: String

  """Finds all device summaries for this integration"""
  comparisonSummaries: [DeviceComparisonSummary]

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The instance name (in case there are multiple instances for an integrated product"""
  instanceName: String

  """The unique id. External tools should refer to the integration only by their unique id"""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.integration.IntegrationRegistration'
"""The integration registration is required when other tools like CMDB solution register as a data importer.

Whenever there is at least one integration registered, JDisc Discovery calculates hash values for
all data categories (such as memory modules, processors etc.). A CMDB integration can then call a method to mark a device as
imported. When a device is marked as imported, it clones the hash values. That enables an easy comparison between the current device data
and the state when it was imported the last time. Devices with no change in their data do not need to be imported again.
"""
input IntegrationRegistrationInput {
  """The name for the integrating application (e.g. the CMDB product name)"""
  applicationName: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The instance name (in case there are multiple instances for an integrated product"""
  instanceName: String

  """The unique id. External tools should refer to the integration only by their unique id"""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.integration.LastIntegrationImport'
"""This is an import entry for a single device and a particular integrations. The import entry also contains a foreign id that an integration can use to link a device to the an id within the integrated product."""
type LastIntegrationImport {
  """The creation timestamp of the event."""
  creationTime: DateTime

  """The device that this entry belongs to."""
  device: Device

  """A foreign id provided by the integration to make it easier to map JDisc devices to objects within the integration."""
  foreignId: String

  """The internal id for this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The integration that this entry belongs to."""
  integrationRegistration: IntegrationRegistration

  """The modification timestamp of the event."""
  modificationTime: DateTime

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.logs.DeviceDiscoveryLog'
"""A discovery log object for a device."""
type DeviceDiscoveryLog {
  """The log string in XML format."""
  log: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.logs.DeviceDiscoveryLog'
"""A discovery log object for a device."""
input DeviceDiscoveryLogInput {
  """The log string in XML format."""
  log: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.network.PortConnection'
"""The port connection object is used to store
- an open TCP/IP or UDP port
- a TCP/IP connection between two processes on the same or different device

The connectionState defines whether the port is listening or whether it is a TCP/IP connection."""
type PortConnection {
  """The application instance of this port"""
  applicationInstance: ApplicationInstance

  """The time when this connection/open port has been scanned for the last time."""
  discoveryTime: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The cipher used for the SSL connection"""
  sslCipher: String

  """The protocol for the SSL connection (e.g. TLS 1.2, TLS 1.3)"""
  sslProtocol: String

  """The connection state."""
  state: TcpConnectionState

  """The connection state."""
  type: PortConnectionType

  """The IP address that is used by the initiating process to establish this connection."""
  sourceAddress: String

  """The device that hosts the source of the TCP/IP connection."""
  sourceDevice: Device

  """The description for a connection's source port."""
  sourcePortDescription: String

  """The name for a connection's source port."""
  sourcePortName: String

  """The source port that is used by the initiating process to establish this connection or listen on this port."""
  sourcePortNumber: Int

  """The process that initiated the TCP/IP connection."""
  sourceProcess: Process

  """The target IP address that this connection connects to."""
  targetAddress: String

  """The process that hosts the target of the TCP/IP connection."""
  targetDevice: Device

  """The description for a connection's target port."""
  targetPortDescription: String

  """The name for a connection's target port."""
  targetPortName: String

  """The target port for this TCP/IP connection."""
  targetPortNumber: Int

  """The process that is the target of the TCP/IP connection."""
  targetProcess: Process

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.network.PortConnection'
"""The port connection object is used to store
- an open TCP/IP or UDP port
- a TCP/IP connection between two processes on the same or different device

The connectionState defines whether the port is listening or whether it is a TCP/IP connection."""
input PortConnectionInput {
  """The application instance of this port"""
  applicationInstance: ApplicationInstanceInput

  """The time when this connection/open port has been scanned for the last time."""
  discoveryTime: DateTime

  """The cipher used for the SSL connection"""
  sslCipher: String

  """The protocol for the SSL connection (e.g. TLS 1.2, TLS 1.3)"""
  sslProtocol: String

  """The connection state."""
  state: TcpConnectionState

  """The connection state."""
  type: PortConnectionType

  """The IP address that is used by the initiating process to establish this connection."""
  sourceAddress: String

  """The device that hosts the source of the TCP/IP connection."""
  sourceDevice: DeviceInput

  """The description for a connection's source port."""
  sourcePortDescription: String

  """The name for a connection's source port."""
  sourcePortName: String

  """The source port that is used by the initiating process to establish this connection or listen on this port."""
  sourcePortNumber: Int

  """The process that initiated the TCP/IP connection."""
  sourceProcess: ProcessInput

  """The target IP address that this connection connects to."""
  targetAddress: String

  """The process that hosts the target of the TCP/IP connection."""
  targetDevice: DeviceInput

  """The description for a connection's target port."""
  targetPortDescription: String

  """The name for a connection's target port."""
  targetPortName: String

  """The target port for this TCP/IP connection."""
  targetPortNumber: Int

  """The process that is the target of the TCP/IP connection."""
  targetProcess: ProcessInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.network.SnmpAgentData'
"""The entity holds basic data coming from the SNMP protocol."""
type SnmpAgentData {
  """The dot1dBaseBridge address is a unique identifier usually used by switches and routers. In most cases, it is the 'base' mac address."""
  dot1dBaseBridgeAddress: String

  """Each SNMP engine has a unique engine id."""
  engineId: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The SNMP system contact. The system contacts string is usually configured by the owner of a device."""
  sysContact: String

  """The SNMP system description. The system description is a string that each manufacturer or OS vendor creates for the device or operating system."""
  sysDescription: String

  """The SNMP system location. The system location string is usually configured by the owner of a device."""
  sysLocation: String

  """The SNMP system name."""
  sysName: String

  """The SNMP system object id for this device. The SNMP system object ids are created by the vendors to identify a model, series or operating system."""
  sysObjectId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.network.SnmpAgentData'
"""The entity holds basic data coming from the SNMP protocol."""
input SnmpAgentDataInput {
  """The dot1dBaseBridge address is a unique identifier usually used by switches and routers. In most cases, it is the 'base' mac address."""
  dot1dBaseBridgeAddress: String

  """Each SNMP engine has a unique engine id."""
  engineId: String

  """The SNMP system contact. The system contacts string is usually configured by the owner of a device."""
  sysContact: String

  """The SNMP system description. The system description is a string that each manufacturer or OS vendor creates for the device or operating system."""
  sysDescription: String

  """The SNMP system location. The system location string is usually configured by the owner of a device."""
  sysLocation: String

  """The SNMP system name."""
  sysName: String

  """The SNMP system object id for this device. The SNMP system object ids are created by the vendors to identify a model, series or operating system."""
  sysObjectId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.report.CustomReport'
"""The custom report definition. A custom report is defined by the properties it displays and optional conditions on properties."""
type CustomReport {
  """The custom report creation time."""
  creationTime: DateTime

  """The description of the custom report"""
  description: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The usergroup id of the user of the custom report"""
  inventoryUserGroupId: Long

  """The user id of the user of the custom report"""
  inventoryUserId: Long

  """The custom report modification time."""
  modificationTime: DateTime

  """The name of the custom report"""
  name: String

  """The xml description of the custom report"""
  parentCustomReport: CustomReport

  """The sql query of the custom report"""
  sqlQuery: String

  """The type of the custom report"""
  type: CustomReportType

  """The xml description of the custom report"""
  xmlDescription: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.report.CustomReport'
"""The custom report definition. A custom report is defined by the properties it displays and optional conditions on properties."""
input CustomReportInput {
  """The custom report creation time."""
  creationTime: DateTime

  """The description of the custom report"""
  description: String

  """The usergroup id of the user of the custom report"""
  inventoryUserGroupId: Long

  """The user id of the user of the custom report"""
  inventoryUserId: Long

  """The custom report modification time."""
  modificationTime: DateTime

  """The name of the custom report"""
  name: String

  """The xml description of the custom report"""
  parentCustomReport: CustomReportInput

  """The sql query of the custom report"""
  sqlQuery: String

  """The type of the custom report"""
  type: CustomReportType

  """The xml description of the custom report"""
  xmlDescription: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.report.MailRecipient'
"""Recipient mail address information"""
type MailRecipient {
  """The entity's creation time."""
  creationTime: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The mail account address"""
  mailAddress: String

  """The entity's modification time."""
  modificationTime: DateTime

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.report.MailRecipient'
"""Recipient mail address information"""
input MailRecipientInput {
  """The entity's creation time."""
  creationTime: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The mail account address"""
  mailAddress: String

  """The entity's modification time."""
  modificationTime: DateTime

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.report.ReportMailExportJob'
"""A report mail export job configuration"""
type ReportMailExportJob {
  """The job's connected report name"""
  builtInReport: BuiltInReport

  """The entity's creation time."""
  creationTime: DateTime

  """The job's connected custom report id"""
  customReportId: Long

  """The job's export emptyReport attribute"""
  emptyReport: Boolean

  """The job's export format encoding attribute"""
  encoding: TextFileEncoding

  """The job's export encryptZipFile attribute"""
  encryptZipFile: Boolean

  """The job's export encryptionPwd attribute"""
  encryptionPwd: String

  """The job's export format"""
  exportFormat: ExportFormat

  """The job's export type"""
  exportType: ExportType

  """The job's export format fileName attribute"""
  fileName: String

  """The job's filter case-sensitive flag"""
  filterCaseSensitive: Boolean

  """The job's filter value"""
  filterValue: String

  """The internal id of mail export job.
Mandatory for change and delete operations.
Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The job's invert filter flag"""
  invertFilter: Boolean

  """The job's export e-mail account id"""
  mailAccount: MailAccount

  """The job's export mailMessage attribute"""
  mailMessage: String

  """The entity's modification time."""
  modificationTime: DateTime

  """The default null value sequence"""
  nullValue: String

  """The list of mail recipients."""
  recipients: [MailRecipient]

  """The job's connected report title"""
  reportTitle: String

  """The job's export format separator attribute"""
  separator: String

  """The job's sort column configuration"""
  sortByColumn: String

  """The job's sort order configuration"""
  sortOrder: SortOrder

  """The job's export subjectLine attribute"""
  subjectLine: String

  """The job's export format useHumanReadableDateDurationOutput attribute"""
  useHumanReadableDateDurationOutput: Boolean

  """The job's export format useHumanReadableOutput attribute"""
  useHumanReadableOutput: Boolean

  """The job's export format useMultipleLines attribute"""
  useMultipleLines: Boolean

  """The job's export zipFile attribute"""
  zipFile: Boolean

  """The job's name"""
  name: String

  """The job's schedule"""
  schedule: Schedule

  """The job's owner id"""
  inventoryUserId: Long

  """The job's owner login"""
  inventoryUserLogin: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.report.ReportMailExportJob'
"""A report mail export job configuration"""
input ReportMailExportJobInput {
  """The job's connected report name"""
  builtInReport: BuiltInReport

  """The entity's creation time."""
  creationTime: DateTime

  """The job's connected custom report id"""
  customReportId: Long

  """The job's export emptyReport attribute"""
  emptyReport: Boolean

  """The job's export format encoding attribute"""
  encoding: TextFileEncoding

  """The job's export encryptZipFile attribute"""
  encryptZipFile: Boolean

  """The job's export encryptionPwd attribute"""
  encryptionPwd: String

  """The job's export format"""
  exportFormat: ExportFormat

  """The job's export type"""
  exportType: ExportType

  """The job's export format fileName attribute"""
  fileName: String

  """The job's filter case-sensitive flag"""
  filterCaseSensitive: Boolean

  """The job's filter value"""
  filterValue: String

  """The internal id of mail export job.
Mandatory for change and delete operations.
Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The job's invert filter flag"""
  invertFilter: Boolean

  """The job's export e-mail account id"""
  mailAccount: MailAccountInput

  """The job's export mailMessage attribute"""
  mailMessage: String

  """The entity's modification time."""
  modificationTime: DateTime

  """The default null value sequence"""
  nullValue: String

  """The list of mail recipients."""
  recipients: [MailRecipientInput]

  """The job's connected report title"""
  reportTitle: String

  """The job's export format separator attribute"""
  separator: String

  """The job's sort column configuration"""
  sortByColumn: String

  """The job's sort order configuration"""
  sortOrder: SortOrder

  """The job's export subjectLine attribute"""
  subjectLine: String

  """The job's export format useHumanReadableDateDurationOutput attribute"""
  useHumanReadableDateDurationOutput: Boolean

  """The job's export format useHumanReadableOutput attribute"""
  useHumanReadableOutput: Boolean

  """The job's export format useMultipleLines attribute"""
  useMultipleLines: Boolean

  """The job's export zipFile attribute"""
  zipFile: Boolean

  """The job's name"""
  name: String

  """The job's schedule"""
  schedule: ScheduleInput

  """The job's owner id"""
  inventoryUserId: Long

  """The job's owner login"""
  inventoryUserLogin: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.report.ReportNetworkExportJob'
"""A report network export job configuration"""
type ReportNetworkExportJob {
  """The job's export format baseFileName attribute"""
  baseFileName: String

  """The job's connected report name"""
  builtInReport: BuiltInReport

  """The entity's creation time."""
  creationTime: DateTime

  """The job's connected custom report id"""
  customReportId: Long

  """The job's export format encoding attribute"""
  encoding: TextFileEncoding

  """The job's export format"""
  exportFormat: ExportFormat

  """The job's export type"""
  exportType: ExportType

  """The job's filter case-sensitive flag"""
  filterCaseSensitive: Boolean

  """The job's filter value"""
  filterValue: String

  """The internal id of network export job.
Mandatory for change and delete operations.
Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The job's invert filter flag"""
  invertFilter: Boolean

  """The entity's modification time."""
  modificationTime: DateTime

  """The job's name"""
  name: String

  """The job's export storage location"""
  networkStorageLocation: NetworkStorageLocation

  """The job's export format nullValue attribute"""
  nullValue: String

  """The job's export numberOfHistoryFiles attribute"""
  numberOfHistoryFiles: Int

  """The job's export overwriteExistingFile attribute"""
  overwriteExistingFile: Boolean

  """The job's connected report title"""
  reportTitle: String

  """The job's export format separator attribute"""
  separator: String

  """The job's sort column configuration"""
  sortByColumn: String

  """The job's sort order configuration"""
  sortOrder: SortOrder

  """The job's export format useHumanReadableDateDurationOutput attribute"""
  useHumanReadableDateDurationOutput: Boolean

  """The job's export format useHumanReadableOutput attribute"""
  useHumanReadableOutput: Boolean

  """The job's export format useMultipleLines attribute"""
  useMultipleLines: Boolean

  """The job's schedule"""
  schedule: Schedule

  """The job's owner id"""
  inventoryUserId: Long

  """The job's owner login"""
  inventoryUserLogin: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.report.ReportNetworkExportJob'
"""A report network export job configuration"""
input ReportNetworkExportJobInput {
  """The job's export format baseFileName attribute"""
  baseFileName: String

  """The job's connected report name"""
  builtInReport: BuiltInReport

  """The entity's creation time."""
  creationTime: DateTime

  """The job's connected custom report id"""
  customReportId: Long

  """The job's export format encoding attribute"""
  encoding: TextFileEncoding

  """The job's export format"""
  exportFormat: ExportFormat

  """The job's export type"""
  exportType: ExportType

  """The job's filter case-sensitive flag"""
  filterCaseSensitive: Boolean

  """The job's filter value"""
  filterValue: String

  """The internal id of network export job.
Mandatory for change and delete operations.
Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The job's invert filter flag"""
  invertFilter: Boolean

  """The entity's modification time."""
  modificationTime: DateTime

  """The job's name"""
  name: String

  """The job's export storage location"""
  networkStorageLocation: NetworkStorageLocationInput

  """The job's export format nullValue attribute"""
  nullValue: String

  """The job's export numberOfHistoryFiles attribute"""
  numberOfHistoryFiles: Int

  """The job's export overwriteExistingFile attribute"""
  overwriteExistingFile: Boolean

  """The job's connected report title"""
  reportTitle: String

  """The job's export format separator attribute"""
  separator: String

  """The job's sort column configuration"""
  sortByColumn: String

  """The job's sort order configuration"""
  sortOrder: SortOrder

  """The job's export format useHumanReadableDateDurationOutput attribute"""
  useHumanReadableDateDurationOutput: Boolean

  """The job's export format useHumanReadableOutput attribute"""
  useHumanReadableOutput: Boolean

  """The job's export format useMultipleLines attribute"""
  useMultipleLines: Boolean

  """The job's schedule"""
  schedule: ScheduleInput

  """The job's owner id"""
  inventoryUserId: Long

  """The job's owner login"""
  inventoryUserLogin: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.Application'
"""The applications installed on an operating system."""
type Application {
  """The time when the application was detected for the first time."""
  creationTime: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The list of installations for this application"""
  installations: [InstalledApplication]

  """The application manufacturer"""
  manufacturer: String

  """The application name"""
  name: String

  """The application version"""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.Application'
"""The applications installed on an operating system."""
input ApplicationInput {
  """The time when the application was detected for the first time."""
  creationTime: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The list of installations for this application"""
  installations: [InstalledApplicationInput]

  """The application manufacturer"""
  manufacturer: String

  """The application name"""
  name: String

  """The application version"""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.ApplicationInstance'
"""The applications installed on an operating system."""
type ApplicationInstance {
  """The application that is providing this instance"""
  application: Application

  """The installation path for the application that this instance belongs to."""
  applicationInstallPath: String

  """The list of databases for this instance"""
  databases: [Database]

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The instance path (if it exists)."""
  instancePath: String

  """The application instance name"""
  name: String

  """The operating system that the instance is installed on"""
  operatingSystem: OperatingSystem

  """Ports that this application instance is listening on"""
  ports: [PortConnection]

  """The application that is providing this instance"""
  state: SoftwareInstanceState

  """The application instance type"""
  type: SoftwareInstanceType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.ApplicationInstance'
"""The applications installed on an operating system."""
input ApplicationInstanceInput {
  """The application that is providing this instance"""
  application: ApplicationInput

  """The installation path for the application that this instance belongs to."""
  applicationInstallPath: String

  """The list of databases for this instance"""
  databases: [DatabaseInput]

  """The instance path (if it exists)."""
  instancePath: String

  """The application instance name"""
  name: String

  """The operating system that the instance is installed on"""
  operatingSystem: OperatingSystemInput

  """Ports that this application instance is listening on"""
  ports: [PortConnectionInput]

  """The application that is providing this instance"""
  state: SoftwareInstanceState

  """The application instance type"""
  type: SoftwareInstanceType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.Certificate'
"""A certificate installed on an operating systems's certificate store."""
type Certificate implements BaseCertificateInfo {
  """The certificate issuer"""
  issuer: String

  """The certificate key size"""
  keyLength: Int

  """The certificate signature algorithm"""
  keyType: PublicKeyEncryptionType

  """The certificate key usage(s)"""
  keyUsage: [CertificateKeyUsage]

  """The certificate end date"""
  notAfter: DateTime

  """The certificate start date"""
  notBefore: DateTime

  """The certificate OID"""
  oid: String

  """The certificate serial number"""
  serialNumber: String

  """The certificate subject"""
  subject: String

  """The certificate thumbprint (fingerprint)"""
  thumbprint: String

  """The certificate version (expected value is always 3 since X509 v3 supported only)"""
  version: String

  """The list of extended key usage OIDs"""
  extendedKeyUsage: [String]

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The list of installations for this certificate"""
  installations: [InstalledCertificate]

  """The list of subject alternative names for this certificate"""
  subjectAlternativeNames: [String]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.Certificate'
"""A certificate installed on an operating systems's certificate store."""
input CertificateInput {
  """The list of extended key usage OIDs"""
  extendedKeyUsage: [String]

  """The list of installations for this certificate"""
  installations: [InstalledCertificateInput]

  """The certificate's issuer"""
  issuer: String

  """The certificate's key length"""
  keyLength: Int

  """The certificate's key type"""
  keyType: PublicKeyEncryptionType

  """The list of key usages for this certificate"""
  keyUsage: [CertificateKeyUsage]

  """The certificate is not valid after this date"""
  notAfter: DateTime

  """The certificate is not valid before this date"""
  notBefore: DateTime

  """The certificate's oid"""
  oid: String

  """The certificate's serial number"""
  serialNumber: String

  """The certificate's subject"""
  subject: String

  """The list of subject alternative names for this certificate"""
  subjectAlternativeNames: [String]

  """The certificate's thumbprint (fingerprint)"""
  thumbprint: String

  """The certificate's version"""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.ExecutableFile'
"""Executable files used or installed on an operating system."""
type ExecutableFile {
  """The filename for the binary executable file"""
  binaryName: String

  """The time when the application was detected for the first time."""
  creationTime: DateTime

  """The description for the executable file"""
  description: String

  """The filesize for the executable file"""
  filesize: Long

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The list of installations for this application"""
  installations: [InstalledExecutableFile]

  """The last modification date for the executable file"""
  lastModificationDate: DateTime

  """The manufacturer for the executable file"""
  manufacturer: String

  """The name for the binary executable file"""
  name: String

  """The version for the binary executable file"""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.ExecutableFile'
"""Executable files used or installed on an operating system."""
input ExecutableFileInput {
  """The filename for the binary executable file"""
  binaryName: String

  """The time when the application was detected for the first time."""
  creationTime: DateTime

  """The description for the executable file"""
  description: String

  """The filesize for the executable file"""
  filesize: Long

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The list of installations for this application"""
  installations: [InstalledExecutableFileInput]

  """The last modification date for the executable file"""
  lastModificationDate: DateTime

  """The manufacturer for the executable file"""
  manufacturer: String

  """The name for the binary executable file"""
  name: String

  """The version for the binary executable file"""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.FirewallZone'
"""A firewall zone."""
type FirewallZone {
  """A flag whether the firewall zone is enabled or not"""
  enabled: Boolean

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The zone name"""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.FirewallZone'
"""A firewall zone."""
input FirewallZoneInput {
  """A flag whether the firewall zone is enabled or not"""
  enabled: Boolean

  """The zone name"""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.InstalledApplication'
"""An application installed on an operating system."""
type InstalledApplication {
  """The associated application"""
  application: Application

  """The End-of_life support information of the application"""
  endOfLifeSupport: EndOfLifeSupport

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The application installation timestamp"""
  installationDate: DateTime

  """The application installation path"""
  installationPath: String

  """A flag whether the application is installed as a Microsoft click to run application"""
  isClickToRun: Boolean

  """The associated license"""
  license: License

  """The operating system the software is installed on"""
  operatingSystem: OperatingSystem

  """The source where we got the application information from (e.g. Add/Remove Programs, rpm, dpkg, ...)"""
  source: ApplicationSource

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.InstalledApplication'
"""An application installed on an operating system."""
input InstalledApplicationInput {
  """The associated application"""
  application: ApplicationInput

  """The End-of_life support information of the application"""
  endOfLifeSupport: EndOfLifeSupportInput

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The application installation timestamp"""
  installationDate: DateTime

  """The application installation path"""
  installationPath: String

  """A flag whether the application is installed as a Microsoft click to run application"""
  isClickToRun: Boolean

  """The associated license"""
  license: LicenseInput

  """The operating system the software is installed on"""
  operatingSystem: OperatingSystemInput

  """The source where we got the application information from (e.g. Add/Remove Programs, rpm, dpkg, ...)"""
  source: ApplicationSource

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.InstalledCertificate'
"""A certificate stored in the operating system's certificate store."""
type InstalledCertificate {
  """The certificate path"""
  path: String

  """The associated certificate"""
  certificate: Certificate

  """The operating system the software is installed on"""
  operatingSystem: OperatingSystem

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.InstalledCertificate'
"""A certificate stored in the operating system's certificate store."""
input InstalledCertificateInput {
  """The certificate path"""
  path: String

  """The associated certificate"""
  certificate: CertificateInput

  """The operating system the software is installed on"""
  operatingSystem: OperatingSystemInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.InstalledEndpointSecuritySoftware'
"""An endpoint security software installed on an operating system."""
type InstalledEndpointSecuritySoftware {
  """A flag whether the endpoint security's anti-spyware is enabled"""
  antiSpywareEnabled: Boolean

  """The timestamp when the anti-spyware version was last updated"""
  antiSpywareLastUpdated: DateTime

  """The anti-spyware version"""
  antiSpywareVersion: String

  """A flag whether the endpoint security's antivirus is enabled"""
  antivirusEnabled: Boolean

  """The timestamp when the antivirus signature was last updated"""
  antivirusLastUpdated: DateTime

  """The antivirus signature version"""
  antivirusSignatureVersion: String

  """The associated endpoint security application"""
  application: Application

  """A flag whether the endpoint security is enabled"""
  enabled: Boolean

  """The endpoint security application installation path"""
  installationPath: String

  """A flag whether the endpoint NIS is enabled"""
  nisEnabled: Boolean

  """The antivirus NIS engine version"""
  nisEngineVersion: String

  """The timestamp when the NIS signature was last updated"""
  nisSignatureLastUpdated: DateTime

  """The antivirus NIS signature version"""
  nisSignatureVersion: String

  """The operating system the endpoint security software is installed on"""
  operatingSystem: OperatingSystem

  """A flag whether the endpoint security's realtime protection is enabled"""
  realtimeProtectionEnabled: Boolean

  """The endpoint security unique id"""
  uniqueId: String

  """A flag whether the endpoint security is up-to-date"""
  upToDate: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.InstalledEndpointSecuritySoftware'
"""An endpoint security software installed on an operating system."""
input InstalledEndpointSecuritySoftwareInput {
  """A flag whether the endpoint security's anti-spyware is enabled"""
  antiSpywareEnabled: Boolean

  """The timestamp when the anti-spyware version was last updated"""
  antiSpywareLastUpdated: DateTime

  """The anti-spyware version"""
  antiSpywareVersion: String

  """A flag whether the endpoint security's antivirus is enabled"""
  antivirusEnabled: Boolean

  """The timestamp when the antivirus signature was last updated"""
  antivirusLastUpdated: DateTime

  """The antivirus signature version"""
  antivirusSignatureVersion: String

  """The associated endpoint security application"""
  application: ApplicationInput

  """A flag whether the endpoint security is enabled"""
  enabled: Boolean

  """The endpoint security application installation path"""
  installationPath: String

  """A flag whether the endpoint NIS is enabled"""
  nisEnabled: Boolean

  """The antivirus NIS engine version"""
  nisEngineVersion: String

  """The timestamp when the NIS signature was last updated"""
  nisSignatureLastUpdated: DateTime

  """The antivirus NIS signature version"""
  nisSignatureVersion: String

  """The operating system the endpoint security software is installed on"""
  operatingSystem: OperatingSystemInput

  """A flag whether the endpoint security's realtime protection is enabled"""
  realtimeProtectionEnabled: Boolean

  """The endpoint security unique id"""
  uniqueId: String

  """A flag whether the endpoint security is up-to-date"""
  upToDate: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.InstalledExecutableFile'
"""An executable file installed on an operating system."""
type InstalledExecutableFile {
  """The associated executable file"""
  executableFile: ExecutableFile

  """The executable files's installation path"""
  installationPath: String

  """The operating system the software is installed on"""
  operatingSystem: OperatingSystem

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.InstalledExecutableFile'
"""An executable file installed on an operating system."""
input InstalledExecutableFileInput {
  """The associated executable file"""
  executableFile: ExecutableFileInput

  """The executable files's installation path"""
  installationPath: String

  """The operating system the software is installed on"""
  operatingSystem: OperatingSystemInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.InstalledPatch'
"""A patch installed on an operating system."""
type InstalledPatch {
  """The patch installation timestamp"""
  installationDate: DateTime

  """The operating system that this patch is installed on"""
  operatingSystem: OperatingSystem

  """The associated patch"""
  patch: Patch

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.InstalledPatch'
"""A patch installed on an operating system."""
input InstalledPatchInput {
  """The patch installation timestamp"""
  installationDate: DateTime

  """The operating system that this patch is installed on"""
  operatingSystem: OperatingSystemInput

  """The associated patch"""
  patch: PatchInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.InstalledService'
"""A service installed on an operating system."""
type InstalledService {
  """The binary name for this service"""
  binaryName: String

  """The display name for this service"""
  displayName: String

  """The service installation path"""
  failureAction: ServiceFailureAction

  """The service installation path"""
  installationPath: String

  """The raw name for the service (not normalized)"""
  internalName: String

  """The parameters that this service is called with"""
  parameters: String

  """The service installation path"""
  startupMode: ServiceStartupMode

  """The service installation path"""
  status: ServiceStatus

  """The operating system that this service is installed on"""
  operatingSystem: OperatingSystem

  """The associated service"""
  service: Service

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.InstalledService'
"""A service installed on an operating system."""
input InstalledServiceInput {
  """The binary name for this service"""
  binaryName: String

  """The display name for this service"""
  displayName: String

  """The service installation path"""
  failureAction: ServiceFailureAction

  """The service installation path"""
  installationPath: String

  """The raw name for the service (not normalized)"""
  internalName: String

  """The parameters that this service is called with"""
  parameters: String

  """The service installation path"""
  startupMode: ServiceStartupMode

  """The service installation path"""
  status: ServiceStatus

  """The operating system that this service is installed on"""
  operatingSystem: OperatingSystemInput

  """The associated service"""
  service: ServiceInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.JavaRisk'
"""A Java license risk entry."""
type JavaRisk {
  """The application this java risk applies to."""
  application: Application

  """The device that this java risk applies to."""
  device: Device

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The process this java risk applies to."""
  process: Process

  """The risk type for this Java risk."""
  riskType: JavaRiskType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.JavaRisk'
"""A Java license risk entry."""
input JavaRiskInput {
  """The application this java risk applies to."""
  application: ApplicationInput

  """The device that this java risk applies to."""
  device: DeviceInput

  """The process this java risk applies to."""
  process: ProcessInput

  """The risk type for this Java risk."""
  riskType: JavaRiskType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.JavaRiskSummary'
"""A Java installation and process risk summary."""
type JavaRiskSummary {
  """The foreign key to the device."""
  deviceId: ID

  """The number of JVM installations"""
  foundJvmCount: Int

  """The number of Java processes"""
  javaProcessCount: Int

  """The number of Java processes without any specific information"""
  noInfoJavaProcessCount: Int

  """The number of Java processes possibly at risk"""
  riskyJavaProcessCount: Int

  """The number of JVM installations possibly at risk"""
  riskyJvmCount: Int

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.License'
"""A software license."""
type License {
  """A license comment"""
  comment: String

  """A license's expiration date"""
  expirationDate: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The license product id"""
  productId: String

  """The license product key"""
  productKey: String

  """The license type"""
  status: SoftwareLicenseStatus

  """The license type"""
  type: LicenseType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.License'
"""A software license."""
input LicenseInput {
  """A license comment"""
  comment: String

  """A license's expiration date"""
  expirationDate: DateTime

  """The license product id"""
  productId: String

  """The license product key"""
  productKey: String

  """The license type"""
  status: SoftwareLicenseStatus

  """The license type"""
  type: LicenseType

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.OperatingSystem'
"""The operating system for a specific device."""
type OperatingSystem {
  """The list of all application instances (e.g. database instances, web server instances, ...)."""
  applicationInstances: [ApplicationInstance]

  """Gets the list of client access licenses for this operating system"""
  clientAccessLicenses: [ClientAccessLicense]

  """The operating system compile time"""
  compileTime: DateTime

  """The operating system description"""
  description: String

  """The End-of_life support information of the operating system"""
  endOfLifeSupport: EndOfLifeSupport

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The operating system's install date"""
  installDate: DateTime

  """The list of installed applications."""
  installedApplications: [InstalledApplication]

  """The list of installed certificates."""
  installedCertificates: [InstalledCertificate]

  """The list of installed endpoint security applications."""
  installedEndpointSecurityApplications: [InstalledEndpointSecuritySoftware]

  """The list of installed executable files."""
  installedExecutableFiles: [InstalledExecutableFile]

  """The list of installed patches."""
  installedPatches: [InstalledPatch]

  """The list of installed services."""
  installedServices: [InstalledService]

  """Gets the list of issued client access licenses for this operating system"""
  issuedClientAccessLicenses: [IssuedClientAccessLicense]

  """The kernel version"""
  kernelVersion: String

  """The operating system's last update time"""
  lastUpdateTime: DateTime

  """The operating system's license comment"""
  licenseComment: String

  """The operating system's license expiration date"""
  licenseExpirationDate: DateTime

  """The operating system's license status"""
  licenseStatus: SoftwareLicenseStatus

  """The license type"""
  licenseType: LicenseType

  """Gets the list of users which belong to this operating system."""
  localUsers: [LocalUser]

  """The locale that is used for this operating system"""
  locale: String

  """The locale code that is used for this operating system"""
  localeCode: Int

  """Gets the list of logged-on users to this operating system"""
  loggedOnUsers: [LoggedOnUser]

  """Gets the list of history logged-on users to this operating system"""
  loggedOnUsersHistory: [LoggedOnUser]

  """The operating system's manufacturer"""
  manufacturer: String

  """The list of all mapped printers."""
  mappedPrinters: [MappedPrinter]

  """The operating system family (e.g. Windows, Linux, HP-UX, ...)"""
  osFamily: String

  """The operating system version (e.g. Windows 10, Windows 2008 Server, ...)"""
  osVersion: String

  """The patch level (e.g. Service Pack 3)"""
  owner: String

  """The patch level (e.g. Service Pack 3)"""
  patchLevel: String

  """The list of pending installations."""
  pendingUpdates: [PendingUpdateItem]

  """The list of all processes running on this operating system."""
  processes: [Process]

  """The operating system product key"""
  productKey: String

  """The raw version as it gets delivered by the operating system"""
  rawVersion: String

  """Is a reboot required to finalize the installation of pending patches?"""
  rebootRequired: Boolean

  """Gets the list of ssh cipher algorithms supported by the operating systems's SSH server"""
  sshCipherAlgorithms: [SshCipherAlgorithm]

  """Gets the list of ssh key-exchange algorithms supported by the operating systems's SSH server"""
  sshKeyExchangeAlgorithms: [SshKeyExchangeAlgorithm]

  """Gets the list of ssh MAC algorithms supported by the operating systems's SSH server"""
  sshMACAlgorithms: [SshMacAlgorithm]

  """The device's system type (e.g. x64, x86, arm, ...)"""
  systemType: String

  """The uptime in milliseconds"""
  systemUpTime: Long

  """The timezone name"""
  timezoneName: String

  """The operating system's unique id"""
  uniqueId: String

  """The UTC offset for the configured timezone"""
  utcOffset: Int

  """Finds services by its display name. The display name is the name that is displayed in the services control panel. It can be language dependent."""
  findInstalledServiceByDisplayName(displayName: String!): [InstalledService]

  """Finds services by its internal name. The internal name is usually language independent."""
  findInstalledServiceByInternalName(internalName: String!): [InstalledService]

  """The list of all application instances (e.g. database instances, web server instances, ...)."""
  applicationInstancesByType(type: SoftwareInstanceType!): [ApplicationInstance]

  """The device that this operating system is installed on."""
  device: Device

  """The list of installed certificates where the issuer matches a regular expression. Refer to the Java regular expression reference documentation on more info on regular expressions"""
  installedCertificatesByIssuerPattern(regularExpressionPattern: String!): [InstalledCertificate]

  """The list of installed certificates where the issuer matches a regular expression, one of the subject alternative names (SAN) matches a regular expression and the subject matches a regular expression"""
  installedCertificatesByIssuerSANAndSubjectPattern(issuerRegularExpressionPattern: String!, subjectRegularExpressionPattern: String!, subjectAlternativeNamePattern: String!): [InstalledCertificate]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.OperatingSystem'
"""The operating system for a specific device."""
input OperatingSystemInput {
  """The list of all application instances (e.g. database instances, web server instances, ...)."""
  applicationInstances: [ApplicationInstanceInput]

  """Gets the list of client access licenses for this operating system"""
  clientAccessLicenses: [ClientAccessLicenseInput]

  """The operating system compile time"""
  compileTime: DateTime

  """The operating system description"""
  description: String

  """The End-of_life support information of the operating system"""
  endOfLifeSupport: EndOfLifeSupportInput

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The operating system's install date"""
  installDate: DateTime

  """The list of installed applications."""
  installedApplications: [InstalledApplicationInput]

  """The list of installed certificates."""
  installedCertificates: [InstalledCertificateInput]

  """The list of installed endpoint security applications."""
  installedEndpointSecurityApplications: [InstalledEndpointSecuritySoftwareInput]

  """The list of installed executable files."""
  installedExecutableFiles: [InstalledExecutableFileInput]

  """The list of installed patches."""
  installedPatches: [InstalledPatchInput]

  """The list of installed services."""
  installedServices: [InstalledServiceInput]

  """Gets the list of issued client access licenses for this operating system"""
  issuedClientAccessLicenses: [IssuedClientAccessLicenseInput]

  """The kernel version"""
  kernelVersion: String

  """The operating system's last update time"""
  lastUpdateTime: DateTime

  """The operating system's license comment"""
  licenseComment: String

  """The operating system's license expiration date"""
  licenseExpirationDate: DateTime

  """The operating system's license status"""
  licenseStatus: SoftwareLicenseStatus

  """The license type"""
  licenseType: LicenseType

  """Gets the list of users which belong to this operating system."""
  localUsers: [LocalUserInput]

  """The locale that is used for this operating system"""
  locale: String

  """The locale code that is used for this operating system"""
  localeCode: Int

  """Gets the list of logged-on users to this operating system"""
  loggedOnUsers: [LoggedOnUserInput]

  """Gets the list of history logged-on users to this operating system"""
  loggedOnUsersHistory: [LoggedOnUserInput]

  """The operating system's manufacturer"""
  manufacturer: String

  """The list of all mapped printers."""
  mappedPrinters: [MappedPrinterInput]

  """The operating system family (e.g. Windows, Linux, HP-UX, ...)"""
  osFamily: String

  """The operating system version (e.g. Windows 10, Windows 2008 Server, ...)"""
  osVersion: String

  """The patch level (e.g. Service Pack 3)"""
  owner: String

  """The patch level (e.g. Service Pack 3)"""
  patchLevel: String

  """The list of pending installations."""
  pendingUpdates: [PendingUpdateItemInput]

  """The list of all processes running on this operating system."""
  processes: [ProcessInput]

  """The operating system product key"""
  productKey: String

  """The raw version as it gets delivered by the operating system"""
  rawVersion: String

  """Is a reboot required to finalize the installation of pending patches?"""
  rebootRequired: Boolean

  """Gets the list of ssh cipher algorithms supported by the operating systems's SSH server"""
  sshCipherAlgorithms: [SshCipherAlgorithmInput]

  """Gets the list of ssh key-exchange algorithms supported by the operating systems's SSH server"""
  sshKeyExchangeAlgorithms: [SshKeyExchangeAlgorithmInput]

  """Gets the list of ssh MAC algorithms supported by the operating systems's SSH server"""
  sshMACAlgorithms: [SshMacAlgorithmInput]

  """The device's system type (e.g. x64, x86, arm, ...)"""
  systemType: String

  """The uptime in milliseconds"""
  systemUpTime: Long

  """The timezone name"""
  timezoneName: String

  """The operating system's unique id"""
  uniqueId: String

  """The UTC offset for the configured timezone"""
  utcOffset: Int

  """The device that this operating system is installed on."""
  device: DeviceInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.Patch'
"""A patch."""
type Patch {
  """The time when the patch was detected for the first time."""
  creationTime: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The list of installations for this patch"""
  installations: [InstalledPatch]

  """The patch manufacturer"""
  manufacturer: String

  """The patch name"""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.Patch'
"""A patch."""
input PatchInput {
  """The time when the patch was detected for the first time."""
  creationTime: DateTime

  """The list of installations for this patch"""
  installations: [InstalledPatchInput]

  """The patch manufacturer"""
  manufacturer: String

  """The patch name"""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.PendingUpdate'
"""A pending update software entry."""
type PendingUpdate {
  """A description string for this pending update"""
  description: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The update name"""
  name: String

  """The update target version"""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.PendingUpdate'
"""A pending update software entry."""
input PendingUpdateInput {
  """A description string for this pending update"""
  description: String

  """The update name"""
  name: String

  """The update target version"""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.PendingUpdateItem'
"""A pending update for an operating system."""
type PendingUpdateItem {
  """A flag whether the update is mandatory or optional"""
  isMandatory: Boolean

  """A flag whether a reboot after the installation is required or not"""
  rebootRequired: Boolean

  """The operating system the software is installed on"""
  operatingSystem: OperatingSystem

  """The associated application"""
  pendingUpdate: PendingUpdate

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.PendingUpdateItem'
"""A pending update for an operating system."""
input PendingUpdateItemInput {
  """A flag whether the update is mandatory or optional"""
  isMandatory: Boolean

  """A flag whether a reboot after the installation is required or not"""
  rebootRequired: Boolean

  """The operating system the software is installed on"""
  operatingSystem: OperatingSystemInput

  """The associated application"""
  pendingUpdate: PendingUpdateInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.Process'
"""A process running on an operating system."""
type Process {
  """The binary name for this process"""
  binaryName: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The list of TCP/IP ports that are in listen mode."""
  listeningPorts: [PortConnection]

  """The parameters that this binary is called with"""
  parameters: String

  """The parent process id"""
  parentProcessId: Int

  """The binary's path"""
  path: String

  """The process id"""
  processId: Int

  """The list of listening ports and TCP/IP connections for this process."""
  tcpIPConnections: [PortConnection]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.Process'
"""A process running on an operating system."""
input ProcessInput {
  """The binary name for this process"""
  binaryName: String

  """The list of TCP/IP ports that are in listen mode."""
  listeningPorts: [PortConnectionInput]

  """The parameters that this binary is called with"""
  parameters: String

  """The parent process id"""
  parentProcessId: Int

  """The binary's path"""
  path: String

  """The process id"""
  processId: Int

  """The list of listening ports and TCP/IP connections for this process."""
  tcpIPConnections: [PortConnectionInput]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.Service'
"""A service/daemon."""
type Service {
  """Gets the list of client access licenses for this service"""
  clientAccessLicenses: [ClientAccessLicense]

  """The time when the service was detected for the first time."""
  creationTime: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The list of installations for this service"""
  installations: [InstalledService]

  """Gets the list of issued client access licenses for this service"""
  issuedClientAccessLicenses: [IssuedClientAccessLicense]

  """The service manufacturer"""
  manufacturer: String

  """The service name"""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.Service'
"""A service/daemon."""
input ServiceInput {
  """Gets the list of client access licenses for this service"""
  clientAccessLicenses: [ClientAccessLicenseInput]

  """The time when the service was detected for the first time."""
  creationTime: DateTime

  """The list of installations for this service"""
  installations: [InstalledServiceInput]

  """Gets the list of issued client access licenses for this service"""
  issuedClientAccessLicenses: [IssuedClientAccessLicenseInput]

  """The service manufacturer"""
  manufacturer: String

  """The service name"""
  name: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.cal.ClientAccessLicense'
"""Client access license (CAL)"""
type ClientAccessLicense {
  """The time when the CAL was detected for the first time."""
  creationTime: DateTime

  """The CAL license description"""
  description: String

  """The CAL license expiration date."""
  expirationDate: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The CAL license id"""
  licenseId: Int

  """Gets the operating system for this client access license"""
  operatingSystem: OperatingSystem

  """The CAL product type"""
  productType: ClientAccessLicenseProductType

  """Gets the service for this client access license"""
  service: Service

  """The number of total licenses"""
  totalLicenses: Long

  """The CAL license type"""
  type: ClientAccessLicenseType

  """The CAL version"""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.cal.ClientAccessLicense'
"""Client access license (CAL)"""
input ClientAccessLicenseInput {
  """The time when the CAL was detected for the first time."""
  creationTime: DateTime

  """The CAL license description"""
  description: String

  """The CAL license expiration date."""
  expirationDate: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The CAL license id"""
  licenseId: Int

  """Gets the operating system for this client access license"""
  operatingSystem: OperatingSystemInput

  """The CAL product type"""
  productType: ClientAccessLicenseProductType

  """Gets the service for this client access license"""
  service: ServiceInput

  """The number of total licenses"""
  totalLicenses: Long

  """The CAL license type"""
  type: ClientAccessLicenseType

  """The CAL version"""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.cal.IssuedClientAccessLicense'
"""An issued client access license (CAL)"""
type IssuedClientAccessLicense {
  """The account associated with this issued client access license when found in our database"""
  account: Account

  """The account  name associated with this issued client access license."""
  accountName: String

  """The computer name associated with this issued client access license."""
  computerName: String

  """The time when the application was detected for the first time."""
  creationTime: DateTime

  """The device associated with this issued client access license when found in our database"""
  device: Device

  """The issued CAL license expiration date."""
  expirationDate: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The issued CAL license issue date."""
  issueDate: DateTime

  """The CAL license id"""
  licenseId: Int

  """Gets the operating system for this client access license"""
  operatingSystem: OperatingSystem

  """The CAL product subtype"""
  productSubtype: ClientAccessLicenseProductSubType

  """The CAL product type"""
  productType: ClientAccessLicenseProductType

  """Gets the service for this client access license"""
  service: Service

  """The CAL license status"""
  status: ClientAccessLicenseStatus

  """The CAL version"""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.cal.IssuedClientAccessLicense'
"""An issued client access license (CAL)"""
input IssuedClientAccessLicenseInput {
  """The account associated with this issued client access license when found in our database"""
  account: AccountInput

  """The account  name associated with this issued client access license."""
  accountName: String

  """The computer name associated with this issued client access license."""
  computerName: String

  """The time when the application was detected for the first time."""
  creationTime: DateTime

  """The device associated with this issued client access license when found in our database"""
  device: DeviceInput

  """The issued CAL license expiration date."""
  expirationDate: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The issued CAL license issue date."""
  issueDate: DateTime

  """The CAL license id"""
  licenseId: Int

  """Gets the operating system for this client access license"""
  operatingSystem: OperatingSystemInput

  """The CAL product subtype"""
  productSubtype: ClientAccessLicenseProductSubType

  """The CAL product type"""
  productType: ClientAccessLicenseProductType

  """Gets the service for this client access license"""
  service: ServiceInput

  """The CAL license status"""
  status: ClientAccessLicenseStatus

  """The CAL version"""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.db.Database'
"""A database"""
type Database {
  """The owning instance"""
  applicationInstance: ApplicationInstance

  """The time when the service was detected for the first time."""
  creationTime: DateTime

  """The list of database schemas within this database"""
  databaseSchemas: [DatabaseSchema]

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The database max size in bytes"""
  maxSize: Long

  """The database name"""
  name: String

  """The database size in bytes"""
  size: Long

  """The database state"""
  state: SoftwareInstanceState

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.db.Database'
"""A database"""
input DatabaseInput {
  """The owning instance"""
  applicationInstance: ApplicationInstanceInput

  """The time when the service was detected for the first time."""
  creationTime: DateTime

  """The list of database schemas within this database"""
  databaseSchemas: [DatabaseSchemaInput]

  """The database max size in bytes"""
  maxSize: Long

  """The database name"""
  name: String

  """The database size in bytes"""
  size: Long

  """The database state"""
  state: SoftwareInstanceState

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.db.DatabaseSchema'
"""A database schema"""
type DatabaseSchema {
  """The time when the service was detected for the first time."""
  creationTime: DateTime

  """The owning database"""
  database: Database

  """The list of database tables within this database schema"""
  databaseTables: [DatabaseTable]

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The database max size in bytes"""
  maxSize: Long

  """The database name"""
  name: String

  """The database size in bytes"""
  size: Long

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.db.DatabaseSchema'
"""A database schema"""
input DatabaseSchemaInput {
  """The time when the service was detected for the first time."""
  creationTime: DateTime

  """The owning database"""
  database: DatabaseInput

  """The list of database tables within this database schema"""
  databaseTables: [DatabaseTableInput]

  """The database max size in bytes"""
  maxSize: Long

  """The database name"""
  name: String

  """The database size in bytes"""
  size: Long

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.db.DatabaseTable'
"""A database table"""
type DatabaseTable {
  """The time when the service was detected for the first time."""
  creationTime: DateTime

  """The owning database"""
  databaseSchema: DatabaseSchema

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The database table max size in bytes"""
  maxSize: Long

  """The database table name"""
  name: String

  """The database table row count"""
  rowCount: Long

  """The database table size in bytes"""
  size: Long

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.software.db.DatabaseTable'
"""A database table"""
input DatabaseTableInput {
  """The time when the service was detected for the first time."""
  creationTime: DateTime

  """The owning database"""
  databaseSchema: DatabaseSchemaInput

  """The database table max size in bytes"""
  maxSize: Long

  """The database table name"""
  name: String

  """The database table row count"""
  rowCount: Long

  """The database table size in bytes"""
  size: Long

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.support.entitlements.SupportEntitlement'
"""The support entitlements (Ex. warranty) of the device"""
type SupportEntitlement {
  """description about the support entitlement"""
  description: String

  """id of the device which this support entitlement belongs to"""
  device: Device

  """end date of the support entitlement"""
  endDate: DateTime

  """Number of days remaining to expire in days"""
  expiresInDays: Int

  """The internal id of this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """part number of the device"""
  partNumber: String

  """starting date of the support entitlement"""
  startDate: DateTime

  """state of the support entitlement (Ex. Expired, Valid)"""
  supportEntitlementState: SupportEntitlementState

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.support.entitlements.SupportEntitlement'
"""The support entitlements (Ex. warranty) of the device"""
input SupportEntitlementInput {
  """description about the support entitlement"""
  description: String

  """id of the device which this support entitlement belongs to"""
  device: DeviceInput

  """end date of the support entitlement"""
  endDate: DateTime

  """Number of days remaining to expire in days"""
  expiresInDays: Int

  """part number of the device"""
  partNumber: String

  """starting date of the support entitlement"""
  startDate: DateTime

  """state of the support entitlement (Ex. Expired, Valid)"""
  supportEntitlementState: SupportEntitlementState

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.troubleshooting.DeviceDiscoveryProtocolStatus'
"""The device discovery protocol status for all protocols"""
type DeviceDiscoveryProtocolStatus {
  """id of the device which this support entitlement belongs to"""
  device: Device

  """The DNS protocol status"""
  dnsStatus: DiscoveryProtocolStatusEnum

  """The HTTP status"""
  httpStatus: DiscoveryProtocolStatusEnum

  """The HTTPS identifier"""
  httpsIdentifier: String

  """The HTTPS status"""
  httpsStatus: DiscoveryProtocolStatusEnum

  """The internal id of this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The mDNS status"""
  mdnsStatus: DiscoveryProtocolStatusEnum

  """The NetBIOS (without authentication) connection status"""
  netBIOSAnonymousStatus: DiscoveryProtocolStatusEnum

  """The oVirt API status"""
  oVirtStatus: DiscoveryProtocolStatusEnum

  """The remote login (root/admin account) connection status"""
  remoteLoginAdminStatus: DiscoveryProtocolStatusEnum

  """The remote login (root/admin account) connection COM error (if there is one)"""
  remoteLoginAdmincomError: Long

  """The remote login (non root account) connection status"""
  remoteLoginStatus: DiscoveryProtocolStatusEnum

  """The remote login (non root account) connection COM error (if there is one)"""
  remoteLogincomError: Long

  """The S7 status"""
  s7Status: DiscoveryProtocolStatusEnum

  """The SMB anonymous status"""
  smbAnonymousStatus: DiscoveryProtocolStatusEnum

  """The SMB anonymous COM error (if there is one)"""
  smbAnonymouscomError: Long

  """The SMB authenticated connection status"""
  smbStatus: DiscoveryProtocolStatusEnum

  """The SMB authenticated connection COM error (if there is one)"""
  smbcomError: Long

  """The status for the SNMPv1 protocol"""
  snmpV1Status: DiscoveryProtocolStatusEnum

  """The status for the SNMPv2c protocol"""
  snmpV2cStatus: DiscoveryProtocolStatusEnum

  """The status for the SNMPv3 protocol"""
  snmpV3Status: DiscoveryProtocolStatusEnum

  """The SSH cipher algorithm in use"""
  sshCipherInUse: String

  """The SSH server identifier"""
  sshIdentifier: String

  """The SSH key-exchange algorithm in use"""
  sshKeyExchangeInUse: String

  """The SSH MAC algorithm in use"""
  sshMacInUse: String

  """The status for the SSH protocol"""
  sshStatus: DiscoveryProtocolStatusEnum

  """The SSH telnet banner status"""
  telnetBannerDetectionStatus: DiscoveryProtocolStatusEnum

  """The status for the telnet protocol"""
  telnetStatus: DiscoveryProtocolStatusEnum

  """The UPnP status"""
  upnpStatus: DiscoveryProtocolStatusEnum

  """The VMWare API protocol status"""
  vmwareStatus: DiscoveryProtocolStatusEnum

  """The WBEM connection status"""
  wbemStatus: DiscoveryProtocolStatusEnum

  """The WMI COM error"""
  wmiComError: Long

  """The status for the WMI protocol"""
  wmiStatus: DiscoveryProtocolStatusEnum

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.troubleshooting.DeviceDiscoveryProtocolStatus'
"""The device discovery protocol status for all protocols"""
input DeviceDiscoveryProtocolStatusInput {
  """id of the device which this support entitlement belongs to"""
  device: DeviceInput

  """The DNS protocol status"""
  dnsStatus: DiscoveryProtocolStatusEnum

  """The HTTP status"""
  httpStatus: DiscoveryProtocolStatusEnum

  """The HTTPS identifier"""
  httpsIdentifier: String

  """The HTTPS status"""
  httpsStatus: DiscoveryProtocolStatusEnum

  """The mDNS status"""
  mdnsStatus: DiscoveryProtocolStatusEnum

  """The NetBIOS (without authentication) connection status"""
  netBIOSAnonymousStatus: DiscoveryProtocolStatusEnum

  """The oVirt API status"""
  oVirtStatus: DiscoveryProtocolStatusEnum

  """The remote login (root/admin account) connection status"""
  remoteLoginAdminStatus: DiscoveryProtocolStatusEnum

  """The remote login (root/admin account) connection COM error (if there is one)"""
  remoteLoginAdmincomError: Long

  """The remote login (non root account) connection status"""
  remoteLoginStatus: DiscoveryProtocolStatusEnum

  """The remote login (non root account) connection COM error (if there is one)"""
  remoteLogincomError: Long

  """The S7 status"""
  s7Status: DiscoveryProtocolStatusEnum

  """The SMB anonymous status"""
  smbAnonymousStatus: DiscoveryProtocolStatusEnum

  """The SMB anonymous COM error (if there is one)"""
  smbAnonymouscomError: Long

  """The SMB authenticated connection status"""
  smbStatus: DiscoveryProtocolStatusEnum

  """The SMB authenticated connection COM error (if there is one)"""
  smbcomError: Long

  """The status for the SNMPv1 protocol"""
  snmpV1Status: DiscoveryProtocolStatusEnum

  """The status for the SNMPv2c protocol"""
  snmpV2cStatus: DiscoveryProtocolStatusEnum

  """The status for the SNMPv3 protocol"""
  snmpV3Status: DiscoveryProtocolStatusEnum

  """The SSH cipher algorithm in use"""
  sshCipherInUse: String

  """The SSH server identifier"""
  sshIdentifier: String

  """The SSH key-exchange algorithm in use"""
  sshKeyExchangeInUse: String

  """The SSH MAC algorithm in use"""
  sshMacInUse: String

  """The status for the SSH protocol"""
  sshStatus: DiscoveryProtocolStatusEnum

  """The SSH telnet banner status"""
  telnetBannerDetectionStatus: DiscoveryProtocolStatusEnum

  """The status for the telnet protocol"""
  telnetStatus: DiscoveryProtocolStatusEnum

  """The UPnP status"""
  upnpStatus: DiscoveryProtocolStatusEnum

  """The VMWare API protocol status"""
  vmwareStatus: DiscoveryProtocolStatusEnum

  """The WBEM connection status"""
  wbemStatus: DiscoveryProtocolStatusEnum

  """The WMI COM error"""
  wmiComError: Long

  """The status for the WMI protocol"""
  wmiStatus: DiscoveryProtocolStatusEnum

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.user.InventorySecurityDescriptor'
"""Security Descriptor for User Authentication and Authorization"""
type InventorySecurityDescriptor {
  """List of permissions groups"""
  permissionsGroups: [InventoryPermissionsGroup]

  """List of user groups"""
  userGroups: [InventoryUserGroup]

  """List of users"""
  users: [InventoryUser]

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.user.InventoryUser'
"""User"""
type InventoryUser {
  """Member id"""
  id: Long

  """User last logon time"""
  lastLogon: DateTime

  """User login"""
  login: String

  """Group name"""
  name: String

  """Permissions Groups assigned to this user or user group member"""
  permissionsGroups: [InventoryPermissionsGroup]

  """Unique id"""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.user.InventoryUser'
"""User"""
input InventoryUserInput {
  """Member id"""
  id: Long

  """User login"""
  login: String

  """Group name"""
  name: String

  """Permissions Groups assigned to this user or user group member"""
  permissionsGroups: [InventoryPermissionsGroupInput]

  """Unique id"""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.user.LocalUser'
"""A logged-on user on an operating system"""
type LocalUser {
  """The user type"""
  discoveredUserType: DiscoveredUserType

  """The user last login"""
  lastLogin: DateTime

  """Remote device that this user connects from"""
  remoteClientDevice: Device

  """The operating system that the user belongs to"""
  operatingSystem: OperatingSystem

  """The associated role of the user"""
  role: DiscoveredUserRole

  """The associated logged-on user"""
  user: User

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.user.LocalUser'
"""A logged-on user on an operating system"""
input LocalUserInput {
  """The user type"""
  discoveredUserType: DiscoveredUserType

  """The user last login"""
  lastLogin: DateTime

  """Remote device that this user connects from"""
  remoteClientDevice: DeviceInput

  """The operating system that the user belongs to"""
  operatingSystem: OperatingSystemInput

  """The associated role of the user"""
  role: DiscoveredUserRole

  """The associated logged-on user"""
  user: UserInput

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.user.LoggedOnUser'
"""A logged-on user on an operating system"""
type LoggedOnUser {
  """The user type"""
  discoveredUserType: DiscoveredUserType

  """The user last login"""
  lastLogin: DateTime

  """The number of times a user has been found logged on while scanning the device"""
  loginCount: Long

  """The operating system that the user belongs to"""
  operatingSystem: OperatingSystem

  """Remote device that this user connects from"""
  remoteClientDevice: Device

  """The associated logged-on user"""
  user: User

  """The associated role of the user"""
  role: DiscoveredUserRole

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.user.LoggedOnUser'
"""A logged-on user on an operating system"""
input LoggedOnUserInput {
  """The user type"""
  discoveredUserType: DiscoveredUserType

  """The user last login"""
  lastLogin: DateTime

  """The number of times a user has been found logged on while scanning the device"""
  loginCount: Long

  """The operating system that the user belongs to"""
  operatingSystem: OperatingSystemInput

  """Remote device that this user connects from"""
  remoteClientDevice: DeviceInput

  """The associated logged-on user"""
  user: UserInput

  """The associated role of the user"""
  role: DiscoveredUserRole

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.user.User'
"""A user"""
type User {
  """The user account"""
  account: Account

  """The user canonical name"""
  canonicalName: String

  """A user's cloud type when the user is a cloud user"""
  cloudType: CloudType

  """The directory object (DNS domain, Org. Unit or Container) that this user belongs to."""
  directory: Directory

  """The user distinguish name"""
  distinguishedName: String

  """The root of the directory (DNS Domain) that this user belongs to."""
  dnsDomain: Directory

  """The user given name"""
  givenName: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The last logon time for this user"""
  lastLogonTime: DateTime

  """The modification time for this user"""
  modificationTime: DateTime

  """The user name (this is not the login)"""
  name: String

  """The user principal (usually in the form <user>@<dnsdomain>"""
  principalName: String

  """The user status."""
  status: DiscoveredUserStatus

  """The user surname"""
  surname: String

  """The user unique id"""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.user.User'
"""A user"""
input UserInput {
  """The user account"""
  account: AccountInput

  """The user canonical name"""
  canonicalName: String

  """A user's cloud type when the user is a cloud user"""
  cloudType: CloudType

  """The directory object (DNS domain, Org. Unit or Container) that this user belongs to."""
  directory: DirectoryInput

  """The user distinguish name"""
  distinguishedName: String

  """The root of the directory (DNS Domain) that this user belongs to."""
  dnsDomain: DirectoryInput

  """The user given name"""
  givenName: String

  """The last logon time for this user"""
  lastLogonTime: DateTime

  """The modification time for this user"""
  modificationTime: DateTime

  """The user name (this is not the login)"""
  name: String

  """The user principal (usually in the form <user>@<dnsdomain>"""
  principalName: String

  """The user status."""
  status: DiscoveredUserStatus

  """The user surname"""
  surname: String

  """The user unique id"""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.user.UserGroup'
"""A usergroup"""
type UserGroup {
  """The user canonical name"""
  canonicalName: String

  """The usergroup description"""
  description: String

  """The user distinguish name"""
  distinguishedName: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The user name (this is not the login)"""
  name: String

  """The usergroup unique id"""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.user.UserGroup'
"""A usergroup"""
input UserGroupInput {
  """The user canonical name"""
  canonicalName: String

  """The usergroup description"""
  description: String

  """The user distinguish name"""
  distinguishedName: String

  """The user name (this is not the login)"""
  name: String

  """The usergroup unique id"""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.virtualization.ContainerImage'
"""A container image for container based virtualization."""
type ContainerImage {
  """The image hash code."""
  hashCode: String

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The image identifier."""
  identifier: String

  """The image size in bytes."""
  imageSize: Long

  """The image label."""
  label: String

  """The image name."""
  name: String

  """The specification taken from the container registry"""
  specification: String

  """The image version."""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.virtualization.ContainerImage'
"""A container image for container based virtualization."""
input ContainerImageInput {
  """The image hash code."""
  hashCode: String

  """The image identifier."""
  identifier: String

  """The image size in bytes."""
  imageSize: Long

  """The image label."""
  label: String

  """The image name."""
  name: String

  """The specification taken from the container registry"""
  specification: String

  """The image version."""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.virtualization.VirtualDatacenter'
"""A virtual datacenter (e.g. within a Vmware VCenter environment)."""
type VirtualDatacenter {
  """The set of clusters within this datacenter."""
  clusters: [Cluster]

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The datacenter name."""
  name: String

  """The datacenter type"""
  type: DatacenterType

  """A datacenter's unique id."""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.virtualization.VirtualDatacenter'
"""A virtual datacenter (e.g. within a Vmware VCenter environment)."""
input VirtualDatacenterInput {
  """The set of clusters within this datacenter."""
  clusters: [ClusterInput]

  """The datacenter name."""
  name: String

  """The datacenter type"""
  type: DatacenterType

  """A datacenter's unique id."""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.virtualization.paas.cloudfoundry.CloudFoundryApplication'
"""A CloudFoundry application."""
type CloudFoundryApplication {
  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The CloudFoundry application instance count."""
  instanceCount: Int

  """The CloudFoundry application memory limit."""
  memoryLimit: Int

  """The CloudFoundry application name"""
  name: String

  """The CloudFoundry application running instance count."""
  runningInstanceCount: Int

  """The space that this space belongs to"""
  space: CloudFoundrySpace

  """The url list for this CloudFoundry application."""
  urls: [String]

  """The CloudFoundry application version."""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.virtualization.paas.cloudfoundry.CloudFoundryApplication'
"""A CloudFoundry application."""
input CloudFoundryApplicationInput {
  """The CloudFoundry application instance count."""
  instanceCount: Int

  """The CloudFoundry application memory limit."""
  memoryLimit: Int

  """The CloudFoundry application name"""
  name: String

  """The CloudFoundry application running instance count."""
  runningInstanceCount: Int

  """The space that this space belongs to"""
  space: CloudFoundrySpaceInput

  """The url list for this CloudFoundry application."""
  urls: [String]

  """The CloudFoundry application version."""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.virtualization.paas.cloudfoundry.CloudFoundryOrganization'
"""A CloudFoundry organization object."""
type CloudFoundryOrganization {
  """The last discovery timestamp. This is the timestamp of the current data."""
  discoveryTime: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The CloudFoundry organization name"""
  name: String

  """The list of CloudFoundry spaces within this organization."""
  spaces: [CloudFoundrySpace]

  """The unique id for this organization."""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.virtualization.paas.cloudfoundry.CloudFoundryOrganization'
"""A CloudFoundry organization object."""
input CloudFoundryOrganizationInput {
  """The last discovery timestamp. This is the timestamp of the current data."""
  discoveryTime: DateTime

  """The CloudFoundry organization name"""
  name: String

  """The list of CloudFoundry spaces within this organization."""
  spaces: [CloudFoundrySpaceInput]

  """The unique id for this organization."""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.virtualization.paas.cloudfoundry.CloudFoundryServiceInstance'
"""A CloudFoundry service instance object."""
type CloudFoundryServiceInstance {
  """The CloudFoundry service instance description."""
  description: String

  """The last discovery timestamp. This is the timestamp of the current data."""
  discoveryTime: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The CloudFoundry service instance name"""
  name: String

  """The CloudFoundry service instance plan."""
  plan: String

  """The space that this space belongs to"""
  space: CloudFoundrySpace

  """The tag list for this CloudFoundry service instance."""
  tags: [String]

  """The CloudFoundry service instance type."""
  type: CloudFoundryServiceInstanceType

  """The CloudFoundry service instance unique id."""
  uniqueId: String

  """The CloudFoundry service instance version."""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.virtualization.paas.cloudfoundry.CloudFoundryServiceInstance'
"""A CloudFoundry service instance object."""
input CloudFoundryServiceInstanceInput {
  """The CloudFoundry service instance description."""
  description: String

  """The last discovery timestamp. This is the timestamp of the current data."""
  discoveryTime: DateTime

  """The CloudFoundry service instance name"""
  name: String

  """The CloudFoundry service instance plan."""
  plan: String

  """The space that this space belongs to"""
  space: CloudFoundrySpaceInput

  """The tag list for this CloudFoundry service instance."""
  tags: [String]

  """The CloudFoundry service instance type."""
  type: CloudFoundryServiceInstanceType

  """The CloudFoundry service instance unique id."""
  uniqueId: String

  """The CloudFoundry service instance version."""
  version: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.virtualization.paas.cloudfoundry.CloudFoundrySpace'
"""A CloudFoundry space object."""
type CloudFoundrySpace {
  """The list of CloudFoundry applications."""
  appliations: [CloudFoundryApplication]

  """The last discovery timestamp. This is the timestamp of the current data."""
  discoveryTime: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The CloudFoundry space name"""
  name: String

  """The organization that this space belongs to"""
  organization: CloudFoundryOrganization

  """The list of CloudFoundry service instances within this space."""
  serviceInstances: [CloudFoundryServiceInstance]

  """The CloudFoundry space unique id."""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.virtualization.paas.cloudfoundry.CloudFoundrySpace'
"""A CloudFoundry space object."""
input CloudFoundrySpaceInput {
  """The list of CloudFoundry applications."""
  appliations: [CloudFoundryApplicationInput]

  """The last discovery timestamp. This is the timestamp of the current data."""
  discoveryTime: DateTime

  """The CloudFoundry space name"""
  name: String

  """The organization that this space belongs to"""
  organization: CloudFoundryOrganizationInput

  """The list of CloudFoundry service instances within this space."""
  serviceInstances: [CloudFoundryServiceInstanceInput]

  """The CloudFoundry space unique id."""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.virtualization.paas.kubernetes.KubernetesDaemonSet'
"""A Kubernetes daemonset."""
type KubernetesDaemonSet {
  """The cluster that this daemonset is assigned to."""
  cluster: Cluster

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The kubernetes daemonset name."""
  name: String

  """The namespace that this daemonset is assigned to."""
  namespace: KubernetesNamespace

  """The pods belonging to this daemonset"""
  pods: [Device]

  """The pods belonging to this daemonset"""
  services: [Device]

  """A kubernetes daemonset's unique id."""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.virtualization.paas.kubernetes.KubernetesDaemonSet'
"""A Kubernetes daemonset."""
input KubernetesDaemonSetInput {
  """The cluster that this daemonset is assigned to."""
  cluster: ClusterInput

  """The kubernetes daemonset name."""
  name: String

  """The namespace that this daemonset is assigned to."""
  namespace: KubernetesNamespaceInput

  """The pods belonging to this daemonset"""
  pods: [DeviceInput]

  """The pods belonging to this daemonset"""
  services: [DeviceInput]

  """A kubernetes daemonset's unique id."""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.virtualization.paas.kubernetes.KubernetesDeployment'
"""A kubernetes deployment."""
type KubernetesDeployment {
  """The cluster that this daemon set is assigned to."""
  cluster: Cluster

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The kubernetes service name."""
  name: String

  """The namespace that this deployment is assigned to."""
  namespace: KubernetesNamespace

  """The pods associated with this deployment."""
  pods: [Device]

  """The replica sets for this deployment."""
  replicaSets: [KubernetesReplicaSet]

  """A kubernetes service's unique id."""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.virtualization.paas.kubernetes.KubernetesDeployment'
"""A kubernetes deployment."""
input KubernetesDeploymentInput {
  """The cluster that this daemon set is assigned to."""
  cluster: ClusterInput

  """The kubernetes service name."""
  name: String

  """The namespace that this deployment is assigned to."""
  namespace: KubernetesNamespaceInput

  """The pods associated with this deployment."""
  pods: [DeviceInput]

  """The replica sets for this deployment."""
  replicaSets: [KubernetesReplicaSetInput]

  """A kubernetes service's unique id."""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.virtualization.paas.kubernetes.KubernetesNamespace'
"""A namespace in a kubernetes cluster."""
type KubernetesNamespace {
  """The cluster that this daemon set is assigned to."""
  cluster: Cluster

  """The daemon sets for this namespace"""
  daemonSets: [KubernetesDaemonSet]

  """The services belonging to this namespace"""
  deployments: [KubernetesDeployment]

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The namespace name."""
  name: String

  """The pods belonging to this namespace"""
  pods: [Device]

  """The replica sets for this namespace"""
  replicaSets: [KubernetesReplicaSet]

  """A namespace's unique id."""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.virtualization.paas.kubernetes.KubernetesNamespace'
"""A namespace in a kubernetes cluster."""
input KubernetesNamespaceInput {
  """The cluster that this daemon set is assigned to."""
  cluster: ClusterInput

  """The daemon sets for this namespace"""
  daemonSets: [KubernetesDaemonSetInput]

  """The services belonging to this namespace"""
  deployments: [KubernetesDeploymentInput]

  """The namespace name."""
  name: String

  """The pods belonging to this namespace"""
  pods: [DeviceInput]

  """The replica sets for this namespace"""
  replicaSets: [KubernetesReplicaSetInput]

  """A namespace's unique id."""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.virtualization.paas.kubernetes.KubernetesReplicaSet'
"""A kubernetes replica set."""
type KubernetesReplicaSet {
  """The cluster that this replicaset is assigned to."""
  cluster: Cluster

  """The timestamp when this replica set was created."""
  createdAt: DateTime

  """The internal id this entity. Note that the id might change when the entity gets deleted and recreated."""
  id: ID

  """The kubernetes replica set name."""
  name: String

  """The namespace that this replica set is assigned to."""
  namespace: KubernetesNamespace

  """The pods associated with this replicaset."""
  pods: [Device]

  """The pods associated with this replicaset."""
  services: [Device]

  """A kubernetes replica set's unique id."""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.entities.virtualization.paas.kubernetes.KubernetesReplicaSet'
"""A kubernetes replica set."""
input KubernetesReplicaSetInput {
  """The cluster that this replicaset is assigned to."""
  cluster: ClusterInput

  """The timestamp when this replica set was created."""
  createdAt: DateTime

  """The kubernetes replica set name."""
  name: String

  """The namespace that this replica set is assigned to."""
  namespace: KubernetesNamespaceInput

  """The pods associated with this replicaset."""
  pods: [DeviceInput]

  """The pods associated with this replicaset."""
  services: [DeviceInput]

  """A kubernetes replica set's unique id."""
  uniqueId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.references.DeviceReference'
"""Device reference input for type safety"""
type DeviceReference {
  """The unique database id for the device"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.inventory.jpa.references.DeviceReference'
"""Device reference input for type safety"""
input DeviceReferenceInput {
  """The unique database id for the device"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.inventory.jpa.references.ExternalDeviceReference'
"""A pair of a device reference and an external identifier (e.g. from a CMDB)"""
input ExternalDeviceReference {
  """The device reference"""
  deviceRef: DeviceReferenceInput

  """An id from the external tool (e.g. CMDB) associated with this device"""
  externalId: String

}

# Mapping for Java class 'com.jdisc.inventory.jpa.references.cluster.ClusterReference'
"""Cluster reference input for type safety"""
type ClusterReference {
  """The unique database id for the cluster"""
  id: Long

}

# Mapping for Java class 'com.jdisc.inventory.jpa.references.cluster.ClusterReference'
"""Cluster reference input for type safety"""
input ClusterReferenceInput {
  """The unique database id for the cluster"""
  id: Long

}

# Mapping for Java class 'com.jdisc.inventory.jpa.references.config.network.IP4NetworkReference'
"""IP version 4 network reference for input type safety"""
input IP4NetworkReference {
  """The unique database id for the IP4 network"""
  id: Long

}

# Mapping for Java class 'com.jdisc.inventory.jpa.references.config.network.IP6NetworkReference'
"""IP version 6 network reference for input type safety"""
input IP6NetworkReference {
  """The unique database id for the IP6 network"""
  id: Long

}

# Mapping for Java class 'com.jdisc.inventory.jpa.references.event.EventReference'
"""Event reference for input type safety"""
input EventReference {
  """The unique database id for the event"""
  id: Long

}

# Mapping for Java class 'com.jdisc.inventory.jpa.references.integration.IntegrationRegistrationReference'
"""A reference to an integration registration object"""
input IntegrationRegistrationReference {
  """The unique database id for the integration registration"""
  id: Long

}

# Mapping for Java class 'com.jdisc.inventory.jpa.references.virtualization.DatacenterReference'
"""Datacenter reference for input type safety"""
type DatacenterReference {
  """The unique database id for the datacenter"""
  id: Long

}

# Mapping for Java class 'com.jdisc.inventory.jpa.references.virtualization.DatacenterReference'
"""Datacenter reference for input type safety"""
input DatacenterReferenceInput {
  """The unique database id for the datacenter"""
  id: Long

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.attributes.custom.CustomAttributeRepository'
"""This type provides custom attributes related queries"""
type CustomAttributes {
  """Find all custom attributes"""
  findAll: [CustomAttribute] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find a custom attribute by id"""
  findByID(id: Long): CustomAttribute @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find a custom attribute by its path"""
  findByPath(path: String): CustomAttribute @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.config.discovery.devicegroups.DeviceGroupRepository'
"""This type provides device group related queries"""
type DeviceGroups {
  """Find all device groups"""
  findAll: [DeviceGroup] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.config.discovery.devicegroups.DeviceGroupRuleRepository'
"""This type provides device group rule related queries"""
type DeviceGroupsRules {
  """Find all device group rules"""
  findAll: [DeviceGroupRule] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.config.network.DirectoryRepository'
"""This type provides directory related queries"""
type Directories {
  """Find all directory entries"""
  findAll: [Directory] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.config.network.IP4NetworkRepository'
"""This type provides IP4 network related queries"""
type IP4Networks {
  """Find all IP4 networks"""
  findAll: [IP4Network] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Finds all IP4 networks with a given network base address"""
  findIP4NetworksByBaseAddress(networkBaseAddress: String): [IP4Network] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Finds all IP4 networks with a given network base address and subnet mask in the form: <baseaddress>/<mask bits> (e.g. 192.168.78.0/24)"""
  findIP4NetworksByBaseAddressAndCIDR(networkCIDRAddress: String): [IP4Network] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Finds all IP4 networks with a given network base address and subnet mask"""
  findIP4NetworksByBaseAddressAndMask(networkBaseAddress: String, subnetMask: String): [IP4Network] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.config.network.IP6NetworkRepository'
"""This type provides IP6 network related queries"""
type IP6Networks {
  """Find all IP6 networks"""
  findAll: [IP6Network] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.config.network.NetworkNeighborhoodRepository'
"""This type provides network neighborhood (Windows domain or workgroup) related queries"""
type NetworkNeighborhoods {
  """Find all network neighborhood (Windows domain or workgroup) entries"""
  findAll: [NetworkNeighborhood] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find a network neighborhood  (Windows domain or workgroup) by id"""
  findByID(id: Long): NetworkNeighborhood @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find a network neighborhood  (Windows domain or workgroup) by name. Names are in capital letters always!"""
  findByName(name: String): NetworkNeighborhood @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.config.network.TopologyRepository'
"""This type provides topology connection related queries"""
type TopologyConnections {
  """Find all topology connections"""
  findAll: [TopologyConnection] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all topology connections for one device"""
  findByDevice(deviceRef: DeviceReferenceInput): [TopologyConnection] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.config.network.VlanRepository'
"""This type provides VLAN related queries"""
type Vlans {
  """Find all vlans"""
  findAll: [Vlan] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find vlans by name"""
  findByName(name: String): [Vlan] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find vlans by vlan id"""
  findByVlanId(vlanId: Int): [Vlan] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.config.security.SshCipherAlgorithmRepository'
"""This type provides SSH cipher algorithm related queries"""
type SshCiphers {
  """Find all SSH cipher algorithms"""
  findAll: [SshCipherAlgorithm] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find devices by name. The default for caseSenstitive is TRUE."""
  findByName(name: String): [SshCipherAlgorithm] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.config.security.SshKeyExchangeAlgorithmRepository'
"""This type provides SSH key-exchange algorithm related queries"""
type SshKeyExchangeAlgorithms {
  """Find all SSH cipher algorithms"""
  findAll: [SshKeyExchangeAlgorithm] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find devices by name. The default for caseSenstitive is TRUE."""
  findByName(name: String): [SshKeyExchangeAlgorithm] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.config.security.SshMacAlgorithmRepository'
"""This type provides SSH MAC algorithm related queries"""
type SshMacAlgorithms {
  """Find all SSH cipher algorithms"""
  findAll: [SshMacAlgorithm] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find devices by name. The default for caseSenstitive is TRUE."""
  findByName(name: String): [SshMacAlgorithm] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.discovery.DiscoveryJobRepository'
"""This type provides discovery jobs related queries"""
type DiscoveryJobs {
  """Find all discovery jobs"""
  findAll: [DiscoveryJob] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find a discovery job by id"""
  findByID(id: Long): DiscoveryJob @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find a discovery job by name"""
  findByName(name: String): [DiscoveryJob] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all discovery jobs with the given status"""
  findByStatus(status: TaskStatus): [DiscoveryJob] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.discovery.ScheduledJobRepository'
"""Scheduled Job related queries"""
type ScheduledJobs {
  """Find all scheduled job instances"""
  findAll: [ScheduledJob] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find the scheduled job for the given discovery job id"""
  findByDiscoveryJobId(jobId: Long): ScheduledJob @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find a scheduled job by id"""
  findByID(id: Long): ScheduledJob @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.discovery.queue.DiscoveryDeviceQueueItemsRepository'
"""Device queue related queries"""
type DeviceQueueQueries {
  """Find all application instances"""
  findAll: [DiscoveryDeviceQueueItem] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find a discovery device queue item by id"""
  findByID(id: Long): DiscoveryDeviceQueueItem @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all discovery device queue items with the given ids"""
  findByIDs(ids: [Long]): [DiscoveryDeviceQueueItem] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.event.DeviceDeletionEventRepository'
"""Device deletion event queries"""
type DeviceDeletions {
  """Find all device deletion events"""
  findAll: [DeviceDeletionEvent] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all device deletion events since a timestamp"""
  findEventsMoreRecentThan(timestamp: DateTime): [DeviceDeletionEvent] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.event.EventRepository'
"""Event related queries"""
type Events {
  """Find all events"""
  findAll: [Event] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find most recent discovery events (start, stopped, completed) for the given discovery job id limited by the given limit"""
  findByDiscoveryJobIdDiscoveryEventsWithLimit(jobId: Long, limit: Int): [Event] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find an event by id"""
  findByID(id: Long): Event @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find an event by discovery job id"""
  findByJobId(jobId: Long): [Event] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all events with a given event type"""
  findByType(type: EventType): [Event] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.hardware.network.NetworkInterfaceRepository'
"""This type provides network interface related queries"""
type NetworkInterfaces {
  """Find all network interfaces"""
  findAll: [NetworkInterface] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Finds all network interfaces with a specific physical address (mac address or WWN)."""
  findNetworkInterfacesByPhysicalAddress(physicalAddress: String): [NetworkInterface] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Finds all network interfaces with one of the mac addresses (mac addresses or WWNs)."""
  findNetworkInterfacesByPhysicalAddresses(physicalAddresses: [String]): [NetworkInterface] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Finds all network interfaces by type."""
  findNetworkInterfacesByType(type: InterfaceType): [NetworkInterface] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.report.CustomReportRepository.CustomReportRepository'
"""Custom report related queries"""
type CustomReports {
  """Find all application instances"""
  findAll: [CustomReport] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all custom reports by report type"""
  findByType(type: CustomReportType): [CustomReport] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.software.ApplicationInstanceRepository'
"""This type application related queries"""
type ApplicationInstances {
  """Find all application instances"""
  findAll: [ApplicationInstance] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all application instances with a given name"""
  findByName(name: String): [ApplicationInstance] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all application instances with a give type"""
  findByType(type: SoftwareInstanceType): [ApplicationInstance] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.software.ApplicationRepository'
"""This type provides application related queries"""
type Applications {
  """Find all applications"""
  findAll: [Application] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all applications by specified ids"""
  findAllById(ids: [Long]!): [Application] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all applications that are actually used by at least one device"""
  findAllUsed: [Application] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all applications with a given name"""
  findByName(name: String): [Application] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all applications with a given name"""
  findByNameAndVersion(name: String, version: String): [Application] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.software.CertificateRepository'
"""This type provides certificate related queries"""
type Certificates {
  """Find all certificates"""
  findAll: [Certificate] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find certificate by its id"""
  findById(id: Long!): Certificate @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all certificates by issuer"""
  findByIssuer(issuer: String): [Certificate] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all certificates by issuer"""
  findByIssuerAndSubject(issuer: String, subject: String): [Certificate] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all certificates by subject pattern. '*' stands for any character(s) and '?' for any single character (similar to directory wildcards on Windows)."""
  findByIssuerAndSubjectPattern(issuerPattern: String, subjectPattern: String): [Certificate] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all certificates by issuer pattern. '*' stands for any character(s) and '?' for any single character (similar to directory wildcards on Windows)."""
  findByIssuerPattern(issuerPattern: String): [Certificate] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all certificates by oid"""
  findByOid(oid: String): [Certificate] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all certificates by subject"""
  findBySubject(subject: String): [Certificate] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all certificates by subject pattern. '*' stands for any character(s) and '?' for any single character (similar to directory wildcards on Windows)."""
  findBySubjectPattern(subjectPattern: String): [Certificate] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all certificates that expire after a given date"""
  findExpiringAfterCertificates(expireAfter: DateTime): [Certificate] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all certificates that expire before a given date"""
  findExpiringBeforeCertificates(expireBefore: DateTime): [Certificate] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.software.ClusterRepository'
"""This type provides cluster related queries"""
type Clusters {
  """Find all clusters"""
  findAll: [Cluster] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all clusters with a given type"""
  findByName(type: ClusterType): [Cluster] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.software.ExecutableFileRepository'
"""This type provides executable file related queries"""
type ExecutableFiles {
  """Find all executable files"""
  findAll: [ExecutableFile] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all executable files by specified ids"""
  findAllById(ids: [Long]!): [ExecutableFile] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all executable files used by at least one device"""
  findAllUsed: [ExecutableFile] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all executable files with a given name"""
  findByBinaryName(binaryName: String): [ExecutableFile] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all executable files with a given name"""
  findByName(name: String): [ExecutableFile] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.software.InstalledApplicationRepository'
"""Installed Applications related queries"""
type InstalledApplications {
  """Find all installed applications"""
  findAll: [InstalledApplication] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.software.InstalledServiceRepository'
"""This type provides installed service related queries"""
type InstalledServices {
  """Find all installed services"""
  findAll: [InstalledService] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find installed services with a given binary"""
  findByBinaryName(binary: String): [InstalledService] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find installed services with a display name"""
  findByDisplayName(displayName: String): [InstalledService] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find installed services with a configured failure action"""
  findByFailureAction(failureAction: ServiceFailureAction): [InstalledService] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find installed services with a configured startup mode"""
  findByStartupMode(startupMode: ServiceStartupMode): [InstalledService] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find installed services with a given status"""
  findByStatus(status: ServiceStatus): [InstalledService] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.software.OperatingSystemRepository'
"""This type provides operating system related queries"""
type OperatingSystems {
  """Finds all operating systems by family"""
  findByFamily(osFamily: String): [OperatingSystem] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Finds all operating systems by operating system version"""
  findByVersion(osVersion: String): [OperatingSystem] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Finds the set of all operating system families. Families are for instance 'Windows', 'Linux', 'Solaris', 'AIX', ..."""
  findOsFamilies: [String] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find the set of all operating system families for the selected devices"""
  findOsFamiliesForDevices(devices: [DeviceReferenceInput]): [String] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Finds the set of all operating system versions"""
  findOsVersions: [String] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find the set of all operating system versions for the selected devices"""
  findOsVersionsForFamily(osFamily: String): [String] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.software.PatchRepository'
"""This type provides patch related queries"""
type Patches {
  """Find all patches"""
  findAll: [Patch] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all patches with a given name"""
  findByName(name: String): [Patch] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.software.ServiceRepository'
"""This type provides service related queries"""
type Services {
  """Find all services"""
  findAll: [Service] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all services with a given manufacturer"""
  findByManufacturer(manufacturer: String): [Service] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all services with a given name"""
  findByName(name: String): [Service] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.virtualization.CloudFoundryOrganizationRepository'
"""This type provides CloudFoundry organization related queries"""
type Organizations {
  """Find all virtual CloudFoundry organizations"""
  findAll: [CloudFoundryOrganization] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Finds all CloudFoundry organizations by name."""
  findVirtualDatacentersByName(name: String): [CloudFoundryOrganization] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Finds all CloudFoundry organizations by unique id."""
  findVirtualDatacentersByUniqueId(uniqueId: String): [CloudFoundryOrganization] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.virtualization.VirtualDatacenterRepository'
"""This type provides virtual datacenter queries"""
type VirtualDatacenters {
  """Find all virtual datacenters"""
  findAll: [VirtualDatacenter] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Finds all virtual datacenters by name."""
  findVirtualDatacentersByName(name: String): [VirtualDatacenter] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Finds all virtual datacenters by type."""
  findVirtualDatacentersByType(type: DatacenterType): [VirtualDatacenter] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Finds all virtual datacenters by unique id."""
  findVirtualDatacentersByUniqueId(uniqueId: String): [VirtualDatacenter] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.common.Location'
"""An object's location."""
type Location {
  """the location on the x-axis."""
  x: Int!

  """the location on the y-axis."""
  y: Int!

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.common.Location'
"""An object's location."""
input LocationInput {
  """the location on the x-axis."""
  x: Int!

  """the location on the y-axis."""
  y: Int!

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.common.Size'
"""The size of an object."""
type Size {
  """The height."""
  height: Int!

  """The width."""
  width: Int!

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.common.Size'
"""The size of an object."""
input SizeInput {
  """The height."""
  height: Int!

  """The width."""
  width: Int!

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.dashboard.DashboardItemLocation'
"""A dashboard item location."""
type DashboardItemLocation {
  """The dashboard id identifying the dashboard item."""
  id: String

  """the dashboard item location in the dashboard grid."""
  location: Location

  """a flag whether the dashboard item is minimized."""
  minimized: Boolean!

  """the dashboard size in the dashboard grid."""
  size: Size

  """a flag whether the dashboard item is visible."""
  visible: Boolean!

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.dashboard.DashboardItemLocation'
"""A dashboard item location."""
input DashboardItemLocationInput {
  """The dashboard id identifying the dashboard item."""
  id: String

  """the dashboard item location in the dashboard grid."""
  location: LocationInput

  """a flag whether the dashboard item is minimized."""
  minimized: Boolean!

  """the dashboard size in the dashboard grid."""
  size: SizeInput

  """a flag whether the dashboard item is visible."""
  visible: Boolean!

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.diagram.DiagramAggregationPreferences'
"""The WEB UI diagram aggregation preferences."""
type DiagramAggregationPreferences {
  """The minimum count of nodes that are needed to be of same relation to be auto aggregated."""
  aggregationAutoMinimum: Int

  """The minimum count of nodes that can be aggregated."""
  aggregationMinimum: Int

  """A flag to indicate if we prefer auto aggregation of nodes during every diagram creation"""
  autoAggregation: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.diagram.DiagramAggregationPreferences'
"""The WEB UI diagram aggregation preferences."""
input DiagramAggregationPreferencesInput {
  """The minimum count of nodes that are needed to be of same relation to be auto aggregated."""
  aggregationAutoMinimum: Int

  """The minimum count of nodes that can be aggregated."""
  aggregationMinimum: Int

  """A flag to indicate if we prefer auto aggregation of nodes during every diagram creation"""
  autoAggregation: Boolean

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.diagram.DiagramLabelPreference'
"""The WEB UI diagram label preferences."""
type DiagramLabelPreference {
  """The diagram label expression"""
  expression: String

  """The diagram label inheritance flag"""
  inherit: Boolean!

  """The diagram label preference key"""
  key: DiagramLabelPreferenceKey

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.diagram.DiagramLabelPreference'
"""The WEB UI diagram label preferences."""
input DiagramLabelPreferenceInput {
  """The diagram label expression"""
  expression: String

  """The diagram label inheritance flag"""
  inherit: Boolean!

  """The diagram label preference key"""
  key: DiagramLabelPreferenceKeyInput

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.diagram.DiagramLabelPreferenceKey'
"""The WEB UI diagram label preference key."""
type DiagramLabelPreferenceKey {
  """The diagram entity id"""
  diagramEntityId: DiagramEntityId

  """The subtype's hierarchy path"""
  pathFromRoot: String

  """A subtype of diagram entity"""
  subtype: Object

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.diagram.DiagramLabelPreferenceKey'
"""The WEB UI diagram label preference key."""
input DiagramLabelPreferenceKeyInput {
  """The diagram entity id"""
  diagramEntityId: DiagramEntityId

  """The subtype's hierarchy path"""
  pathFromRoot: String

  """A subtype of diagram entity"""
  subtype: Object

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.diagram.DiagramPreferences'
"""The WEB UI diagram preferences."""
type DiagramPreferences {
  """The aggregation preferences."""
  aggregationPreferences: DiagramAggregationPreferences

  """The diagram node label preferences."""
  diagramNodeLabelPreferences: [DiagramLabelPreference]

  """The diagram icon set."""
  iconSet: IconSet

  """The diagram node size."""
  nodeSize: Int

  """The preferences for each relations template."""
  templatePreferences: [DiagramTemplatePreferences]

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.diagram.DiagramPreferences'
"""The WEB UI diagram preferences."""
input DiagramPreferencesInput {
  """The aggregation preferences."""
  aggregationPreferences: DiagramAggregationPreferencesInput

  """The diagram node label preferences."""
  diagramNodeLabelPreferences: [DiagramLabelPreferenceInput]

  """The diagram icon set."""
  iconSet: IconSet

  """The diagram node size."""
  nodeSize: Int

  """The preferences for each relations template."""
  templatePreferences: [DiagramTemplatePreferencesInput]

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.diagram.DiagramTemplatePreferences'
"""The diagram template preferences."""
type DiagramTemplatePreferences {
  """Flag to indicate if max depth for the template might be changed by the user."""
  allowChanges: Boolean

  """The relations max depth to apply for the template."""
  maxDepth: Int

  """The template Id."""
  templateId: DiagramTemplateId

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.diagram.DiagramTemplatePreferences'
"""The diagram template preferences."""
input DiagramTemplatePreferencesInput {
  """Flag to indicate if max depth for the template might be changed by the user."""
  allowChanges: Boolean

  """The relations max depth to apply for the template."""
  maxDepth: Int

  """The template Id."""
  templateId: DiagramTemplateId

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.dialog.CommonDialogPreferences'
"""The common dialog preferences."""
type CommonDialogPreferences {
  """The style height property of the dialog"""
  height: Int

  """The style left property of the dialog"""
  left: Int

  """The style top property of the dialog"""
  top: Int

  """The style width property of the dialog"""
  width: Int

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.dialog.CommonDialogPreferences'
"""The common dialog preferences."""
input CommonDialogPreferencesInput {
  """The style height property of the dialog"""
  height: Int

  """The style left property of the dialog"""
  left: Int

  """The style top property of the dialog"""
  top: Int

  """The style width property of the dialog"""
  width: Int

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.dialog.DatabaseArchiveDialogPreferences'
"""Database archive dialog preferences."""
type DatabaseArchiveDialogPreferences {
  """Common dialog preferences."""
  commonDialogPreferences: CommonDialogPreferences

  """Flag to include or exclude discovery passwords. Usually if you exclude passwords you should use reporting mode only."""
  includePasswords: Boolean!

  """Database archive settings related to measurement addon."""
  measurement: DatabaseArchiveMeasurementAddonDialogPreferences

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.dialog.DatabaseArchiveDialogPreferences'
"""Database archive dialog preferences."""
input DatabaseArchiveDialogPreferencesInput {
  """Common dialog preferences."""
  commonDialogPreferences: CommonDialogPreferencesInput

  """Flag to include or exclude discovery passwords. Usually if you exclude passwords you should use reporting mode only."""
  includePasswords: Boolean!

  """Database archive settings related to measurement addon."""
  measurement: DatabaseArchiveMeasurementAddonDialogPreferencesInput

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.dialog.DatabaseArchiveMeasurementAddonDialogPreferences'
"""Measurement addon preferences for database archiving."""
type DatabaseArchiveMeasurementAddonDialogPreferences {
  """Flag to include or exclude measurement data."""
  includeData: Boolean!

  """Flag to include or exclude full history of measurement records."""
  includeFullHistory: Boolean!

  """Number of days to include history of measurement records for. 1 day means 24 hours back from the moment of archive creation."""
  includeHistoryDuration: Int

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.dialog.DatabaseArchiveMeasurementAddonDialogPreferences'
"""Measurement addon preferences for database archiving."""
input DatabaseArchiveMeasurementAddonDialogPreferencesInput {
  """Flag to include or exclude measurement data."""
  includeData: Boolean!

  """Flag to include or exclude full history of measurement records."""
  includeFullHistory: Boolean!

  """Number of days to include history of measurement records for. 1 day means 24 hours back from the moment of archive creation."""
  includeHistoryDuration: Int

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.dialog.DialogRef'
"""The dialog reference."""
type DialogRef {
  """The dialog id identifying the dialog item."""
  id: String

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.dialog.DialogRef'
"""The dialog reference."""
input DialogRefInput {
  """The dialog id identifying the dialog item."""
  id: String

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.dialog.ExportDialogPreferences'
"""Export dialog preferences."""
type ExportDialogPreferences {
  """CSV export preferences."""
  csvExportConfig: CsvExportConfig

  """The enabled export type formats."""
  enabledExportFormats: [ExportFormat]

  """Excel export preferences."""
  excelExportConfig: ExcelExportConfig

  """The has config flag."""
  hasConfig: Boolean

  """The last active export type format."""
  lastActiveFormat: ExportFormat

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.dialog.ExportDialogPreferences'
"""Export dialog preferences."""
input ExportDialogPreferencesInput {
  """CSV export preferences."""
  csvExportConfig: CsvExportConfigInput

  """The enabled export type formats."""
  enabledExportFormats: [ExportFormat]

  """Excel export preferences."""
  excelExportConfig: ExcelExportConfigInput

  """The has config flag."""
  hasConfig: Boolean

  """The last active export type format."""
  lastActiveFormat: ExportFormat

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.overview.ChartConfiguration'
"""A user chart configuration."""
type ChartConfiguration {
  """Gets the chart description"""
# use Object for java.lang.String
  chartDescription: Object

  """The chart key for this configuration."""
  chartKey: String

  """When true, the chart is not visible"""
  isHidden: Boolean

  """The report for this configuration."""
  report: BuiltInReport

# use Object for java.lang.String
}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.overview.ChartConfiguration'
"""A user chart configuration."""
input ChartConfigurationInput {
  """Gets the chart description"""
  chartDescription: String

  """The chart key for this configuration."""
  chartKey: String

  """When true, the chart is not visible"""
  isHidden: Boolean

  """The report for this configuration."""
  report: BuiltInReport

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.overview.ChartConfigurationRef'
"""The chart configuration reference."""
type ChartConfigurationRef {
  """The chartKey of the chart configuration item."""
  chartKey: String

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.overview.ChartConfigurationRef'
"""The chart configuration reference."""
input ChartConfigurationRefInput {
  """The chartKey of the chart configuration item."""
  chartKey: String

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.table.InstanceState'
"""The instance state data"""
type InstanceState {
  """The first visible index at the current scroll position"""
  currentIndex: Int

  """The instance id of the state"""
  instanceId: String

  """The selected indexes"""
  selectedIndexes: [Int]

  """The selected rows"""
  selectedRows: [Object]

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.table.InstanceState'
"""The instance state data"""
input InstanceStateInput {
  """The first visible index at the current scroll position"""
  currentIndex: Int

  """The instance id of the state"""
  instanceId: String

  """The selected indexes"""
  selectedIndexes: [Int]

  """The selected rows"""
  selectedRows: [Object]

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.table.JTableState'
"""The table state"""
type JTableState {
  """The column order"""
  columnOrder: [String]

  """The widths of the columns"""
  columnWidths: String

  """The filters metadata"""
  filters: String

  """The hidden columns"""
  hiddenColumns: [String]

  """State related to a particular table instance id"""
  instanceState: InstanceState

  """The multi sort metadata"""
  multiSortMeta: [MultiSortMeta]

  """The searchConfig"""
  searchConfig: SearchConfiguration

  """The single sort field"""
  sortField: String

  """The single sort order"""
  sortOrder: Int

  """The width of the table"""
  tableWidth: String

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.table.JTableState'
"""The table state"""
input JTableStateInput {
  """The column order"""
  columnOrder: [String]

  """The widths of the columns"""
  columnWidths: String

  """The filters metadata"""
  filters: String

  """The hidden columns"""
  hiddenColumns: [String]

  """State related to a particular table instance id"""
  instanceState: InstanceStateInput

  """The multi sort metadata"""
  multiSortMeta: [MultiSortMetaInput]

  """The searchConfig"""
  searchConfig: SearchConfigurationInput

  """The single sort field"""
  sortField: String

  """The single sort order"""
  sortOrder: Int

  """The width of the table"""
  tableWidth: String

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.table.MultiSortMeta'
"""The sort metadata"""
type MultiSortMeta {
  """The sort field"""
  field: String!

  """The sort order"""
  order: Int!

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.table.MultiSortMeta'
"""The sort metadata"""
input MultiSortMetaInput {
  """The sort field"""
  field: String!

  """The sort order"""
  order: Int!

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.table.SearchConfiguration'
"""Search and filter configuration"""
type SearchConfiguration {
  """A flag whether to ignore case or not when searching"""
  ignoreCase: Boolean!

  """A flag whether to invert the search"""
  invertSearch: Boolean

  """The search string"""
  searchString: String

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.table.SearchConfiguration'
"""Search and filter configuration"""
input SearchConfigurationInput {
  """A flag whether to ignore case or not when searching"""
  ignoreCase: Boolean!

  """A flag whether to invert the search"""
  invertSearch: Boolean

  """The search string"""
  searchString: String

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.tree.TreeRef'
"""The tree reference."""
type TreeRef {
  """The tree id identifying the tree item."""
  id: String

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.tree.TreeRef'
"""The tree reference."""
input TreeRefInput {
  """The tree id identifying the tree item."""
  id: String

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.tree.TreeState'
"""The tree state."""
type TreeState {
  """The keys of the expanded nodes of the tree."""
  expandedNodes: [String]

  """The keys of the selected nodes of the tree."""
  selectedNodes: [String]

  """The mode of the tree."""
  treeMode: TreeMode

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.tree.TreeState'
"""The tree state."""
input TreeStateInput {
  """The keys of the expanded nodes of the tree."""
  expandedNodes: [String]

  """The keys of the selected nodes of the tree."""
  selectedNodes: [String]

  """The mode of the tree."""
  treeMode: TreeMode

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.uiprefs.PreferencesKeyValuePair'
"""A key value pair for preferences"""
input PreferencesKeyValuePairInput {
  """The key"""
  key: String

  """The value"""
  value: Object

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.uiprefs.WebUIPreferences'
"""The WEB UI user preferences."""
type WebUIPreferences {
  """The date format used for timestamps"""
  dateFormat: DateFormat

  """The user interface density."""
  density: UIDensity

  """The log level"""
  logLevel: LogLevel

  """The user interface theme."""
  theme: UITheme

}

# Mapping for Java class 'com.jdisc.inventory.webui.datastructures.preferences.uiprefs.WebUIPreferences'
"""The WEB UI user preferences."""
input WebUIPreferencesInput {
  """The date format used for timestamps"""
  dateFormat: DateFormat

  """The user interface density."""
  density: UIDensity

  """The log level"""
  logLevel: LogLevel

  """The user interface theme."""
  theme: UITheme

}

# Mapping for Java class 'com.jdisc.measurement.common.datastructures.softwaremetering.template.SoftwareMeteringFilter'
"""A software metering filter"""
type SoftwareMeteringFilter {
  """The filter description"""
  description: String

  """The filter entries"""
  filterEntries: [SoftwareMeteringFilterValue]

  """The filter id"""
  id: Long!

  """The filter tag"""
  tag: String

  """The filter type"""
  type: SoftwareMeteringTemplateType

  """The filter uuid"""
  uuid: String

}

# Mapping for Java class 'com.jdisc.measurement.common.datastructures.softwaremetering.template.SoftwareMeteringFilter'
"""A software metering filter"""
input SoftwareMeteringFilterInput {
  """The filter description"""
  description: String

  """The filter entries"""
  filterEntries: [SoftwareMeteringFilterValueInput]

  """The filter id"""
  id: Long!

  """The filter tag"""
  tag: String

  """The filter type"""
  type: SoftwareMeteringTemplateType

  """The filter uuid"""
  uuid: String

}

# Mapping for Java class 'com.jdisc.measurement.common.datastructures.softwaremetering.template.SoftwareMeteringFilterValue'
"""A software metering filter value"""
type SoftwareMeteringFilterValue {
  """The filter value field name"""
  fieldName: SoftwareMeteringFilterField

  """The filter value ignore case flag"""
  ignoreCase: Boolean

  """The filter value operator"""
  operator: SoftwareMeteringOperator

  """The filter value type"""
  type: SoftwareMeteringTemplateType

  """The filter value1"""
  value1: String

  """The filter value2"""
  value2: String

}

# Mapping for Java class 'com.jdisc.measurement.common.datastructures.softwaremetering.template.SoftwareMeteringFilterValue'
"""A software metering filter value"""
input SoftwareMeteringFilterValueInput {
  """The filter value field name"""
  fieldName: SoftwareMeteringFilterField

  """The filter value ignore case flag"""
  ignoreCase: Boolean

  """The filter value operator"""
  operator: SoftwareMeteringOperator

  """The filter value type"""
  type: SoftwareMeteringTemplateType

  """The filter value1"""
  value1: String

  """The filter value2"""
  value2: String

}

# Mapping for Java class 'com.jdisc.measurement.common.datastructures.softwaremetering.template.SoftwareMeteringTemplate'
"""A software metering template"""
type SoftwareMeteringTemplate {
  """The template description"""
  description: String

  """The template filters"""
  filters: [SoftwareMeteringFilter]

  """The template id"""
  id: Long

  """The template name"""
  name: String

  """The template platform"""
  platform: DevicePlatform

  """The software metering template type"""
  type: SoftwareMeteringTemplateType

  """The template uuid"""
  uuid: String

}

# Mapping for Java class 'com.jdisc.measurement.common.datastructures.softwaremetering.template.SoftwareMeteringTemplate'
"""A software metering template"""
input SoftwareMeteringTemplateInput {
  """The template description"""
  description: String

  """The template filters"""
  filters: [SoftwareMeteringFilterInput]

  """The template id"""
  id: Long

  """The template name"""
  name: String

  """The template platform"""
  platform: DevicePlatform

  """The software metering template type"""
  type: SoftwareMeteringTemplateType

  """The template uuid"""
  uuid: String

}

# Mapping for Java class 'com.jdisc.measurement.common.datastructures.softwaremetering.template.SoftwareMeteringTemplateConfiguration'
"""A software metering template configuration"""
type SoftwareMeteringTemplateConfiguration {
  """The expiration date"""
  expirationDate: DateTime

  """The last provision date"""
  lastProvisionDate: DateTime

  """The polling interval in millis"""
  pollingIntervalInMillis: Long!

  """The software metering templates"""
  templates: [SoftwareMeteringTemplate]

}

# Mapping for Java class 'com.jdisc.measurement.common.datastructures.softwaremetering.template.SoftwareMeteringTemplateConfiguration'
"""A software metering template configuration"""
input SoftwareMeteringTemplateConfigurationInput {
  """The expiration date"""
  expirationDate: DateTime

  """The last provision date"""
  lastProvisionDate: DateTime

  """The polling interval in millis"""
  pollingIntervalInMillis: Long!

  """The software metering templates"""
  templates: [SoftwareMeteringTemplateInput]

}

# Mapping for Java class 'com.jdisc.measurement.common.datastructures.status.MeasurementJobDetails'
"""MeasurementJobDetails"""
type MeasurementJobDetails {
  """device"""
  device: String

  """jobName"""
  jobName: String

  """jobStatus"""
  jobStatus: MeasurementJobStatus

  """jobType"""
  jobType: MeasureAggregateType

  """Get next trigger time in UTC zone"""
  nextTriggeredTime: DateTime

}

# Mapping for Java class 'com.jdisc.measurement.common.datastructures.status.MeasurementJobDetails'
"""MeasurementJobDetails"""
input MeasurementJobDetailsInput {
  """device"""
  device: String

  """jobName"""
  jobName: String

  """jobStatus"""
  jobStatus: MeasurementJobStatus

  """jobType"""
  jobType: MeasureAggregateType

  """Get next trigger time in UTC zone"""
  nextTriggeredTime: DateTime

}

# Mapping for Java class 'com.jdisc.webui.server.configuration.app.DiscoveryDatabaseCredentials'
"""Discovery database credentials"""
type DiscoveryDatabaseCredentials {
  """Discovery database password"""
  password: String

  """Discovery database password with read-only access"""
  readOnlyPassword: String

  """Discovery database username with read-only access"""
  readOnlyUsername: String

  """Discovery database username"""
  username: String

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.CreateDownloadLinkOperationResult'
"""This object contains information about the background operation of creating the requested download link.
This object can be used to track the progress and hold the result of the operation."""
type CreateDownloadLinkOperationResult {
  """When the operation completed, this property holds the one time download link for transfer via an download service."""
  downloadLink: OneTimeDownloadLink

  """Operation execution progress information"""
  progressInfo: ProgressInfo

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.common.DatabaseClearSettings'
"""This is settings for clearing database. All discovered data will be removed, but additionally you can specified other data to be cleaned up."""
input DatabaseClearSettings {
  """Flag weather to clear discovery configurations."""
  clearConfiguration: Boolean!

  """Flag weather to clear discovery users."""
  clearUsers: Boolean!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.common.DefaultProgressInfo'
"""This object contains information about a background task execution progress."""
type DefaultProgressInfo implements ProgressInfo {
  """The current action being performed. Can be empty or null."""
  action: String

  """A message that describes the completion status once the task is completed or canceled."""
  completionMessage: String

  """The current value for the operation's progress. Together with the maxValue, you can calculate the percentage."""
  currentValue: Int

  """The error object. The error object type depends on the type of action."""
  errorObject: Object

  """The exception, that occurred during the execution of the monitored operation."""
# use Object for graphql.GraphQLError
  exception: Object

  """Is the task failed?"""
  hasFailed: Boolean!

  """Is the task finished?"""
  isFinished: Boolean!

  """The maximum value for the operation's progress. A max value < 0 indicates, that the maximum value is not known for this operation."""
  maxValue: Int

  """The operationId identifies a specific operation. Use this operationId to poll the current status."""
  operationId: String!

  """The result if there is one."""
  resultObject: Object

  """The current sub-action being performed. Can be empty or null."""
  subaction: String

# use Object for graphql.GraphQLError
# use Object for graphql.GraphQLError
# use Object for graphql.GraphQLError
}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.common.DefaultProgressInfoEx'
"""This object contains information about a background task execution progress."""
type DefaultProgressInfoEx {
  """The current action being performed. Can be empty or null."""
  action: String

  """The current value for the operation's progress. Together with the maxValue, you can calculate the percentage."""
  currentValue: Int

  """The maximum value for the operation's progress. A max value < 0 indicates, that the maximum value is not known for this operation."""
  maxValue: Int

  """The current sub-action being performed. Can be empty or null."""
  subaction: String

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.common.DeviceTypeEnumEntry'
"""A device type enumeration value with its code and parent"""
type DeviceTypeEnumEntry {
  """The integer code for this device type"""
  code: Long

  """The label (to display in the UI) for this enumeration name as singular."""
  displayName: String

  """The label (to display in the UI) for this enumeration name as plural."""
  displayNamePlural: String

  """The device type name."""
  name: String

  """The parent's device type name."""
  parentName: String

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.common.DisplayRawValue'
"""When getting data for a report, we get a display value that is targetted for displaying the value in the UI.
The raw value can be used in renderers or in filters if needed."""
input DisplayRawValueInput {
  """The display value for the UI"""
  displayValue: String

  """The raw value for enums, complex types or floating point numbers"""
  rawValue: Object

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.common.EnumEntry'
"""An enumeration value with its corresponding integer code"""
type EnumEntry {
  """The integer code for this enumeration"""
  code: Long

  """The label (to display in the UI) for this enumeration name."""
  displayName: String

  """The enumeration name."""
  name: String

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.common.FaultProgressInfoEx'
"""This object contains information about a failure during background task execution."""
type FaultProgressInfoEx {
  """The error object. The error object type depends on the type of action."""
  errorObject: Object

  """The exception, that occurred during the execution of the monitored operation."""
# use Object for graphql.GraphQLError
  exception: Object

# use Object for graphql.GraphQLError
}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.common.FinishProgressInfoEx'
"""This object contains information about a background task execution completion."""
type FinishProgressInfoEx {
  """A message that describes the completion status once the task is completed or canceled."""
  completionMessage: String

  """The result if there is one."""
  resultObject: Object

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.common.Paging'
"""Paging configuration"""
input PagingInput {
  """Size of the page in rows. When less or equal to 0, it returns all rows."""
  rowCount: Int!

  """Start of the paging area. When less than 0, it starts with 0"""
  start: Int!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.common.SortEntry'
"""Paging configuration"""
input SortEntryInput {
  """The field to sort by"""
  sortBy: FieldDescriptionInput

  """The sort direction"""
  sortOrder: SortOrder

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.monitoring.caching.CacheStatisticsEntry'
"""A cache statistics entry contains information about the number of items within a specific cache"""
type CacheStatisticsEntry {
  """The cache name"""
  cacheName: String

  """The number of entries in the specific cache"""
  count: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.monitoring.filesystem.FileSystemEntry'
"""Information about the file system"""
type FileSystemEntry {
  """The drive letter"""
  drive: String

  """The free space in kb"""
  freeSpace: Long

  """The file system name"""
  name: String

  """The total space in kb"""
  totalSpace: Long

  """The file system name"""
  type: String

  """The usable space in kb"""
  usableSpace: Long

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.administration.application.ApplicationSetEnableOperationResult'
"""This object contains information about the background task for changing application mode.
Updating  application mode can be a lengthy operation and the async version can run in the background. This object can be used to track the progress
and hold the result of the operation."""
type ApplicationSetEnableOperationResult {
  """Result of operation or required forced application mode"""
  forcedApplicationMode: ApplicationStartMode

  """Operation execution progress information"""
  progressInfo: ProgressInfo

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.administration.database.ClearDatabaseOperationResult'
"""This object contains information about the background operation of database clear within the Database Management interface.
Please use with care, because database will be cleaned up."""
type ClearDatabaseOperationResult {
  """Operation execution progress information"""
  progressInfo: ProgressInfo

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.administration.database.RestoreDatabaseOperationResult'
"""This object contains information about the background operation of database restore within the Database Management interface.
Please use with care, because database will be cleaned up if restore completes with error."""
type RestoreDatabaseOperationResult {
  """Operation execution progress information"""
  progressInfo: ProgressInfo

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.administration.eol.UpdateEndOfLifeDatabaseOperationResult'
"""This object contains information about the background operation of end of life database update"""
type UpdateEndOfLifeDatabaseOperationResult {
  """Operation execution progress information"""
  progressInfo: ProgressInfo

  """The number of updated products, when the operation completes"""
  result: Long

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.administration.users.DiscoveredUserDeletionOperationResult'
"""This object contains information about the background task deleteUsers within the userManagement interface.
This object can be used to track the progress and hold the result of the operation."""
type DiscoveredUserDeletionOperationResult {
  """When the operation completed, this property holds the operation result. True when successful, otherwise false."""
  operationResult: Boolean

  """Operation execution progress information"""
  progressInfo: ProgressInfo

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.administration.users.DiscoveredUserGroupDeletionOperationResult'
"""This object contains information about the background task deleteUserGroups within the userManagement interface.
This object can be used to track the progress and hold the result of the operation."""
type DiscoveredUserGroupDeletionOperationResult {
  """When the operation completed, this property holds the operation result. True when successful, otherwise false."""
  operationResult: Boolean

  """Operation execution progress information"""
  progressInfo: ProgressInfo

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.administration.users.DiscoveredUserGroupReference'
"""Discovered user group reference input for type safety"""
type DiscoveredUserGroupReference {
  """The unique database id for the discovered user group"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.administration.users.DiscoveredUserGroupReference'
"""Discovered user group reference input for type safety"""
input DiscoveredUserGroupReferenceInput {
  """The unique database id for the discovered user group"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.administration.users.DiscoveredUserReference'
"""Discovered user reference input for type safety"""
type DiscoveredUserReference {
  """The unique database id for the discovered user"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.administration.users.DiscoveredUserReference'
"""Discovered user reference input for type safety"""
input DiscoveredUserReferenceInput {
  """The unique database id for the discovered user"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.customattributes.AddBinaryExecutableOperationResult'
"""This object contains information about the background operation of adding a binary executable."""
type AddBinaryExecutableOperationResult {
  """Operation execution progress information"""
  progressInfo: ProgressInfo

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.customattributes.UpdateBinaryExecutableOperationResult'
"""This object contains information about the background operation of updating a binary executable"""
type UpdateBinaryExecutableOperationResult {
  """Operation execution progress information"""
  progressInfo: ProgressInfo

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.discovery.DeviceQueueEntryReference'
"""Device queue entry reference for type safety"""
type DeviceQueueEntryReference {
  """The unique database id for the device queue entry"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.discovery.DeviceQueueEntryReference'
"""Device queue entry reference for type safety"""
input DeviceQueueEntryReferenceInput {
  """The unique database id for the device queue entry"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.discovery.DeviceTriggerResult'
"""The result for synchronously triggering a device scan."""
type DeviceTriggerResult {
  """The IP address queue items for the device addition. Note that there might be multiple device queue entries for a device.
For instance, when a hostname resolves to multiple IP addresses."""
  deviceQueueItem: DeviceQueueItem

  """The IP address or hostname for this entry!"""
  ipOrHostname: String

  """The status for the device addition"""
  status: DiscoveryProtocolStatusEnum

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.discovery.DirectoryQueueEntryReference'
"""Directory queue entry reference for type safety"""
type DirectoryQueueEntryReference {
  """The unique database id for the directory queue entry"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.discovery.DirectoryQueueEntryReference'
"""Directory queue entry reference for type safety"""
input DirectoryQueueEntryReferenceInput {
  """The unique database id for the directory queue entry"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.discovery.DiscoveryJobReference'
"""Datacenter reference for input type safety"""
input DiscoveryJobReference {
  """The id of the discovery job"""
  jobId: Long

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.discovery.DomainQueueEntryReference'
"""Domain Queue entry reference for type safety"""
type DomainQueueEntryReference {
  """The unique database id for the domain queue entry"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.discovery.DomainQueueEntryReference'
"""Domain Queue entry reference for type safety"""
input DomainQueueEntryReferenceInput {
  """The unique database id for the domain queue entry"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.discovery.PingQueueEntryReference'
"""Ping queue entry reference for type safety"""
type PingQueueEntryReference {
  """The unique database id for the ping queue entry"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.discovery.PingQueueEntryReference'
"""Ping queue entry reference for type safety"""
input PingQueueEntryReferenceInput {
  """The unique database id for the ping queue entry"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.lock.LockResult'
"""Lock operation result"""
type LockResult {
  """The lock acquired flag. When false, the lock operation failed."""
  lockAcquired: Boolean

  """The lock owner host"""
  lockHost: String

  """The current lock owner"""
  lockOwner: String

  """The lock refresh flag. When true, the lock is just a refresh of a preexisting user lock"""
  lockRefresh: Boolean!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.lock.UnlockResult'
"""Unlock operation result"""
type UnlockResult {
  """The lock owner host"""
  lockHost: String

  """The lock owner"""
  lockOwner: String

  """The unlock operation result."""
  lockReleased: Boolean

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.logging.LogMessage'
"""The log message"""
type LogMessage {
  """The log level"""
  level: LogLevel

  """The log message payload"""
  payload: String

  """The message tags"""
  tags: [String]

  """The log message timestamp in UTC"""
  timestamp: DateTime

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.logging.LogMessage'
"""The log message"""
input LogMessageInput {
  """The log level"""
  level: LogLevel

  """The log message payload"""
  payload: String

  """The message tags"""
  tags: [String]

  """The log message timestamp in UTC"""
  timestamp: DateTime

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.login.EncryptedLoginInfo'
"""Returns encoded username/password for JWT with audience SECURED"""
type EncryptedLoginInfo {
  """Audience, fields have been encrypted for"""
  audience: JwtAudienceType

  """Encrypted and encoded username"""
  login: String

  """Encrypted and encoded password"""
  password: String

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.login.LoginResult'
"""Login operation result"""
type LoginResult {
  """The access token"""
  accessToken: String

  """The renewal token"""
  refreshToken: String

  """The status for the login call"""
  status: LoginResultStatus

  """The list of rights for the user"""
  rights: [InventoryUserRight]

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.application.ApplicationReference'
"""Application reference for type safety"""
type ApplicationReference {
  """The unique database id for the application"""
  id: Long

  """The application manufacturer"""
  manufacturer: String

  """The application name"""
  name: String

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.application.ApplicationReference'
"""Application reference for type safety"""
input ApplicationReferenceInput {
  """The unique database id for the application"""
  id: Long

  """The application manufacturer"""
  manufacturer: String

  """The application name"""
  name: String

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.application.CertificateReference'
"""Certificate reference for type safety"""
type CertificateReference {
  """The unique database id for the certificate"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.application.CertificateReference'
"""Certificate reference for type safety"""
input CertificateReferenceInput {
  """The unique database id for the certificate"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.application.DataCollectionInfoReference'
"""Executable file reference for type safety"""
type DataCollectionInfoReference {
  """The unique database id for the executable file"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.application.DataCollectionInfoReference'
"""Executable file reference for type safety"""
input DataCollectionInfoReferenceInput {
  """The unique database id for the executable file"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.application.DriverReference'
"""Driver reference for type safety"""
type DriverReference {
  """The unique database id for the driver"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.application.DriverReference'
"""Driver reference for type safety"""
input DriverReferenceInput {
  """The unique database id for the driver"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.cluster.ClusterDeletionOperationResult'
"""This object contains information about the background task deleteClusters within the clusterManagement interface.
Deleting cluster can be a lengthy operation and the async version can delete the clusters in the background.
This object can be used to track the progress and hold the result of the operation."""
type ClusterDeletionOperationResult {
  """Operation execution progress information"""
  progressInfo: ProgressInfo

  """When the operation completed, this property holds the list of clusters which could not be found during the deletion process."""
  result: [ClusterReference]

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.datacenter.DatacenterDeletionOperationResult'
"""This object contains information about the background task deleteDatacenters within the datacenterManagement interface.
Deleting datacenters can be a lengthy operation and the async version can delete the datacenters in the background.
This object can be used to track the progress and hold the result of the operation."""
type DatacenterDeletionOperationResult {
  """Operation execution progress information"""
  progressInfo: ProgressInfo

  """When the operation completed, this property holds the list of clusters which could not be found during the deletion process."""
  result: [DatacenterReference]

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.devices.CreateDeviceSnapshotOperationResult'
"""This object contains information about the async task create device snapshot"""
type CreateDeviceSnapshotOperationResult {
  """Operation execution progress information"""
  progressInfo: ProgressInfo

  """When the operation completed, this property holds the operation result."""
  result: Boolean

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.devices.DeleteDeviceHistoryEntriesOperationResult'
"""This object contains information about the async task delete device history entries"""
type DeleteDeviceHistoryEntriesOperationResult {
  """Operation execution progress information"""
  progressInfo: ProgressInfo

  """When the operation completed, this property holds the operation result."""
  result: Boolean

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.devices.DeleteDeviceHistorySnapshotsOperationResult'
"""This object contains information about the async task delete device history snapshots"""
type DeleteDeviceHistorySnapshotsOperationResult {
  """Operation execution progress information"""
  progressInfo: ProgressInfo

  """When the operation completed, this property holds the operation result."""
  result: Boolean

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.devices.DeviceAccountsUpdateOperationResult'
"""This object contains information about the background task accountsUpdate within the deviceManagement interface.
Updating device accounts can be a lengthy operation and the async version can update device accounts in the background. This object can be used to track the progress
and hold the result of the operation."""
type DeviceAccountsUpdateOperationResult {
  """When the operation completed, this property holds the list of devices which could not be found during the account update process."""
  devicesNotFound: [Device]

  """Operation execution progress information"""
  progressInfo: ProgressInfo

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.devices.DeviceDeletionOperationResult'
"""This object contains information about the background task deleteDevices within the deviceManagement interface.
Deleting devices can be a lengthy operation and the async version can delete the devices in the background. This object can be used to track the progress
and hold the result of the operation."""
type DeviceDeletionOperationResult {
  """When the operation completed, this property holds the list of devices which could not be found during the deletion process."""
  devicesNotFound: [Device]

  """Operation execution progress information"""
  progressInfo: ProgressInfo

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.devices.DeviceHistoryEntryReference'
"""Device history entry input for type safety"""
type DeviceHistoryEntryReference {
  """The unique database id for the device history entry"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.devices.DeviceHistoryEntryReference'
"""Device history entry input for type safety"""
input DeviceHistoryEntryReferenceInput {
  """The unique database id for the device history entry"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.devices.DeviceHistorySnapshotReference'
"""Device history snapshot input for type safety"""
type DeviceHistorySnapshotReference {
  """The unique database id for the device history snapshot"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.devices.DeviceHistorySnapshotReference'
"""Device history snapshot input for type safety"""
input DeviceHistorySnapshotReferenceInput {
  """The unique database id for the device history snapshot"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.devices.DiscoverNowOperationResult'
"""This object contains information about the background task discover now"""
type DiscoverNowOperationResult {
  """Operation execution progress information"""
  progressInfo: ProgressInfo

  """When the operation completed, this property holds the list of device trigger results."""
  result: [DeviceTriggerResult]

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.devices.PingDevicesOperationResult'
"""TODO"""
type PingDevicesOperationResult {
  """TODO"""
  pingDevicesJobs: [PingJob]

  """Operation execution progress information"""
  progressInfo: ProgressInfo

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.devices.PingDevicesRequest'
"""The ping devices request"""
input PingDevicesRequestInput {
  """The list of device ids to ping"""
  deviceIds: [Long]

  """The number of retries for discover operation"""
  retries: Int!

  """The discover operation timeout"""
  timeout: Int!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.devices.PingIp4RangeOperationResult'
"""TODO"""
type PingIp4RangeOperationResult {
  """TODO"""
  pingIPJobs: [PingIPJob]

  """Operation execution progress information"""
  progressInfo: ProgressInfo

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.devices.PingIpV4RangeRequest'
"""The discover IP v4 range request"""
input PingIpV4RangeRequestInput {
  """The end IP of the range"""
  endIP: String

  """The number of retries for discover operation"""
  retries: Int!

  """The start IP of the range"""
  startIP: String

  """The discover operation timeout"""
  timeout: Int!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.devices.RefreshEndOfLifeSupportOperationResult'
"""This object contains information about the background task refresh end of life support"""
type RefreshEndOfLifeSupportOperationResult {
  """Operation execution progress information"""
  progressInfo: ProgressInfo

  """When the operation completed, this property holds the operation result."""
  result: [RefreshEndOfLifeSupportStatus]

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.devices.RefreshSupportEntitlementsOperationResult'
"""This object contains information about the background task refresh support entitlements statuses"""
type RefreshSupportEntitlementsOperationResult {
  """Operation execution progress information"""
  progressInfo: ProgressInfo

  """When the operation completed, this property holds the list of support entitlement statuses."""
  supportEntitlementStatusList: [SupportEntitlementStatus]

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.management.event.EventDeletionProgressInfo'
"""This object contains information about the background task deleteEvents within the eventManagement interface.
Deleting events can be a lengthy operation and the async version can delete the events in the background.
This object can be used to track the progress and hold the result of the operation."""
type EventDeletionProgressInfo implements ProgressInfo {
  """The current action being performed. Can be empty or null."""
  action: String

  """A message that describes the completion status once the task is completed or canceled."""
  completionMessage: String

  """The current value for the operation's progress. Together with the maxValue, you can calculate the percentage."""
  currentValue: Int

  """The error object. The error object type depends on the type of action."""
  errorObject: Object

  """The exception, that occurred during the execution of the monitored operation."""
# use Object for graphql.GraphQLError
  exception: Object

  """Is the task failed?"""
  hasFailed: Boolean!

  """Is the task finished?"""
  isFinished: Boolean!

  """The maximum value for the operation's progress. A max value < 0 indicates, that the maximum value is not known for this operation."""
  maxValue: Int

  """The operationId identifies a specific operation. Use this operationId to poll the current status."""
  operationId: String!

  """The result if there is one."""
  resultObject: Object

  """The current sub-action being performed. Can be empty or null."""
  subaction: String

# use Object for graphql.GraphQLError
# use Object for graphql.GraphQLError
  """When the operation completed, this property holds the list of events which could not be found during the deletion process."""
  notFoundEvents: [Event]

# use Object for graphql.GraphQLError
}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.measurement.AssignSoftwareMeteringTemplatesOperationResult'
"""This object contains information about the async task assign software metering templates"""
type AssignSoftwareMeteringTemplatesOperationResult {
  """Operation execution progress information"""
  progressInfo: ProgressInfo

  """When the operation completed, this property holds the operation result."""
  result: Boolean

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.measurement.ResetSoftwareMeteringTemplatesOperationResult'
"""This object contains information about the async task reset software metering templates"""
type ResetSoftwareMeteringTemplatesOperationResult {
  """Operation execution progress information"""
  progressInfo: ProgressInfo

  """When the operation completed, this property holds the operation result."""
  result: Boolean

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.topology.VLanEntryReference'
"""VLan entry reference for type safety"""
type VLanEntryReference {
  """The unique database id for the VLan entry"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.topology.VLanEntryReference'
"""VLan entry reference for type safety"""
input VLanEntryReferenceInput {
  """The unique database id for the VLan entry"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.topology.WLanEntryReference'
"""WLan entry reference for type safety"""
type WLanEntryReference {
  """The unique database id for the WLan entry"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.mutations.topology.WLanEntryReference'
"""WLan entry reference for type safety"""
input WLanEntryReferenceInput {
  """The unique database id for the WLan entry"""
  id: Long!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.administration.certificate.CertificateRequestOptions'
"""Options to include into a certificate request"""
input CertificateRequestOptions {
  """Flag to indicate whether the desired certificate request should be delivered in PEM encoding (textual form)"""
  shouldMakePEM: Boolean

  """The certificate subject"""
  subject: String

  """The desired certificate subject alternative name"""
  subjectAlternativeNames: [String]

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.administration.certificate.CertificateResult'
"""The result for a certificate query"""
type CertificateResult {
  """The certificate"""
  certificate: CertificateX509

  """The error message in case of errors"""
  errorMessage: String

  """The stack trace for the error"""
  stackTrace: String

  """The request status"""
  status: Status

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.administration.certificate.CertificateX509'
"""Information about a certificate in the certificate store"""
type CertificateX509 {
  """The certificate alias used in the certificate store"""
  aliasName: String

  """The certificate end date"""
  endDate: DateTime

  """The certificate extended key usage"""
  extendedKeyUsage: [String]

  """The certificate issuer"""
  issuer: String

  """The certificate public key information"""
  keyType: PublicKeyEncryptionType

  """The certificate key usage"""
  keyUsage: [CertificateKeyUsage]

  """The certificate serial number"""
  serialNumber: String

  """The certificate signature algorithm"""
  signatureAlgorithm: String

  """The certificate start date"""
  startDate: DateTime

  """The certificate subject"""
  subject: String

  """The certificate subject alternative names"""
  subjectAlternativeNames: [String]

  """The certificate thumbprint"""
  thumbprint: String

  """The certificate version"""
  type: String

  """The certificate version"""
  version: String

  """A flag whether the certificate is valid or not"""
  isValid: Boolean!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.administration.database.ArchiveDatabaseOperationResult'
"""This object contains information about the background operation of database archiving within the Database Management interface.
Generating database archive can be a lengthy operation and the async version can generate database archive in the background. This object can be used to track the progress
and hold the result of the operation."""
type ArchiveDatabaseOperationResult {
  """When the operation completed, this property holds the one time download link for transfer via an download service."""
  databaseArchiveDownloadLink: OneTimeDownloadLink

  """Operation execution progress information"""
  progressInfo: ProgressInfo

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.administration.database.DatabaseManagement'
"""Queries for database management."""
type DatabaseManagement {
  """Query for archive database and provide download link.

Required permissions: Admin"""
  archive(archiveSettings: DatabaseArchiveSettingsInput!): ArchiveDatabaseOperationResult

  """Query discovery database backup jo b.

Required permissions: Admin"""
  discoveryDatabaseBackupJob: ScheduledDatabaseArchiveJob

  """Query discovery database compact job.

Required permissions: Admin"""
  discoveryDatabaseCompactJob: DatabaseCompactScheduledJob

  """Query discovery database credentials.

Required permissions: Admin"""
  discoveryDatabaseCredentials: DiscoveryDatabaseCredentials

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.administration.download.Downloads'
"""GraphQL API for browse of available download links."""
type Downloads {
  """Finds all available download links.

Required permissions: ViewData"""
  findAll: [DownloadLink]

  """Finds downloads information of the files only.

Required permissions: ViewData"""
  findPersistedDownloads: [DownloadLink]

  """Finds downloads information for in-memory objects or generated on the fly objects.

Required permissions: ViewData"""
  findTransientDownloads: [DownloadLink]

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.administration.download.OneTimeDownloadLink'
"""One time download link. The link will be deleted after download will be initiated or after access token expires."""
type OneTimeDownloadLink implements DownloadLink {
  """Generated content ID used to identify downloads content."""
  contentId: UUID

  """Access token for download data.
Provided access token is independent of discovery session and client. The expired time of the token limits content life-time.
"""
  accessToken: String

  """Base download link URL. To build full URL client must append [protocol]://[server]/{baseUrl}/{contentId}.
The URL is protected with Authorization: Bearer [accessToken].
"""
  baseUrl: String

  """The link is valid for the given duration in seconds
"""
  ttlSeconds: Long

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.administration.email.EmailManagement'
"""Queries for database management."""
type EmailManagement {
  """Returns all configured mail accounts

Required permissions: ManageMailAccounts"""
  mailAccounts: [MailAccount]

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.administration.installation.ProductInfo'
"""Product information"""
type ProductInfo {
  """The build number"""
  buildNumber: Int!

  """The company name"""
  companyName: String

  """The product major version"""
  majorVersion: Int!

  """The product major version"""
  minorVersion: Int!

  """The product name"""
  productName: String

  """The product version"""
  version: String

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.administration.integration.Integration'
"""Queries for integrations with other tools (e.g. CMDB, etc.)"""
type Integration {
  """Gets the list of currently registered integrations.

Required permissions: ManageIntegrations, ViewData"""
  findAllRegistrations: [IntegrationRegistration]

  """Gets a registration by its internal database id.

Required permissions: ManageIntegrations, ViewData"""
  findRegistrationByID(id: Long!): IntegrationRegistration

  """Gets a registration by its unique id.

Required permissions: ManageIntegrations, ViewData"""
  findRegistrationByUniqueId(uniqueId: String!): IntegrationRegistration

  """Gets the changes query object

Required permissions: ManageIntegrations, ViewData"""
  changes: IntegrationChanges

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.administration.integration.changes.IntegrationChanges'
"""Change related queries for integrations"""
type IntegrationChanges {
  """Change related queries for integrations

Required permissions: ManageIntegrations, ViewData"""
  deviceChanges: IntegrationDeviceChanges

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.administration.integration.changes.devices.IntegrationDeviceChanges'
"""Device change related queries for integrations"""
type IntegrationDeviceChanges {
  """Find a list of devices that have changes for one of the specified categories

Required permissions: ManageIntegrations, ViewData"""
  findChangedDevicesWithCategories(integrationRegistrationUniqueId: String!, categories: [DiscoveryCategory]!): [DeviceComparison]

  """Find a list of devices having an operating system family that have changes for one of the specified categories

Required permissions: ManageIntegrations, ViewData"""
  findChangedDevicesWithCategoriesAndOsFamily(integrationRegistrationUniqueId: String!, osFamily: String!, categories: [DiscoveryCategory]!): [DeviceComparison]

  """Find a list of devices having an operating system family and parent types (looking down the type hierarchy) that have changes for one of the specified categories

Required permissions: ManageIntegrations, ViewData"""
  findChangedDevicesWithCategoriesAndOsFamilyAndParentTypes(integrationRegistrationUniqueId: String!, osFamily: String!, parentTypes: [DeviceType]!, categories: [DiscoveryCategory]!): [DeviceComparison]

  """Find a list of devices having an operating system family and types that have changes for one of the specified categories

Required permissions: ManageIntegrations, ViewData"""
  findChangedDevicesWithCategoriesAndOsFamilyAndTypes(integrationRegistrationUniqueId: String!, osFamily: String!, types: [DeviceType]!, categories: [DiscoveryCategory]!): [DeviceComparison]

  """Find a list of devices with specific parent types (looking down the type hierarchy) that have changes for one of the specified categories

Required permissions: ManageIntegrations, ViewData"""
  findChangedDevicesWithCategoriesAndParentTypes(integrationRegistrationUniqueId: String!, parentTypes: [DeviceType]!, categories: [DiscoveryCategory]!): [DeviceComparison]

  """Find a list of devices with specific types that have changes for one of the specified categories

Required permissions: ManageIntegrations, ViewData"""
  findChangedDevicesWithCategoriesAndTypes(integrationRegistrationUniqueId: String!, types: [DeviceType]!, categories: [DiscoveryCategory]!): [DeviceComparison]

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.administration.users.UsersManagement'
"""Queries for users management."""
type UsersManagement {
  """Get the group account token info if one exists."""
  groupMemberAccount(name: String!): AccountTokenGroup

  """Gets user permissions groups."""
  groups: [InventoryPermissionsGroup]

  """Get All Users, Users Groups and Permissions Groups info."""
  securityDescriptor: InventorySecurityDescriptor

  """Get the account token info if one exists."""
  userAccount(name: String!): AccountToken

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.configuration.application.ApplicationConfiguration'
"""Queries about application configuration parameters"""
type ApplicationConfiguration {
  """Returns the GraphQL schema string"""
  graphQLSchema: String

  """Gets the license information"""
  licenseInfo: LicenseInfo

  """Gets the license information encoded in the given license string. If the given string is null, it returns the license info of the license installed.

Required permissions: Admin"""
  licenseInfoFromString(licenseStr: String!): LicenseInfo

  """Gets the license request

Required permissions: Admin"""
  licenseRequest: String

  """Gets if current HTTPS certificate is self-signed

Required permissions: ViewData"""
  isSelfSignedCertificate: Boolean!

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.configuration.discovery.DiscoveryConfiguration'
"""Queries about discovery configuration parameters"""
type DiscoveryConfiguration {
  """Gets discovery global settings

Required permissions: ViewData"""
  globalSettings: DiscoverySettings

  """Gets the default values for discovery global settings

Required permissions: ViewData"""
  globalSettingsDefaults: DiscoverySettings

  """Gets the default values for discovery global settings

Required permissions: ViewData"""
  globalSettingsLimits: DiscoverySettingsLimits

  """Gets the password managers related queries

Required permissions: ChangeDiscoverySettings"""
  passwordManagers: PasswordManagersQueries

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.configuration.discovery.passwordManagers.AcebitQueries'
"""AceBIT Depot servers related queries"""
type AcebitQueries {
  """Get the Acebit password depot servers configuration"""
  servers: [AceBITPasswordDepotServer]

  """Test an Acebit password depot server connection"""
  testServer(server: AceBITPasswordDepotServerInput!): TestPasswordManagerResult

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.configuration.discovery.passwordManagers.CyberarkQueries'
"""CyberArk servers related queries"""
type CyberarkQueries {
  """Get the Cyberark servers configuration"""
  servers: [CyberarkServerData]

  """Test a Cyberark server connection"""
  testServer(server: CyberarkServerDataInput!): TestPasswordManagerResult

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.configuration.discovery.passwordManagers.DelineaQueries'
"""Delinea Secret servers related queries"""
type DelineaQueries {
  """Get the Delinea Secret servers configuration"""
  servers: [ThycoticSecretServer]

  """Test a Delinea Secret server connection"""
  testServer(server: ThycoticSecretServerInput!): TestPasswordManagerResult

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.configuration.discovery.passwordManagers.PasswordManagersQueries'
"""Password managers related queries"""
type PasswordManagersQueries {
  """Gets the AceBIT Depot servers related queries

Required permissions: ViewData"""
  aceBIT: AcebitQueries

  """Gets the CyberArk servers related queries

Required permissions: ViewData"""
  cyberArk: CyberarkQueries

  """Gets the Delinea Secret servers related queries

Required permissions: ViewData"""
  delinea: DelineaQueries

  """Get the password management root

Required permissions: ViewData"""
  passwordManagementRoot(forceCleanCache: Boolean!): GetPasswordManagersRootOperationResult

  """Gets the Passwordstate servers related queries

Required permissions: ViewData"""
  passwordstate: PasswordstateQueries

  """Gets the Password Manager Pro (PMP) servers related queries

Required permissions: ViewData"""
  pmp: PmpQueries

  """Get the ssh keys available

Required permissions: ViewData"""
  sshKeys: [SshPublicPrivateKeyData]

  """Tests the given password manager account"""
  testPasswordManagerAccount(account: AccountDataInput!): PasswordManagementStatus

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.configuration.discovery.passwordManagers.PasswordstateQueries'
"""Passwordstate servers related queries"""
type PasswordstateQueries {
  """Get the Passwordstate servers configuration"""
  servers: [PasswordstateServerConnection]

  """Test a Passwordstate server connection"""
  testServer(server: PasswordstateServerConnectionInput!): TestPasswordManagerResult

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.configuration.discovery.passwordManagers.PmpQueries'
"""Password Manager Pro (PMP) servers related queries"""
type PmpQueries {
  """Get the PMP servers configuration"""
  servers: [ManageEnginePMPServer]

  """Test a PMP server connection"""
  testServer(server: ManageEnginePMPServerInput!): TestPasswordManagerResult

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.diagram.DiagramsListTreeNode'
"""A diagram list element tree node representation"""
type DiagramsListTreeNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.diagram.GetDiagramsListRequest'
"""A get diagrams list request"""
type GetDiagramsListRequest {
  """The structureOnly request flag. When true, only folder structure is returned"""
  structureOnly: Boolean!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.diagram.GetDiagramsListRequest'
"""A get diagrams list request"""
input GetDiagramsListRequestInput {
  """The structureOnly request flag. When true, only folder structure is returned"""
  structureOnly: Boolean!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.discovery.DiscoveryJobRun'
"""A discovery job run"""
type DiscoveryJobRun {
  """The duration of the run in seconds"""
  durationInSeconds: Long

  """The end event of this particular run"""
  endEvent: Event

  """The valid flag of the run. A run is valid when both the start event and the completed event exist."""
  isValid: Boolean

  """The start event of this particular run"""
  startEvent: Event

  """When a stop was requested true, otherwise false"""
  stopRequested: Boolean

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.discovery.GetPasswordManagersRootOperationResult'
"""This object contains information about the background task GetPasswordManagersRoot"""
type GetPasswordManagersRootOperationResult {
  """When the operation completed, this property holds passwords root json."""
  passwordManagersRoot: String

  """Operation execution progress information"""
  progressInfo: ProgressInfo

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.discovery.TestPasswordManagerResult'
"""This object contains information about the background operation of testing a password manager connection."""
type TestPasswordManagerResult {
  """Operation execution progress information"""
  progressInfo: ProgressInfo

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.export.ExportJobs'
"""Queries for export jobs."""
type ExportJobs {
  """Lists all export jobs.

Required permissions: ViewData"""
  all: [ReportNetworkExportJob]

  """Lists all export jobs for the given built-in report.

Required permissions: ViewData"""
  byBuiltInReport(builtInReport: BuiltInReport!): [ReportExportJob]

  """Lists all export jobs for the given custom report id.

Required permissions: ViewData"""
  byCustomReportId(customReportId: Long!): [ReportExportJob]

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.export.ExportOperationResult'
"""This object contains information about the background operation of export"""
type ExportOperationResult {
  """When the operation completed, this property holds the one time download link for transfer via an download service."""
  exportDownloadLink: OneTimeDownloadLink

  """Operation execution progress information"""
  progressInfo: ProgressInfo

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.export.ReportCsvExportConfiguration'
"""Input parameters to generate report export file"""
input ReportCsvExportConfiguration {
  """The export configuration for type CSV"""
  exportConfig: CsvExportConfigInput

  """The report configuration"""
  reportConfig: ReportConfig

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.export.ReportExcelExportConfiguration'
"""Input parameters to generate report export file"""
input ReportExcelExportConfiguration {
  """The export configuration for type excel"""
  exportConfig: ExcelExportConfigInput

  """The report configuration"""
  reportConfig: ReportConfig

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.help.HelpExportOperationResult'
"""This object contains information about the background operation of export"""
type HelpExportOperationResult {
  """When the operation completed, this property holds the one time download link for transfer via an download service."""
  exportDownloadLink: OneTimeDownloadLink

  """Operation execution progress information"""
  progressInfo: ProgressInfo

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.help.HelpExportPDFConfig'
"""The Help PDF Export configuration options"""
type HelpExportPDFConfig {
  """Flag to indicate that the export should contain not only the contents of the asked help item but also all linked items, meaning chapters/sections whose links exist on the base item"""
  deepExport: Boolean

  """Flag to indicate that the export should show chapters and sections with numbers"""
  numbered: Boolean

  """Document type: A4 or Letter"""
  paperSizeType: PaperSizeType

  """Flag to indicate that the export be appropriate for print purposes meaning that it shall not contain links"""
  toPrint: Boolean

  """Flag to indicate that the export should contain a Table of Contents"""
  withTOC: Boolean

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.help.HelpExportPDFConfig'
"""The Help PDF Export configuration options"""
input HelpExportPDFConfigInput {
  """Flag to indicate that the export should contain not only the contents of the asked help item but also all linked items, meaning chapters/sections whose links exist on the base item"""
  deepExport: Boolean

  """Flag to indicate that the export should show chapters and sections with numbers"""
  numbered: Boolean

  """Document type: A4 or Letter"""
  paperSizeType: PaperSizeType

  """Flag to indicate that the export be appropriate for print purposes meaning that it shall not contain links"""
  toPrint: Boolean

  """Flag to indicate that the export should contain a Table of Contents"""
  withTOC: Boolean

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.help.HelpExportPDFConfiguration'
"""Input parameters to generate help pdf export file"""
type HelpExportPDFConfiguration {
  """Input parameters regarding the pdf creation"""
  exportConfig: HelpExportPDFConfig

  """Help item id"""
  helpItemId: Long

  """Help item name"""
  helpItemName: String

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.help.HelpExportPDFConfiguration'
"""Input parameters to generate help pdf export file"""
input HelpExportPDFConfigurationInput {
  """Input parameters regarding the pdf creation"""
  exportConfig: HelpExportPDFConfigInput

  """Help item id"""
  helpItemId: Long

  """Help item name"""
  helpItemName: String

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.help.HelpItemsInventory'
"""Queries for help items"""
type HelpItemsInventory {
  """Generates pdf file with a help chapter and returns download link for it."""
  exportHelpChapterItemToPdf(config: HelpExportPDFConfigurationInput!): HelpExportOperationResult

  """Generates pdf file with a help section and returns download link for it."""
  exportHelpSectionItemToPdf(config: HelpExportPDFConfigurationInput!): HelpExportOperationResult

  """Gets a Help Chapter with the provided id if any or name else"""
  helpChapterItem(id: Long, name: String): HelpItem

  """Gets a Help Image with the provided id if any or name else"""
  helpImageItem(id: Long, name: String): HelpItem

  """Gets a Help Paragraph with the provided id if any or name else"""
  helpParagraphItem(id: Long, short_text: String): HelpItem

  """Gets a Help Section with the provided id if any or name else"""
  helpSectionItem(id: Long, name: String): HelpItem

  """Gets a Help Snippet with the provided id if any or name else"""
  helpSnippetItem(id: Long, name: String): HelpItem

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.help.HelpSearch'
"""Queries used to search help content"""
type HelpSearch {
  """Gets all relevant with the query String help results

Internal API"""
  helpResults(queryStr: String!): [HelpSearchResult]

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.importing.devices.DeviceIdentificationResult'
"""When getting data for a report, we get a display value that is targetted for displaying the value in the UI.
The raw value can be used in renderers or in filters if needed."""
type DeviceIdentificationResult {
  """The discovery log object hierarchy."""
  discoveryLog: Object

  """The found device or null"""
  foundDevice: Device

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.importing.devices.DeviceImport'
"""Device import related methods"""
type DeviceImport {
  """Finds a device based on its data.

The findDevice method uses the internal matching algorithms that are also used by the discovery.
The matching algorithm mainly uses mac addresses, ip addresses and serial numbers.

The call returns a result object which contains a log and the found device (if any).
The log contains information about how the device could be found.
"""
  identifyDevice(device: DeviceInput!): DeviceIdentificationResult

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.lookup.EnumerationLookup'
"""Queries enumeration lookups"""
type EnumerationLookup {
  """Gets all device type enumeration entries"""
  deviceTypeEntries: [DeviceTypeEnumEntry]

  """Gets all enumeration entries with their name and corresponding id"""
  enumEntries(enumerationName: String!): [EnumEntry]

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.management.device.DeviceManagement'
"""Queries about device management"""
type DeviceManagement {
  """Generates a ZIP file containing Oracle LMS Data and returns download link for it.

Required permissions: ViewData"""
  exportOracleLmsData(deviceRefs: [DeviceReferenceInput]!): CreateDownloadLinkOperationResult

  """Generates a ZIP file containing all SWID tag files and returns download link for it.

Required permissions: ViewData"""
  exportSwidTagFiles(deviceRefs: [DeviceReferenceInput]!): CreateDownloadLinkOperationResult

  """Gets the device credential management queries."""
  deviceCredentialManagementQueries: DeviceCredentialManagementQueries

  """Initiates an asynchronous ping for the given devices.

Required permissions: ControlDiscovery"""
  pingDevices(request: PingDevicesRequestInput!): PingDevicesOperationResult

  """Initiates an asynchronous ping for the IPs of the given range.

Required permissions: ControlDiscovery"""
  pingIpV4RangeNow(request: PingIpV4RangeRequestInput!): PingIp4RangeOperationResult

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.management.device.credentials.DeviceAccounts'
"""The accounts of a device"""
type DeviceAccounts {
  """The device accounts"""
  deviceAccounts: [DeviceAccount]

  """The device id"""
  deviceId: Long

  """The device name"""
  deviceName: String

  """The device OS family"""
  osFamily: String

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.management.device.credentials.DeviceAccountsRoot'
"""The accounts tree of a device"""
type DeviceAccountsRoot {
  """The device accounts"""
  children: [DeviceAccount]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The root node key"""
  key: String

  """The root node label"""
  label: String

  """The device OS family"""
  osFamily: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.management.device.credentials.DeviceCredentialManagementQueries'
"""Queries about the device credentials"""
type DeviceCredentialManagementQueries {
  """Gets the device accounts

Internal API

Required permissions: ManageDevices"""
  deviceAccountsTree(deviceRef: DeviceReferenceInput!): DeviceAccountsRoot @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.management.device.credentials.TreeNodeData'
"""Tree node data"""
type TreeNodeData {
  """The tree node hasMenu flag"""
  hasMenu: Boolean

  """The tree node menu options"""
  menuOptions: TreeNodeMenuOptions

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.management.device.credentials.TreeNodeMenuOptions'
"""Tree node menu options"""
type TreeNodeMenuOptions {
  """The menu options hasDelete flag"""
  hasDelete: Boolean

  """The menu options hasReset flag"""
  hasReset: Boolean

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.management.document.DocumentManagement'
"""Queries about document management"""
type DocumentManagement {
  """Gets the document

Required permissions: ManageCustomScripts"""
  document(documentRef: DocumentReference!): OneTimeDownloadLink

  """Gets the document tree

Required permissions: ManageCustomScripts"""
  documentTree: DocumentInfoTree

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.management.user.UserManagement'
"""Queries about the user preferences management"""
type UserManagement {
  """Gets current user permissions.
This is the way to get user permissions without {@link InventoryUserRight#Admin}, as opposed to {@link UsersManagement#getPermissions()}.

Required permissions: none
"""
  permissions: [InventoryUserRight]

  """Gets the user preferences queries."""
  preferences: UserPreferences

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.management.user.preferences.UserPreferences'
"""Queries about the user preferences"""
type UserPreferences {
  """Gets the settings object for dashboard items."""
  dashboardPreferences: DashboardPreferences

  """Gets the settings object for the dialog preferences."""
  dialogPreferences: DialogPreferences

  """Gets the WEB UI default diagram label preferences."""
  defaultDiagramLabelPreferences: [DiagramLabelPreference]

  """Gets the WEB UI diagram preferences."""
  diagramPreferences: DiagramPreferences

  """Gets the WEB UI preferences."""
  webUIPreferences: WebUIPreferences

  """Gets the user preferences related to overview dashboard."""
  overviewPreferences: OverviewPreferences

  """Gets the user preferences related to table."""
  tablePreferences: TablePreferences

  """Gets the user preferences related to trees."""
  treePreferences: TreePreferences

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.management.user.preferences.dashboard.DashboardPreferences'
"""Queries for the dashboard user preferences"""
type DashboardPreferences {
  """Gets all dashboard locations for items with a specific id."""
  dashboardLocations(idPrefix: String!): [DashboardItemLocation]

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.management.user.preferences.dialog.DialogPreferences'
"""Queries for the dialog user preferences"""
type DialogPreferences {
  """Returns the dialog preferences for the given dialog ref."""
  commonDialogPreferences(dialogRef: DialogRefInput!): CommonDialogPreferences

  """Returns the dialog preferences for database archive settings for the given dialog ref."""
  databaseArchiveDialogPreferences(dialogRef: DialogRefInput!): DatabaseArchiveDialogPreferences

  """Returns the user export preferences for the given dialog ref."""
  exportPreferencesDialogPreferences(dialogRef: DialogRefInput!): ExportDialogPreferences

  """Returns whether to display a confirmation dialog for a specific dialog id."""
  showConfirmationDialog(dialogId: String!): Boolean!

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.management.user.preferences.overview.OverviewPreferences'
"""Queries for the overview dashboard user preferences"""
type OverviewPreferences {
  """Returns the chart configuration for the given chart configuration reference.

Required permissions: ViewData"""
  chartConfiguration(ref: ChartConfigurationRefInput!): ChartConfiguration

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.management.user.preferences.table.TablePreferences'
"""Queries for the table user preferences"""
type TablePreferences {
  """Returns the table state."""
  tableState(stateKey: String!): JTableState

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.management.user.preferences.tree.TreePreferences'
"""Queries for the tree user preferences"""
type TreePreferences {
  """Returns the tree state."""
  treeState(treeRef: TreeRefInput!): TreeState

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.reporting.CustomReportElementTreeNode'
"""A custom report element tree node representation"""
type CustomReportElementTreeNode {
  """The node active flag"""
  active: Boolean!

  """The allows filter flag"""
  allowsFilter: Boolean!

  """The node field canonical type"""
  canonicalType: String

  """The node fields canonical field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  canonicalValueType: String

  """The node children"""
# use Object for unknown type
  children: [Object]

  """The node column header if any"""
  columnHeader: String

  """The node description"""
  description: String

  """The node field id if any"""
  fieldId: String

  """The node filters"""
  filtersToString: [String]

  """The node id"""
  id: String

  """The node field is enumeration flag"""
  isEnumeration: Boolean

  """The node field is numeric flag"""
  isNumeric: Boolean

  """The node label"""
  label: String

  """The node leaf flag"""
  leaf: Boolean!

  """The node prefix if any"""
  prefix: String

  """The node field value type (e.g. Integer, Boolean, PercentValue, ...)"""
  valueType: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.reporting.CustomReportElementsTree'
"""The custom reports elements tree"""
type CustomReportElementsTree {
  """The serialized element's tree JSON"""
  elementsRoot: CustomReportElementTreeNode

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.reporting.CustomReportsTree'
"""The custom reports tree"""
type CustomReportsTree {
  """The global custom reports JSON"""
  globalCustomReportsJson: String

  """The group custom reports JSON"""
  groupCustomReportsJson: String

  """The private custom reports JSON"""
  privateCustomReportsJson: String

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.reporting.CustomReportsTreeNode'
"""A custom reports tree node representation"""
type CustomReportsTreeNode {
  """The node canDelete flag"""
  canDelete: Boolean!

  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The node description"""
  description: String

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

  """The node type"""
  type: CustomReportType

  """The node visibility"""
  visibility: CustomReportVisibility

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.reporting.DeviceGroupsNode'
"""A device groups node"""
type DeviceGroupsNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.reporting.DeviceTypeTreeNode'
"""A device type tree node representation"""
type DeviceTypeTreeNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node id"""
  code: String

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The node leaf flag"""
  leaf: Boolean!

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.reporting.DeviceTypesTree'
"""The device types tree"""
type DeviceTypesTree {
  """The serialized device types' tree JSON"""
  deviceTypesRoot: String

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.reporting.ScheduledReporting'
"""Queries for scheduled reporting."""
type ScheduledReporting {
  """Returns all unique configured recipient mail accounts

Required permissions: ViewData"""
  mailRecipients: [MailRecipient]

  """Returns all nwtwork locations

Required permissions: ViewData, ScheduleReports"""
  storageLocations: [NetworkStorageLocation]

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.reporting.SqlQueryResult'
"""The result for an sql query"""
type SqlQueryResult {
  """The error message in case of errors"""
  errorMessage: String

  """The stack trace for the error"""
  stackTrace: String

  """The sql check status"""
  success: Boolean!

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.reporting.actions.ReportActions'
"""The ReportActions interface is used by the WEB UI to get the report description and filters for open report actions defined in report descriptions"""
type ReportActions {
  """This call gets the details for the open report action based on cached scalar data.
The reportCacheId must refer to a valid reportCacheId for a scalar report. The index refers to the index of the data link within the value list"""
  scalarReportAction(reportCacheId: String, valueIndex: Int): ReportActionInterface

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.reporting.customattributes.DeviceCustomAttributeValuesContainer'
"""A device to custom attribute values container"""
type DeviceCustomAttributeValuesContainer {
  """The device reference"""
  device: DeviceReference

  """The custom attribute reference value"""
  values: [CustomAttributeReferenceValue]

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.reporting.customattributes.DeviceCustomAttributeValuesContainer'
"""A device to custom attribute values container"""
input DeviceCustomAttributeValuesContainerInput {
  """The device reference"""
  device: DeviceReferenceInput

  """The custom attribute reference value"""
  values: [CustomAttributeReferenceValueInput]

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.reporting.file.FileContentResult'
"""The result when getting file content data from the reporting service"""
type FileContentResult {
  """The list of the flattened file content lines"""
  contentLines: [String]

  """The report cache id for this file report"""
  reportCacheId: String

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.reporting.file.FileReportConfig'
"""The report config when getting file reports from the server"""
input FileReportConfigInput {
  """The filename"""
  filename: String!

  """The list of filters"""
  filters: [FieldFilterInput]

  """The report id"""
  report: BuiltInReport

  """The report cache id. Reports can be cached. When using the cacheId, then the server gets the cached report. Otherwise, it gets the report from the database."""
  reportCacheId: String

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.reporting.filters.ReportingFilter'
"""Queries about reporting filters (used mainly by the WEB UI)"""
type ReportingFilter {
  """Gets the list of application references from a cached report based on the selected indexes

Required permissions: ViewData"""
  applicationReferencesForRows(instanceId: String!, selectedIndexes: [Int]): [ApplicationReference]

  """Gets the list of filters for the selected rows and the instance id

Required permissions: ViewData"""
  filtersForSelectedRows(instanceId: String!, selectedRowIndexes: [Int]): [FieldFilter]

  """Gets the list of ids from a cached report based on the selected indexes and given id field

Required permissions: ViewData"""
  idsForRows(instanceId: String!, selectedIndexes: [Int], idField: IdFieldDescriptionInput!): [Long]

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.reporting.scalar.ScalarResult'
"""The result for a scalar data request"""
type ScalarResult {
  """The query which created this report. Null if there is none..."""
  query: String

  """The report cache id"""
  reportCacheId: String

  """The report description for this report"""
  reportDescription: ScalarReportDescription

  """The list of scalar values. The list might include empty entries. This is used to indicate in the UI to add an additional space between two scalar values"""
  values: [ScalarReportData]

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.reporting.table.CustomReportConfigFull'
"""The report configuration when getting table data from the server"""
input CustomReportConfigFullInput {
  """The built-in report"""
  builtInReport: BuiltInReport

  """The custom report description as constructed to the ui side"""
  customReportDescr: CustomReportDescriptionBaseInput

  """The report id"""
  customReportId: Long

  """When true, a row which contains multiline cells will be expanded to separate rows"""
  expandMultilineRows: Boolean

  """The list of filters"""
  filters: [FieldFilterInput]

  """The user specific column order and visibility"""
  orderedVisibleColumns: [FieldDescriptionInput]

  """The paging configuration. When null, then it returns all data"""
  paging: PagingInput

  """The report cache id. Reports can be cached. When using the cacheId, then the server gets the cached report. Otherwise, it gets the report from the database."""
  reportCacheId: String

  """The paging configuration. When null, then it returns all data"""
  searchConfig: SearchConfigurationInput

  """The sort configuration"""
  sortConfiguration: [SortEntryInput]

  """The config type"""
  type: ReportConfigType

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.reporting.table.ReportConfig'
"""Report configuration"""
input ReportConfig {
  """The built-in report"""
  builtInReport: BuiltInReport

  """The report id"""
  customReportId: Long

  """When true, a row which contains multiline cells will be expanded to separate rows"""
  expandMultilineRows: Boolean

  """The list of filters"""
  filters: [FieldFilterInput]

  """The user specific column order and visibility"""
  orderedVisibleColumns: [FieldDescriptionInput]

  """The paging configuration. When null, then it returns all data"""
  paging: PagingInput

  """The report cache id. Reports can be cached. When using the cacheId, then the server gets the cached report. Otherwise, it gets the report from the database."""
  reportCacheId: String

  """The paging configuration. When null, then it returns all data"""
  searchConfig: SearchConfigurationInput

  """The sort configuration"""
  sortConfiguration: [SortEntryInput]

  """The config type"""
  type: ReportConfigType

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.reporting.table.TableDataResult'
"""The result when getting table data from the reporting service"""
type TableDataResult {
  """When the report gets called with an page offset which is outside the table data, then we return the last 25 rows and adjust the actual offset"""
  actualOffset: Int!

  """The rows within a table (based on the selected paging, sorting and other settings)"""
  rows: [[Object]]

  """The number of total rows in the table (based on the selected searching, filtering, and other settings)"""
  totalRows: Int!

  """The number of currently visible rows based on the search settings.
Note that entering search strings can reduce the number of visible rows in table because
rows not matching the search criteria are removed from the actual result."""
  visibleRows: Int!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.reporting.table.TableResult'
"""The result for a table data request"""
type TableResult {
  """The query which created this report"""
  query: String

  """The report cache id"""
  reportCacheId: String

  """The report description for this report"""
  reportDescription: TableReportDescription

  """The table data"""
  tableData: TableDataResult

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.reporting.tree.ReportingTreeNode'
"""A node within a tree report result - used internally by the WEB UI"""
type ReportingTreeNode {
  """The list of filters to add to the report when displaying the report"""
  filters: [FieldFilter]

  """The icon key when rendering the entry"""
  iconKey: IconKey

  """The id of the flattened tree node"""
  id: Int

  """A flag whether to include the unitFilter when requesting a report"""
  includeUnitFilter: Boolean

  """The label to display for this node"""
  label: String

  """The id of the parent node"""
  parentId: Int

  """A report description that describes the report to display when selecting this node"""
  reportDescription: ReportDescription

  """The tooltip to display for this node"""
  tooltip: String

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.reporting.tree.TreeReportConfig'
"""The report config when getting tree reports from the server"""
input TreeReportConfigInput {
  """The list of filters"""
  filters: [FieldFilterInput]

  """The report id"""
  report: BuiltInReport

  """The report cache id. Reports can be cached. When using the cacheId, then the server gets the cached report. Otherwise, it gets the report from the database."""
  reportCacheId: String

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.reporting.tree.TreeResult'
"""The result when getting tree data from the reporting service"""
type TreeResult {
  """The list of the flattened tree nodes"""
  flatNodeList: [ReportingTreeNode]

  """The report cache id for this tree report"""
  reportCacheId: String

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.security.ssh.SshConfiguration'
"""Queries about SSH algorithm configuration"""
type SshConfiguration {
  """Gets SSH cipher algorithm related information

Required permissions: ViewData"""
  sshCipherAlgorithms: SshCiphers @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Gets SSH key-exchange algorithm related information

Required permissions: ViewData"""
  sshKeyExchangeAlgorithms: SshKeyExchangeAlgorithms @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Gets SSH MAC algorithm related information

Required permissions: ViewData"""
  sshMacAlgorithms: SshMacAlgorithms @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.status.discovery.Discovery'
"""The discovery status object"""
type Discovery {
  """Gets the discovery status object. This object holds the current state of the discovery process."""
  status(statusArea: DiscoveryStatusArea!): DiscoveryStatusData

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.troubleshooting.extendedLogging.ExtendedInventoryLogging'
"""Queries related to current inventory logging items"""
type ExtendedInventoryLogging {
  """Gets all the enabled detailed inventory and webui loggers"""
  loggers: [String]

  """Gets all the enabled predefined inventory and webui logging items"""
  loggingItems: [PredefinedLoggingItem]

  """Gets a list of detailed loggers related to the list of predefined logging items that are given"""
  resolveLoggers(loggingItems: [PredefinedLoggingItem]!): [String]

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.troubleshooting.supporzip.ExportSupportZipOperationResult'
"""This object contains information about the background operation of support Zip within the Troubleshooting interface.
Generating support Zip can be a lengthy operation and the async version can generate support Zip in the background. This object can be used to track the progress
and hold the result of the operation."""
type ExportSupportZipOperationResult {
  """Operation execution progress information"""
  progressInfo: ProgressInfo

  """When the operation completed, this property holds the one time download link for transfer via an download service."""
  supportZipDownloadLink: OneTimeDownloadLink

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.query.troubleshooting.supporzip.SupportZipParameters'
"""Input parameters to generate support Zip"""
input SupportZipParameters {
  """Comment to identify reason for support zip"""
  comment: String

  """List of devices to be included in the support zip"""
  devices: [DeviceReferenceInput]

  """Include license in the support zip"""
  exportLicense: Boolean!

  """Include logged exceptions report in the support zip"""
  exportLoggedErrorsReport: Boolean!

  """Include logs in the support zip"""
  exportLogs: Boolean!

  """Include SNMP walks for SNMP devices"""
  exportSnmpWalksForSnmpDevices: Boolean!

  """Include troubleshooting reports in the support zip"""
  exportTroubleshootingReports: Boolean!

  """Include all unknown items reports (like unknown SNMP device, unknown PNP devices, etc."""
  exportUnknownXyzItems: Boolean!

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.virtualization.CloudFoundry'
"""Queries for CloudFoundry related items"""
type CloudFoundry {
  """CloudFoundry organizations related.

Required permissions: ViewData"""
  organizations: Organizations @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.subscriptions.login.PongRequest'
"""Ping request"""
type PongRequest {
  """Backend last seen alive timestamp"""
  backendLastAlive: DateTime

  """Backend connection attempts"""
  backendReconnectAttempts: Int

  """Backend session status"""
  backendState: SessionState

  """Frontend last seen alive timestamp"""
  frontendLastAlive: DateTime

  """Frontend connection attempts"""
  frontendReconnectAttempts: Int

  """Frontend session status"""
  frontendState: SessionState

  """Application mode"""
  startMode: ApplicationStartMode

  """Application most recent change mode comment"""
  startModeChangeComment: String

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.subscriptions.update.UpdateTopicPayload'
"""Update Topic Payload wrapper class"""
type UpdateTopicPayload {
  """Error flag"""
  hasError: Boolean!

  """JSON payload"""
  payload: TopicUpdate

  """JSON payload type, should be the same as payload.__typename"""
  type: String

  """Unique identifier of the message"""
  uuid: String

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.subscriptions.update.UpdateTopicSubscriptionOptions'
"""The update topic subscription options"""
type UpdateTopicSubscriptionOptions {
  """The client id"""
  clientId: String

  """The share topic flag. If true, runners will be shared among clients."""
  shareTopicRunner: Boolean!

  """The topic to subscribe for updates"""
  updateTopic: UpdateTopic

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.subscriptions.update.UpdateTopicSubscriptionOptions'
"""The update topic subscription options"""
input UpdateTopicSubscriptionOptionsInput {
  """The client id"""
  clientId: String

  """The share topic flag. If true, runners will be shared among clients."""
  shareTopicRunner: Boolean!

  """The topic to subscribe for updates"""
  updateTopic: UpdateTopic

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.subscriptions.update.model.DialogLockStatus'
"""DialogLockStatus"""
type DialogLockStatus {
  """The dialog id"""
  dialogId: DialogLockId

  """The lock owning flag. When true, lock is owned"""
  isLockOwned: Boolean

  """The lock owner host"""
  lockHost: String

  """The lock owner username"""
  lockOwner: String

  """The remaining lock duration in seconds"""
  remainingLockDurationInSeconds: Long

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.subscriptions.update.model.DialogLockStatusTopicUpdate'
"""DialogLockStatusTopicUpdate"""
type DialogLockStatusTopicUpdate {
  """Lock statuses"""
  lockStatuses: [DialogLockStatus]

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.subscriptions.update.model.DiscoveryStatusCloudTopicUpdate'
"""DiscoveryStatusCloudTopicUpdate"""
type DiscoveryStatusCloudTopicUpdate {
  """discoveryCloudStatus"""
  discoveryCloudStatus: DiscoveryCloudStatus

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.subscriptions.update.model.DiscoveryStatusDevicesDetailsTopicUpdate'
"""DiscoveryStatusDevicesTopicUpdate"""
type DiscoveryStatusDevicesDetailsTopicUpdate {
  """A collection of all devices being discovered"""
  devices: [DeviceDiscoveryStatus]

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.subscriptions.update.model.DiscoveryStatusDevicesTopicUpdate'
"""DiscoveryStatusDevicesTopicUpdate"""
type DiscoveryStatusDevicesTopicUpdate {
  """avgDiscoveryTimeInMilliseconds"""
  avgDiscoveryTimeInMilliseconds: Long!

  """currentDevicesCount"""
  currentDevicesCount: Int!

  """devicesInDb"""
  devicesInDb: Int!

  """lastAction"""
  lastAction: String

  """manuallyTriggeredPendingTasks"""
  manuallyTriggeredPendingTasks: Int!

  """manuallyTriggeredProcessedTasks"""
  manuallyTriggeredProcessedTasks: Int!

  """maxDevices"""
  maxDevices: Int!

  """Queue status"""
  queueStatus: DiscoveryQueueStatus

  """blockedTasks due to a blackout period"""
  scheduledBlockedTasks: Int!

  """scheduledPendingTasks"""
  scheduledPendingTasks: Int!

  """scheduledProcessedTasks"""
  scheduledProcessedTasks: Int!

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.subscriptions.update.model.DiscoveryStatusDirectoryTopicUpdate'
"""DiscoveryStatusDirectoryTopicUpdate"""
type DiscoveryStatusDirectoryTopicUpdate {
  """directoryQueueStatus"""
  directoryQueueStatus: DirectoryQueueStatus

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.subscriptions.update.model.DiscoveryStatusDiscoveryJobsCycleSummary'
"""A summary of a discovery job"""
type DiscoveryStatusDiscoveryJobsCycleSummary {
  """The description of the discovery job"""
  description: String

  """The state of the discovery job"""
  enabled: Boolean

  """The id of the discovery job"""
  id: Long

  """The last duration in ms of the discovery job"""
  lastDurationInMs: Long

  """The last finish date of the discovery job"""
  lastFinished: DateTime

  """The last start date of the discovery job"""
  lastStarted: DateTime

  """The name of the discovery job"""
  name: String

  """The next run date of the discovery job"""
  nextRun: DateTime

  """The next run in ms of the discovery job"""
  nextRunInMs: Long

  """The status of the discovery job"""
  status: TaskStatus

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.subscriptions.update.model.DiscoveryStatusDiscoveryJobsTopicUpdate'
"""DiscoveryStatusDiscoveryJobsTopicUpdate"""
type DiscoveryStatusDiscoveryJobsTopicUpdate {
  """A collection of all discovery cycles statuses"""
  discoveryJobs: [DiscoveryStatusDiscoveryJobsCycleSummary]

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.subscriptions.update.model.DiscoveryStatusLdapSyncTopicUpdate'
"""DiscoveryStatusLdapSyncTopicUpdate"""
type DiscoveryStatusLdapSyncTopicUpdate {
  """ldapSynchronizerStatus"""
  ldapSynchronizerStatus: LdapObjectDbSynchronizerControllerStatus

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.subscriptions.update.model.DiscoveryStatusMeasurementTopicUpdate'
"""DiscoveryStatusMeasurementTopicUpdate"""
type DiscoveryStatusMeasurementTopicUpdate {
  """measurementStatus"""
  measurementStatus: MeasurementStatus

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.subscriptions.update.model.DiscoveryStatusNetworkNeighborhoodTopicUpdate'
"""DiscoveryStatusNetworkNeighborhoodTopicUpdate"""
type DiscoveryStatusNetworkNeighborhoodTopicUpdate {
  """domainQueueStatus"""
  domainQueueStatus: DomainQueueStatus

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.subscriptions.update.model.DiscoveryStatusOverallProcessSummaryTopicUpdate'
"""DiscoveryStatusOverallProcessSummaryTopicUpdate"""
type DiscoveryStatusOverallProcessSummaryTopicUpdate {
  """isActive"""
  isActive: Boolean

  """Process status"""
  processStatus: DiscoveryProcessStatus

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.subscriptions.update.model.DiscoveryStatusOverallProcessTopicUpdate'
"""DiscoveryStatusOverallProcessTopicUpdate"""
type DiscoveryStatusOverallProcessTopicUpdate {
  """isActive"""
  isActive: Boolean

  """last action"""
  lastAction: String

  """Process status"""
  processStatus: DiscoveryProcessStatus

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.subscriptions.update.model.DiscoveryStatusPingTopicUpdate'
"""DiscoveryStatusPingTopicUpdate"""
type DiscoveryStatusPingTopicUpdate {
  """addressesPingedDJ"""
  addressesPingedDJ: Long!

  """addressesToPingDJ"""
  addressesToPingDJ: Long!

  """addressesToPingManuallyTriggered"""
  addressesToPingManuallyTriggered: Long!

  """isActive"""
  isActive: Boolean

  """lastMessage"""
  lastMessage: String

  """pendingIpRangesDJ"""
  pendingIpRangesDJ: Long!

  """pendingIpRangesManuallyTriggered"""
  pendingIpRangesManuallyTriggered: Long!

  """pendingNetworksDJ"""
  pendingNetworksDJ: Long!

  """pendingNetworksManuallyTriggered"""
  pendingNetworksManuallyTriggered: Long!

  """The ping range status collection"""
  pingRanges: [PingRangeStatus]

  """processedIpRangesDJ"""
  processedIpRangesDJ: Long!

  """processedNetworksDJ"""
  processedNetworksDJ: Long!

  """Queue status"""
  queueStatus: DiscoveryQueueStatus

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.subscriptions.update.model.ErrornousTopicUpdate'
"""The update topic to report an error to the client side"""
type ErrornousTopicUpdate {
  """Error message"""
  message: String

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.async.BooleanOperationResult'
"""An async task result of type Boolean"""
type BooleanOperationResult {
  """Operation execution progress information"""
  progressInfo: ProgressInfo

  """When the operation completed, this property holds the operation result."""
  result: Boolean

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.resolver.mutation.customattributes.ImportCustomAttributeValuesOperationResult'
"""This object contains information about the background operation of import"""
type ImportCustomAttributeValuesOperationResult {
  """Operation execution progress information"""
  progressInfo: ProgressInfo

  """When the operation completed, this property holds the operation results"""
  results: [CustomAttributeImportResult]

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.resolver.query.management.device.account.DeviceAccount'
"""A device account"""
type DeviceAccount {
  """The device account"""
  account: IAccount

  """The device account type"""
  accountType: AccountType

  """The device account"""
  children: [DeviceAccount]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The account's is valid flag."""
  isValid: Boolean

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The account's read only flag. eg. LAPS accounts"""
  readOnly: Boolean

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.resolver.query.reporting.customattributes.CustomAttributeNode'
"""A custom attribute node"""
type CustomAttributeNode {
  """Children of a tree node"""
# use Object for unknown type
  children: [Object]

  """The node data"""
  data: Object

  """The node data type"""
  dataType: GraphQLNodeDataType

  """The tree node draggable flag"""
  draggable: Boolean

  """The tree node droppable flag"""
  droppable: Boolean

  """The tree node expanded flag"""
  expanded: Boolean

  """The tree node icon"""
  icon: IconKey

  """The tree node key"""
  key: String

  """The tree node label"""
  label: String

  """The tree node selectable flag"""
  selectable: Boolean

  """The tree node style"""
  style: String

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.webui.server.graphql.resolver.query.reporting.customattributes.CustomAttributesTree'
"""The custom reports elements tree"""
type CustomAttributesTree {
  """The root node name"""
  name: String

  """The custom attributes"""
# use Object for unknown type
  nodes: [Object]

# use Object for unknown type
}

# Mapping for Java class 'com.jdisc.webui.server.properties.EndOfLifeProperties'
"""The end of life feature server properties"""
type EndOfLifeProperties {
  """The support expiration threshold in days under which a product is considered 'expires soon'"""
  expirationThresholdInDays: Int

  """The date set when the end of life support of a product is not announced yet"""
  notYetAnnouncedDate: DateTime

}

# Mapping for Java class 'com.jdisc.webui.server.properties.ServerProperties'
"""The server properties"""
type ServerProperties {
  """The end of life feature relevant server properties."""
  endOfLifeProperties: EndOfLifeProperties

}

# Mapping for Java class 'com.jdisc.webui.server.service.help.BaseHelpContent'
"""Base Help Content"""
type BaseHelpContent {
  """content component type"""
  component_type: String

  """content id"""
  id: Long

}

# Mapping for Java class 'com.jdisc.webui.server.service.help.BaseHelpItemAttributes'
"""Base Help Item Attributes"""
type BaseHelpItemAttributes {
  """Created At"""
  createdAt: String

  """Updated At"""
  updatedAt: String

}

# Mapping for Java class 'com.jdisc.webui.server.service.help.HelpContent'
"""Help Content"""
type HelpContent {
  """content component type"""
  component_type: String

  """List of contents for links"""
  contentsTable: [String]

  """Embed Video url"""
  embed_url: String

  """Has link icon"""
  has_icon: Boolean

  """Child or Link chapter"""
  help_chapter: HelpData

  """Child or Link image"""
  help_image: HelpData

  """Child or Link paragraph"""
  help_paragraph: HelpData

  """Child or Link section"""
  help_section: HelpData

  """Paragraph icon name"""
  icon_name: IconKey

  """content id"""
  id: Long

  """Image data"""
  image: MediaData

  """Image/Embed Video label"""
  label: String

  """TOC level"""
  level: String

  """Link description text"""
  link_description: String

  """Link text"""
  link_text: String

  """Header or chapter or section number"""
  numberStr: String

  """Is Header or TOC or chapter or section numbered"""
  numbered: Boolean

  """Child report column ( snippet content mainly )"""
  report_column: HelpData

  """Paragraph actual text"""
  rich_text: String

  """Paragraph severity: if set, the paragraph is rendered as a card panel"""
  severity: String

  """Header text"""
  text: String

  """Divider type"""
  type: String

  """Image/Embed Video width factor"""
  width_factor: Int

}

# Mapping for Java class 'com.jdisc.webui.server.service.help.HelpData'
"""Help Data"""
type HelpData {
  """Help Item Data"""
  data: HelpItem

}

# Mapping for Java class 'com.jdisc.webui.server.service.help.HelpDataArray'
"""Help Data"""
type HelpDataArray {
  """Help Item Data"""
  data: [HelpItem]

}

# Mapping for Java class 'com.jdisc.webui.server.service.help.HelpItem'
"""General Help Item"""
type HelpItem {
  """attributes"""
  attributes: HelpItemAttributes

  """id"""
  id: Long

}

# Mapping for Java class 'com.jdisc.webui.server.service.help.HelpItemAttributes'
"""General Help Item Model Attributes"""
type HelpItemAttributes {
  """contents"""
  contents: [HelpContent]

  """Created At"""
  createdAt: String

  """icon name"""
  icon_name: IconKey

  """image data"""
  image: MediaData

  """image label"""
  label: String

  """locale"""
  locale: String

  """name"""
  name: String

  """paragraph whole text"""
  rich_text: String

  """paragraph severity: if set, the paragraph is rendered as a card panel"""
  severity: String

  """paragraph short text"""
  short_text: String

  """subtitle"""
  subtitle: String

  """title"""
  title: String

  """Updated At"""
  updatedAt: String

}

# Mapping for Java class 'com.jdisc.webui.server.service.help.HelpListData'
"""Help List Data"""
type HelpListData {
  """Help List Items Data"""
  data: [HelpItem]

}

# Mapping for Java class 'com.jdisc.webui.server.service.help.MediaAttributes'
"""Help Media Attributes"""
type MediaAttributes {
  """Media alternative text"""
  alternativeText: String

  """Caption"""
  caption: String

  """contents"""
  contents: [HelpContent]

  """Created At"""
  createdAt: String

  """Media Extension"""
  ext: String

  """Media hash"""
  hash: String

  """Media Height"""
  height: Float

  """icon name"""
  icon_name: IconKey

  """image data"""
  image: MediaData

  """image label"""
  label: String

  """locale"""
  locale: String

  """Media mime"""
  mime: String

  """name"""
  name: String

  """Provider"""
  provider: String

  """paragraph whole text"""
  rich_text: String

  """paragraph severity: if set, the paragraph is rendered as a card panel"""
  severity: String

  """paragraph short text"""
  short_text: String

  """subtitle"""
  subtitle: String

  """title"""
  title: String

  """Updated At"""
  updatedAt: String

  """Media url"""
  url: String

  """Media width"""
  width: Float

}

# Mapping for Java class 'com.jdisc.webui.server.service.help.MediaData'
"""Media Data"""
type MediaData {
  """Media Data"""
  data: MediaItem

}

# Mapping for Java class 'com.jdisc.webui.server.service.help.MediaItem'
"""General Media Item"""
type MediaItem {
  """attributes"""
  attributes: MediaAttributes

  """id"""
  id: Long

}

# Mapping for Java class 'com.jdisc.webui.server.service.help.search.HelpSearchResult'
"""General Help Search Result"""
type HelpSearchResult {
  """A cation for the Help Item"""
  caption: String

  """An icon for the Help Item"""
  icon: String

  """Contained into results"""
  includedIn: [HelpSearchResultOccurrence]

  """Help Item Id where the result occurs"""
  sourceId: Long!

  """Help Item Table where the result occurs"""
  sourceTable: String

  """The result's whole text where the search found a match"""
  text: String

}

# Mapping for Java class 'com.jdisc.webui.server.service.help.search.HelpSearchResultOccurrence'
"""Help Search Result Occurrence"""
type HelpSearchResultOccurrence {
  """A cation for the Help Item"""
  caption: String

  """An icon for the Help Item"""
  icon: String

  """Help Item Id where the result occurs"""
  sourceId: Long!

  """Help Item Table where the result occurs"""
  sourceTable: String

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.attributes.custom.DeviceAttributeRepository'
"""This type provides device custom attributes related queries"""
type DeviceAttributes {
  """Find all device attributes"""
  findAll: [DeviceAttribute] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find device attributes by deviceId and customAttributeId"""
  findByDeviceAndAttribute(deviceRef: DeviceReferenceInput, customAttributeRef: CustomAttributeReferenceInput): [DeviceAttribute] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find a device attribute by id"""
  findByID(id: Long): DeviceAttribute @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.inventory.jpa.repositories.scheduledtasks.ScheduledTasksRepository'
"""This type provides device scheduled tasks related queries"""
type ScheduledTasks {
  """Find all scheduled task entries"""
  findAll: [ScheduledTask] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find devices by id"""
  findByID(id: Long): ScheduledTask @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.administration.Administration'
"""Queries for administration purposes"""
type Administration {
  """Get current released build number

Required permissions: ViewData"""
  currentBuildNumber: String

  """Queries for database management.

Required permissions: Admin"""
  databaseManagement: DatabaseManagement

  """Returns download information

Required permissions: ViewData"""
  downloads: Downloads

  """Queries for email management

Required permissions: ViewData"""
  emailManagement: EmailManagement

  """Get the timestamp of the last update time of the End-of-Life db

Required permissions: ViewData"""
  endOfLifeDbLastUpdateTime: DateTime

  """Queries for registered integrations (like CMDB, software license management tools etc.).

Required permissions: ManageIntegrations"""
  integrations: Integration

  """Queries for registered integrations (like CMDB, software license management tools etc.)."""
  productInfo: ProductInfo

  """Queries for users management.

Required permissions: Admin"""
  usersManagement: UsersManagement

  """Parses a certificate byte stream and returns the certificate info (if there is some).

Required permissions: ViewData, Admin"""
  parseWebServerCertificate(certificateBytes: [Int]!, privateKeyBytes: [Int], password: String): CertificateResult

  """Gets the current certificate information used for the WEB server.

Required permissions: ViewData, Admin"""
  webServerCertificate: CertificateX509

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.configuration.Configuration'
"""Queries about configuring objects"""
type Configuration {
  """Gets the application configuration queries"""
  applicationConfiguration: ApplicationConfiguration

  """Gets the custom attribute configuration queries

Required permissions: ViewData, EditCustomAttributes"""
  customAttributes: CustomAttributes @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Gets the discovery configuration queries"""
  discovery: DiscoveryConfiguration

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.diagram.DiagramQueries'
"""Diagram related queries"""
type DiagramQueries {
  """Get the diagram for the given diagram description

Internal API

Required permissions: ViewData"""
  diagram(description: JDiagramDescriptionInput!, diagramPreferences: DiagramPreferencesInput!): JDiagram @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Get the diagram instance for the given reference.

Internal API

Required permissions: ViewData"""
  diagramInstance(ref: JDiagramInstanceReferenceInput!): JDiagramInstance @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Get the diagram node label preference keys tree

Internal API"""
# use Object for com.jdisc.inventory.common.diagram.DiagramLabelPreferenceKeyNode
# use Object for com.jdisc.inventory.common.diagram.DiagramLabelPreferenceKeyNode
  diagramLabelPreferenceKeysTree: [Object]

  """Get the diagrams list tree.

Internal API

Required permissions: ViewData"""
  diagramsListTree(request: GetDiagramsListRequestInput!): String @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Get the graph entity metamodel for the given entity id. If no id is given, then the complete metamodel is returned.

Internal API

Required permissions: ViewData"""
  metamodel(id: DiagramEntityId): [DiagramEntityMetamodel]

# use Object for com.jdisc.inventory.common.diagram.DiagramLabelPreferenceKeyNode
# use Object for com.jdisc.inventory.common.diagram.DiagramLabelPreferenceKeyNode
}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.discovery.DiscoveryQueries'
"""Queries for discovery related items"""
type DiscoveryQueries {
  """Gets device groups information

Required permissions: ViewData"""
  deviceGroups: DeviceGroups @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Gets the directory device queue related queries.

Required permissions: ViewData"""
  deviceQueueItems: DeviceQueueQueries @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Get the discovery job runs which corresponds to the given discovery job reference

Required permissions: ViewData"""
  discoveryJobRuns(discoveryJobReference: DiscoveryJobReference!): [DiscoveryJobRun]

  """Get the discovery job run and blackout schedule which corresponds to the given discovery job reference"""
  discoveryJobSchedule(discoveryJobReference: DiscoveryJobReference!): Schedule @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Gets the directory related queries.

Required permissions: ViewData"""
  discoveryJobs: DiscoveryJobs @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Gets device group rules information

Required permissions: ViewData"""
  groupRules: DeviceGroupsRules @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Gets scheduled job

Required permissions: ViewData"""
  scheduledJobs: ScheduledJobs @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.event.EventQueries'
"""Queries for event related items"""
type EventQueries {
  """Gets the device deletion event related queries.

Required permissions: ViewData"""
  deviceDeletionEvents: DeviceDeletions @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Gets the event related queries.

Required permissions: ViewData"""
  events: Events @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.export.Export'
"""Queries for exporting data."""
type Export {
  """Generates export file with report data and returns download link for it.

Required permissions: ViewData"""
  exportCsvReport(exportConfiguration: ReportCsvExportConfiguration!): ExportOperationResult

  """Generates export file with report data and returns download link for it.

Required permissions: ViewData"""
  exportExcelReport(exportConfiguration: ReportExcelExportConfiguration!): ExportOperationResult

  """Export jobs related queries.

Required permissions: ViewData"""
  jobs: ExportJobs

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.help.HelpInventory'
"""Queries for help items."""
type HelpInventory {
  """Queries for help items."""
  helpItemsInventory: HelpItemsInventory

  """Queries used to search help content."""
  helpSearch: HelpSearch

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.importing.Import'
"""Queries regarding importing items (devices, networks, ...)"""
type Import {
  """Gets the device import related queries."""
  devices: DeviceImport

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.lookup.Lookup'
"""Lookup queries for enumerations and types"""
type Lookup {
  """Gets the application configuration queries"""
  enumerationLookup: EnumerationLookup

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.management.Management'
"""Queries about managing objects"""
type Management {
  """Gets the device management queries."""
  devices: DeviceManagement

  """Gets the document management queries."""
  documents: DocumentManagement

  """Gets the user management queries."""
  users: UserManagement

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.measurement.MeasurementQueries'
"""Queries about measurement"""
type MeasurementQueries {
  """Gets the software metering template configuration for the given device.

Required permissions: ChangeMeasurementConfiguration"""
  softwareMeteringTemplateConfiguration(ref: DeviceReferenceInput!): SoftwareMeteringTemplateConfiguration

  """Gets the software metering templates.

Required permissions: ChangeMeasurementConfiguration"""
  softwareMeteringTemplates(baseInfoOnly: Boolean!): [SoftwareMeteringTemplate]

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.misc.MiscQueries'
"""Miscellaneous queries"""
type MiscQueries {
  """Gets the list of unique items for a JPQ entity. You can either use one attribute or any number of attributes.

Required permissions: ViewData"""
  distinctItems(entity: String!, attributes: [String]!): [[String]]

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.monitoring.Monitoring'
"""The monitoring API lets you query the application's health and operation parameters"""
type Monitoring {
  """The web server caches information in order to speed up the client operation.
This call returns the list of caches together with the number of entries.

Constantly growing cache sizes are an indication for a memory leak!"""
  cacheStatistics: [CacheStatisticsEntry]

  """Gets information about the memory usage in the discovery server"""
  discoveryServerMemoryStatistics: MemoryStatistics

  """Gets the list of file systems together with their sizes"""
  fileSystems: [FileSystemEntry]

  """Gets information about the memory usage in the WEB server"""
  webServerMemoryStatistics: MemoryStatistics

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.networking.Networking'
"""Queries for networking related items"""
type Networking {
  """Gets the directory related queries.

Required permissions: ViewData"""
  directories: Directories @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Gets the IP4 network related queries.

Required permissions: ViewData"""
  ip4Networks: IP4Networks @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Gets the IP6 network related queries.

Required permissions: ViewData"""
  ip6Networks: IP6Networks @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Gets the network interface related connections.

Required permissions: ViewData"""
  networkInterfaces: NetworkInterfaces @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Gets the list of network neighborhoods (Windows domain and workgroup).

Required permissions: ViewData"""
  networkNeighborhoods: NetworkNeighborhoods @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Gets the network topology layer 2 connections.

Required permissions: ViewData"""
  topologyConnections: TopologyConnections @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Gets VLAN related queries.

Required permissions: ViewData"""
  vlans: Vlans @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.progress.OperationProgress'
"""Use the operation progress API to query the status of async operations!
Whenever you call a async operation (methods are marked with the async suffix), JDisc Discovery creates a ProgressInfo
object which hold information about the operation (percentage done, current operation). Finally, when the task is done, then
the specific ProgressInfo object may hold additional information about the task (e.g. results, ...)"""
type OperationProgress {
  """Gets the list of all progress info objects in the cache."""
  all: [ProgressInfo]

  """Returns the progress info for a progress information object"""
  progressInfo(operationId: String!): ProgressInfo

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.properties.ServerPropertiesResolver'
"""Queries about the server properties"""
type ServerPropertiesResolver {
  """Returns server properties"""
  all: ServerProperties

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.reporting.Reporting'
"""Queries about reports and their descriptions"""
type Reporting {
  """Get a set of preview data for the given custom report configuration.

Required permissions: ViewData"""
  checkSqlQuery(query: String!): SqlQueryResult

  """Get a set of preview data for the given custom report configuration.

Required permissions: ViewData"""
  constructCustomReportSummary(reportConfig: CustomReportConfigFullInput!): String

  """Gets the custom report description

Required permissions: ViewData"""
  customReportDescription(reportRef: CustomReportReferenceInput!): CustomReportDescription

  """Gets the custom report elements tree

Required permissions: ViewData"""
  customReportElementsTree(reportRef: CustomReportReferenceInput!): CustomReportElementsTree

  """Gets the custom reports

Required permissions: ViewData"""
  customReports: CustomReportInfo

  """Gets the custom reports tree

Required permissions: ViewData"""
  customReportsTree: CustomReportsTree

  """Gets all device types

Required permissions: ViewData"""
  allDeviceTypesTree: DeviceTypesTree

  """Gets all field descriptions.

Required permissions: ViewData"""
  fieldDescriptions: [FieldDescription]

  """Get the values for a tree report.

Required permissions: ViewData"""
  fileData(reportConfig: FileReportConfigInput!): FileContentResult

  """Get the device group tree.

Required permissions: ViewData"""
  groupTree(includingDeviceCount: Boolean!): String

  """Gets module-aware device types.

Required permissions: ViewData"""
  moduleAwareDeviceTypes: [DeviceType]

  """Gets the interface to get details for report actions (used usually internally from the WEB UI

Required permissions: ViewData"""
  reportActions: ReportActions

  """Gets the reporting filter object

Required permissions: ViewData"""
  reportingFilter: ReportingFilter

  """Get the values for a scalar report.

Required permissions: ViewData"""
  scalarData(reportConfig: ReportConfig!): ScalarResult

  """Queries for scheduled reporting

Required permissions: ViewData"""
  scheduledReporting: ScheduledReporting

  """Get the supported filter operators for the given custom report data field.

Required permissions: ViewData"""
  supportedOperators(fieldCanonicalValueType: String!): [Operator]

  """Gets device types for switches.

Required permissions: ViewData"""
  switchDeviceTypes: [DeviceType]

  """Get the values for the given report description.

Required permissions: ViewData"""
  tableData(reportConfig: ReportConfig!): TableResult

  """Get the values for a tree report.

Required permissions: ViewData"""
  treeData(reportConfig: TreeReportConfigInput!): TreeResult

  """Get a set of preview data for the given custom report configuration.

Required permissions: ViewData"""
  previewCustomReportData(reportConfig: CustomReportConfigFullInput!): TableResult

  """Removes the cache for a cached report. Returns true, when the cache id has been found. Otherwise, false.

Required permissions: ViewData"""
  removeCachedReport(instanceId: String!): Boolean!

  """Get a report description for a specific report id and filters.
This call can return any type of report description (table, scalar, ...).

Required permissions: ViewData"""
  reportDescription(reportId: BuiltInReport!, filters: [FieldFilterInput]!): ReportDescription

  """Get a table report description for a specific report id and filters

Required permissions: ViewData"""
  scalarReportDescription(reportId: BuiltInReport!, filters: [FieldFilterInput]!): ScalarReportDescription

  """Get a table report description for a specific report id and filters

Required permissions: ViewData"""
  tableReportDescription(reportId: BuiltInReport!, filters: [FieldFilterInput]!): TableReportDescription

  """Get a tree report description for a specific report id and filters

Required permissions: ViewData"""
  treeReportDescription(reportId: BuiltInReport!, filters: [FieldFilterInput]!): TreeReportDescription

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.reporting.customattributes.GraphQLAPICustomAttributesService'
"""Queries about custom attributes"""
type GraphQLAPICustomAttributesService {
  """Returns a tree representation of all available device custom attributes

Required permissions: ViewData"""
  allCustomAttributes(foldersOnly: Boolean!, removeBuiltInFolders: Boolean!): CustomAttributesTree

  """Returns a tree representation of all available custom attributes

Required permissions: ViewData"""
  customAttributes(foldersOnly: Boolean!, removeBuiltInFolders: Boolean!): CustomAttributeNode

  """Returns a generic tree representation of custom attributes configured for the given item

Required permissions: ViewData"""
  customAttributesGenericTree(itemId: Long!, tableName: String!, foldersOnly: Boolean!): CustomAttributeInfo

  """Returns the last value of the given custom attributes for each device

Required permissions: ViewData"""
  deviceCustomAttributeValues(deviceRefs: [DeviceReferenceInput]!, customAttributeRefs: [CustomAttributeReferenceInput]!): [DeviceCustomAttributeValuesContainer]

  """Returns a tree representation of custom attributes configured for the given device

Required permissions: ViewData"""
  deviceCustomAttributes(deviceRef: DeviceReferenceInput!): CustomAttributesTree

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.reporting.customattributes.GraphQLAPIExecutableService'
"""Queries about data collection executables"""
type GraphQLAPIExecutableService {
  """Returns all data collection executable items

Required permissions: ManageCustomScripts"""
  executables(ignoreBuiltIn: Boolean): [DataCollectionInfo]

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.security.Security'
"""Security related queries"""
type Security {
  """Gets SSH configuration related queries"""
  sshConfiguration: SshConfiguration

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.software.Software'
"""Queries for software related items"""
type Software {
  """Application instance related queries.

Required permissions: ViewData"""
  applicationInstances: ApplicationInstances @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Application related queries.

Required permissions: ViewData"""
  applications: Applications @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Service/Daemon installation queries.

Required permissions: ViewData"""
  certificates: Certificates @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Cluster related queries.

Required permissions: ViewData"""
  clusters: Clusters @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Executable file related queries.

Required permissions: ViewData"""
  executableFiles: ExecutableFiles @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Installed Applications related queries.

Required permissions: ViewData"""
  installedApplications: InstalledApplications @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Service/Daemon installation queries.

Required permissions: ViewData"""
  installedServices: InstalledServices @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Operating System related queries.

Required permissions: ViewData"""
  operatingSystems: OperatingSystems @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Patch related queries.

Required permissions: ViewData"""
  patches: Patches @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Service/Daemon related queries.

Required permissions: ViewData"""
  services: Services @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.status.StatusQuery'
"""Queries about the application and discovery status"""
type StatusQuery {
  """Gets the discovery status object to query the static of various discovery aspects."""
  discovery: Discovery

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.topology.TopologyMapQueries'
"""Queries about topology"""
type TopologyMapQueries {
  """Get the discovered Wlan's"""
  wlanEntries: [InMemoryWlan]

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.troubleshooting.Troubleshooting'
"""Queries for troubleshooting configuration."""
type Troubleshooting {
  """Queries for extended logging configuration.

Required permissions: Admin"""
  loggingConfig: ExtendedInventoryLogging

  """Generates support ZIP and returns download link for it.

Required permissions: Admin, CreateSupportZIP"""
  supportZip(supportZipParameters: SupportZipParameters!): ExportSupportZipOperationResult

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.query.virtualization.Virtualization'
"""Queries for virtualization related items"""
type Virtualization {
  """Cloud Foundry related queries.

Required permissions: ViewData"""
  cloudFoundry: CloudFoundry

  """Virtual datacenters related queries.

Required permissions: ViewData"""
  virtualDatacenters: VirtualDatacenters @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.resolver.query.jpa.GraphQLDeviceRepositoryResolver'
"""This type provides device related queries"""
type Devices {
  """Find all devices

Required permissions: ViewData"""
  findAll: [Device] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find basic info of all devices

Required permissions: ViewData"""
  findAllBasicInfo: [Device] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find device by id

Required permissions: ViewData"""
  findByID(id: Long!): Device @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find devices by id

Required permissions: ViewData"""
  findByIds(ids: [Long]!): [Device] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find devices by an integration id and a foreignId. Integrations are being used when import JDisc Discovery data into other solutions like CMDB solutions

Required permissions: ViewData"""
  findByIntegrationIdAndForeignKey(integrationUniqueId: String!, foreignId: String!): [Device] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find devices by name. The default for caseSensitive is TRUE.

Required permissions: ViewData"""
  findByName(name: String!, caseSensitive: Boolean!): [Device] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find devices by operating system family

Required permissions: ViewData"""
  findByOperatingSystemFamily(osFamily: String!): [Device] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find devices by operating system version

Required permissions: ViewData"""
  findByOperatingSystemVersion(osVersion: String!): [Device] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find devices by its role

Required permissions: ViewData"""
  findByRole(role: DeviceRole!): [Device] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find devices by type

Required permissions: ViewData"""
  findByType(type: DeviceType!): [Device] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Finds all devices where type matches one of the types passed as argument.

Required permissions: ViewData"""
  findByTypes(types: [DeviceType]!): [Device] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Finds all devices where type matches any of the types passed as argument or its children.

Required permissions: ViewData"""
  findByTypesHierarchy(types: [DeviceType]!): [Device] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Finds all devices which have IP addresses within a set of networks defined by CIDR addresses.

A CIDR address is of the form "<base address>/bits". For instance something like "192.168.178.0/24" for the network "192.168.178.0" with the subnet mask "255.255.255.0".

The IP4 network that is defined by the CIDR does not need to necessarily exist as a network in the database!

The activeOnly indicates whether to search only for IP addresses on active interfaces.
When the activeOnly is FALSE, then we are also looking on interfaces with a status other than 'up'.
The default for the activeOnly is TRUE

Required permissions: ViewData"""
  findDevicesByCIDRs(cidrs: [String]!, activeOnly: Boolean): [Device] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Finds all devices with an IP address.
The activeOnly indicates whether to search only for IP addresses on active interfaces.
When the activeOnly is FALSE, then we are also looking on interfaces with a status other than 'up'.
The default for the activeOnly is TRUE

Required permissions: ViewData"""
  findDevicesByIPAddress(ipAddress: String!, activeOnly: Boolean): [Device] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find devices that are part of an IP4 network. Note: A device can be part of multiple networks!

Required permissions: ViewData"""
  findDevicesInIP4Network(ip4NetworkReference: IP4NetworkReference!): [Device] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find devices that are part of an IP6 network. Note: A device can be part of multiple networks!

Required permissions: ViewData"""
  findDevicesInIP6Network(ip6NetworkReference: IP6NetworkReference!): [Device] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find devices with a physical address (mac address or WWN).

Required permissions: ViewData"""
  findDevicesWithPhysicalAddress(physicalAddress: String!): [Device] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find devices with operating system family 'Windows' and not a server OS (osVersion contains 'Server')

Required permissions: ViewData"""
  findWindowsClients: [Device] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find devices with operating system family 'Windows' and a server OS (osVersion contains 'Server')

Required permissions: ViewData"""
  findWindowsServers: [Device] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java class 'com.jdisc.webui.server.graphql.resolver.query.jpa.GraphQLUserRepositoryResolver'
"""This type provides user related queries"""
type Users {
  """Find all user entries (directory, local, cloud, ...)

Required permissions: ViewData"""
  findAll: [User] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

  """Find all users defined in AD

Required permissions: ViewData"""
  findDirectoryUsers(name: String!): [User] @transactional(transactionManager: "transactionManagerDiscovery", readOnly: true)

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.administration.AdministrationMutation'
type AdministrationMutation {
  """Activates the given license!

Required permissions: Admin"""
  activateLicense(licenseString: String!): LicenseInfo

  """Generates certificate request for current certificate.

Required permissions: ViewData, Admin"""
  certificateRequest(certificateRequestOptions: CertificateRequestOptions!): OneTimeDownloadLink!

  """Downloads management function."""
  downloads: DownloadsMutation!

  """Application management operations

Required permissions: Admin"""
  applicationManagement: ApplicationManagementMutation

  """Database management operations

Required permissions: Admin"""
  databaseManagement: DatabaseManagementMutation

  """Returns an object to register and unregister integrations

Required permissions: ManageIntegrations"""
  integrations: IntegrationMutation

  """Users management operations

Required permissions: Admin, ManageUsers"""
  usersManagement: UsersManagementMutation

  """Installs a new certificate in the WEB server. Note that the WEB server restarts after this call!

Required permissions: Admin"""
  installWebServerCertificate(certificateBytes: [Int]!, privateKeyBytes: [Int], password: String): Status

  """Updates the end of life database information.

Public API

Required permissions: ChangeDiscoverySettings"""
  updateDbEndOfLife: UpdateEndOfLifeDatabaseOperationResult

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.administration.application.ApplicationManagementMutation'
"""Objects for application management."""
type ApplicationManagementMutation {
  """Sets the discovery application mode. User can also add a comment to be displayed

Required permissions: Admin"""
  setEnableMode(changeModeOptions: ApplicationModeChangeOptions!): ApplicationSetEnableOperationResult

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.administration.database.DatabaseManagementMutation'
"""Database management mutations."""
type DatabaseManagementMutation {
  """Change database password.

Public API

Required permissions: Admin"""
  changePassword(newPassword: String!): Boolean!

  """Change read-only database password.

Public API

Required permissions: Admin"""
  changeReadOnlyPassword(newPassword: String!): Boolean!

  """Clear database from discovered data and others.

Public API

Required permissions: Admin"""
  clear(clearSettings: DatabaseClearSettings!): ClearDatabaseOperationResult

  """Restore database from archive. It supports file upload progress.

Public API

Required permissions: Admin"""
  restore(databaseArchive: Upload!, archivePassword: String): RestoreDatabaseOperationResult

  """Schedule database backup job.

Public API

Required permissions: Admin"""
  scheduleDatabaseBackup(job: ScheduledDatabaseArchiveJobInput!): Void

  """Schedule database compact job.

Public API

Required permissions: Admin"""
  scheduleDatabaseCompact(job: DatabaseCompactScheduledJobInput!): Void

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.administration.downloads.DownloadsMutation'
"""Objects for registering downloads."""
type DownloadsMutation {
  """Performs cleanup of download data for the specified content identifier

Required permissions: Admin"""
  purge(contentId: UUID!): Void

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.administration.integration.IntegrationMutation'
"""Objects for registering external integrations."""
type IntegrationMutation {
  """Completes a device import

Required permissions: ManageIntegrations"""
  finishDeviceImport(registrationUniqueId: String!, devices: [ExternalDeviceReference]!): Boolean!

  """Registers a new integration and returns the new registration object.

The applicationName should be the name for the integration product (e.g. the CMDB product name). The application name must not be empty!
The instanceName should be the name for the instance of the integration product (in case there are multiple instances of the same product accessing our tool)


Required permissions: ManageIntegrations"""
  registerIntegration(applicationName: String!, instanceName: String!): IntegrationRegistration

  """marks a set of devices as 'imported' and copies the current device hash values to the hash value staging table that stores the last
hash values for an integration and devices.

Comparing the archived hash values with the current hash values lets you easily identify devices that have changed.


Required permissions: ManageIntegrations"""
  startDeviceImport(registrationUniqueId: String!, devices: [DeviceReferenceInput]!): Boolean!

  """Unregisters an integration and deletes all related information

Required permissions: ManageIntegrations"""
  unregisterIntegration(registrationUniqueId: String!): Boolean!

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.administration.users.UsersManagementMutation'
"""Objects for users and user groups management."""
type UsersManagementMutation {
  """Add a new inventory user"""
  addInventoryUser(user: InventoryUserInput!): InventoryUser

  """Add a new inventory user group"""
  addInventoryUserGroup(userGroup: InventoryUserGroupInput!): InventoryUserGroup

  """Add a new permissions group"""
  addPermissionsGroup(permissionsGroup: InventoryPermissionsGroupInput!): InventoryPermissionsGroup

  """Update inventory user members (user/groups) and permissions groups

Internal API"""
  applyUserNGroupChanges(addedUsers: [InventoryUserInput]!, changedUsers: [InventoryUserInput]!, deletedUsers: [InventoryUserInput]!, addedUserGroups: [InventoryUserGroupInput]!, changedUserGroups: [InventoryUserGroupInput]!, deletedUserGroups: [InventoryUserGroupInput]!, addedPermissionsGroups: [InventoryPermissionsGroupInput]!, changedPermissionsGroups: [InventoryPermissionsGroupInput]!, deletedPermissionsGroups: [InventoryPermissionsGroupInput]!): Boolean

  """Change an inventory user: user is identified by its id and the action updates its membership to permissions groups, each group is identified by its name"""
  changeInventoryUser(user: InventoryUserInput!): Boolean

  """Change an inventory user group: user group is identified by its id and the action updates its membership to permissions groups, each group is identified by its name"""
  changeInventoryUserGroup(userGroup: InventoryUserGroupInput!): Boolean

  """Change a permissions group: permission group is identified by its id and the action updates its description and its permissions rights"""
  changePermissionsGroup(permissionsGroup: InventoryPermissionsGroupInput!): Boolean

  """Delete discovered user groups

Required permissions: ChangeDiscoverySettings"""
  deleteDiscoveredUserGroupsAsync(userGroupRefs: [DiscoveredUserGroupReferenceInput]!): DiscoveredUserGroupDeletionOperationResult

  """Delete discovered users

Required permissions: ChangeDiscoverySettings"""
  deleteDiscoveredUsersAsync(userRefs: [DiscoveredUserReferenceInput]!): DiscoveredUserDeletionOperationResult

  """Delete an inventory user: user is identified by its id"""
  deleteInventoryUser(user: InventoryUserInput!): Boolean

  """Delete an inventory user group: user group is identified by its id """
  deleteInventoryUserGroup(userGroup: InventoryUserGroupInput!): Boolean

  """Delete a permissions group: permission group is identified by its id"""
  deletePermissionsGroup(permissionsGroup: InventoryPermissionsGroupInput!): Boolean

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.configuration.ConfigurationMutation'
type ConfigurationMutation {
  """Returns an object to manage dialog locks

Required permissions: ChangeDiscoverySettings"""
  dialogLock: DialogLockMutation

  """Returns an object to manage discovery configuration

Required permissions: ChangeDiscoverySettings"""
  discovery: DiscoveryConfigurationMutation

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.configuration.DialogLockMutation'
"""Dialog Lock management object"""
type DialogLockMutation {
  """Acquire discovery configuration lock

Required permissions: ChangeDiscoverySettings"""
  lock(dialogId: DialogLockId!): LockResult

  """Refresh discovery configuration lock

Required permissions: ChangeDiscoverySettings"""
  refreshLock(dialogId: DialogLockId!): LockResult

  """Release discovery configuration lock

Required permissions: ChangeDiscoverySettings"""
  unlock(dialogId: DialogLockId!): UnlockResult

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.configuration.discovery.DiscoveryConfigurationMutation'
"""Discovery settings management object"""
type DiscoveryConfigurationMutation {
  """Returns an object which contains the methods to manage password managers configuration

Required permissions: ChangeDiscoverySettings"""
  passwordManagers: PasswordManagersMutation

  """Apply changes on global settings. Only provided values are updated (and checked if needed. When the requesting user does not hold a lock on discovery settings changes, a lock will be acquired - if possible - implicitly and released automatically after the completion of the operation. Note: It is safer that a lock on discovery settings is acquired before this method is called.

Required permissions: ChangeDiscoverySettings"""
  setGlobalSettings(settings: DiscoverySettingsInput!): Boolean

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.configuration.discovery.passwordManagers.AcebitMutation'
"""AceBIT Depot servers management object"""
type AcebitMutation {
  """Add an Acebit password depot server connection. When the requesting user does not hold a lock on discovery settings changes, a lock will be acquired - if possible - implicitly and released automatically after the completion of the operation. Note: It is safer that a lock on discovery settings is acquired before this method is called.

Required permissions: ChangeDiscoverySettings"""
  addServer(server: AceBITPasswordDepotServerInput!): Boolean

  """Apply changes on Acebit password depot server connections. When the requesting user does not hold a lock on discovery settings changes, a lock will be acquired - if possible - implicitly and released automatically after the completion of the operation. Note: It is safer that a lock on discovery settings is acquired before this method is called.

Internal API

Required permissions: ChangeDiscoverySettings"""
  applyChanges(addedServers: [AceBITPasswordDepotServerInput]!, changedServers: [AceBITPasswordDepotServerInput]!, deletedServers: [AceBITPasswordDepotServerInput]!): Boolean

  """Change an Acebit password depot server connection. All properties are replaced with the provided ones on the server argument. When the requesting user does not hold a lock on discovery settings changes, a lock will be acquired - if possible - implicitly and released automatically after the completion of the operation. Note: It is safer that a lock on discovery settings is acquired before this method is called.

Required permissions: ChangeDiscoverySettings"""
  changeServer(server: AceBITPasswordDepotServerInput!): Boolean

  """Delete an Acebit password depot server connection. The deletion is performed using just the id of the provided server argument. When the requesting user does not hold a lock on discovery settings changes, a lock will be acquired - if possible - implicitly and released automatically after the completion of the operation. Note: It is safer that a lock on discovery settings is acquired before this method is called.

Required permissions: ChangeDiscoverySettings"""
  deleteServer(server: AceBITPasswordDepotServerInput!): Boolean

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.configuration.discovery.passwordManagers.CyberarkMutation'
"""Cyberark servers management object"""
type CyberarkMutation {
  """Add a Cyberark server connection. When the requesting user does not hold a lock on discovery settings changes, a lock will be acquired - if possible - implicitly and released automatically after the completion of the operation. Note: It is safer that a lock on discovery settings is acquired before this method is called.

Required permissions: ChangeDiscoverySettings"""
  addServer(server: CyberarkServerDataInput!): Boolean

  """Apply changes on Cyberark server connections. When the requesting user does not hold a lock on discovery settings changes, a lock will be acquired - if possible - implicitly and released automatically after the completion of the operation. Note: It is safer that a lock on discovery settings is acquired before this method is called.

Internal API

Required permissions: ChangeDiscoverySettings"""
  applyChanges(addedServers: [CyberarkServerDataInput]!, changedServers: [CyberarkServerDataInput]!, deletedServers: [CyberarkServerDataInput]!): Boolean

  """Change a Cyberark server connection. All properties are replaced with the provided ones on the server argument. When the requesting user does not hold a lock on discovery settings changes, a lock will be acquired - if possible - implicitly and released automatically after the completion of the operation. Note: It is safer that a lock on discovery settings is acquired before this method is called.

Required permissions: ChangeDiscoverySettings"""
  changeServer(server: CyberarkServerDataInput!): Boolean

  """Delete a Cyberark server connection. The deletion is performed using just the id of the provided server argument. When the requesting user does not hold a lock on discovery settings changes, a lock will be acquired - if possible - implicitly and released automatically after the completion of the operation. Note: It is safer that a lock on discovery settings is acquired before this method is called.

Required permissions: ChangeDiscoverySettings"""
  deleteServer(server: CyberarkServerDataInput!): Boolean

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.configuration.discovery.passwordManagers.DelineaMutation'
"""Delinea Secret servers management object"""
type DelineaMutation {
  """Add a Delinea Secret server connection. When the requesting user does not hold a lock on discovery settings changes, a lock will be acquired - if possible - implicitly and released automatically after the completion of the operation. Note: It is safer that a lock on discovery settings is acquired before this method is called.

Required permissions: ChangeDiscoverySettings"""
  addServer(server: ThycoticSecretServerInput!): Boolean

  """Apply changes on Delinea Secret server connections. When the requesting user does not hold a lock on discovery settings changes, a lock will be acquired - if possible - implicitly and released automatically after the completion of the operation. Note: It is safer that a lock on discovery settings is acquired before this method is called.

Internal API

Required permissions: ChangeDiscoverySettings"""
  applyChanges(addedServers: [ThycoticSecretServerInput]!, changedServers: [ThycoticSecretServerInput]!, deletedServers: [ThycoticSecretServerInput]!): Boolean

  """Change a Delinea Secret server connection. All properties are replaced with the provided ones on the server argument. When the requesting user does not hold a lock on discovery settings changes, a lock will be acquired - if possible - implicitly and released automatically after the completion of the operation. Note: It is safer that a lock on discovery settings is acquired before this method is called.

Required permissions: ChangeDiscoverySettings"""
  changeServer(server: ThycoticSecretServerInput!): Boolean

  """Delete a Delinea Secret server connection. The deletion is performed using just the id of the provided server argument. When the requesting user does not hold a lock on discovery settings changes, a lock will be acquired - if possible - implicitly and released automatically after the completion of the operation. Note: It is safer that a lock on discovery settings is acquired before this method is called.

Required permissions: ChangeDiscoverySettings"""
  deleteServer(server: ThycoticSecretServerInput!): Boolean

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.configuration.discovery.passwordManagers.PasswordManagersMutation'
"""Password managers settings management object"""
type PasswordManagersMutation {
  """Gets the AceBIT Depot servers management object

Required permissions: ChangeDiscoverySettings"""
  aceBIT: AcebitMutation

  """Gets the CyberArk servers management object

Required permissions: ChangeDiscoverySettings"""
  cyberArk: CyberarkMutation

  """Gets the Delinea Secret servers management object

Required permissions: ChangeDiscoverySettings"""
  delinea: DelineaMutation

  """Gets the Passwordstate servers management object

Required permissions: ChangeDiscoverySettings"""
  passwordstate: PasswordstateMutation

  """Gets the Password Manager Pro (PMP) servers management object

Required permissions: ChangeDiscoverySettings"""
  pmp: PmpMutation

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.configuration.discovery.passwordManagers.PasswordstateMutation'
"""Passwordstate servers management object"""
type PasswordstateMutation {
  """Add a Passwordstate server connection. When the requesting user does not hold a lock on discovery settings changes, a lock will be acquired - if possible - implicitly and released automatically after the completion of the operation. Note: It is safer that a lock on discovery settings is acquired before this method is called.

Required permissions: ChangeDiscoverySettings"""
  addServer(server: PasswordstateServerConnectionInput!): Boolean

  """Apply changes on Passwordstate server connections. When the requesting user does not hold a lock on discovery settings changes, a lock will be acquired - if possible - implicitly and released automatically after the completion of the operation. Note: It is safer that a lock on discovery settings is acquired before this method is called.

Internal API

Required permissions: ChangeDiscoverySettings"""
  applyChanges(addedServers: [PasswordstateServerConnectionInput]!, changedServers: [PasswordstateServerConnectionInput]!, deletedServers: [PasswordstateServerConnectionInput]!): Boolean

  """Change a Passwordstate server connection. All properties are replaced with the provided ones on the server argument. When the requesting user does not hold a lock on discovery settings changes, a lock will be acquired - if possible - implicitly and released automatically after the completion of the operation. Note: It is safer that a lock on discovery settings is acquired before this method is called.

Required permissions: ChangeDiscoverySettings"""
  changeServer(server: PasswordstateServerConnectionInput!): Boolean

  """Delete a Passwordstate server connection. The deletion is performed using just the id of the provided server argument. When the requesting user does not hold a lock on discovery settings changes, a lock will be acquired - if possible - implicitly and released automatically after the completion of the operation. Note: It is safer that a lock on discovery settings is acquired before this method is called.

Required permissions: ChangeDiscoverySettings"""
  deleteServer(server: PasswordstateServerConnectionInput!): Boolean

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.configuration.discovery.passwordManagers.PmpMutation'
"""Password Manager Pro (PMP) servers management object"""
type PmpMutation {
  """Add a PMP server connection. When the requesting user does not hold a lock on discovery settings changes, a lock will be acquired - if possible - implicitly and released automatically after the completion of the operation. Note: It is safer that a lock on discovery settings is acquired before this method is called.

Required permissions: ChangeDiscoverySettings"""
  addServer(server: ManageEnginePMPServerInput!): Boolean

  """Apply changes on PMP server connections. When the requesting user does not hold a lock on discovery settings changes, a lock will be acquired - if possible - implicitly and released automatically after the completion of the operation. Note: It is safer that a lock on discovery settings is acquired before this method is called.

Internal API

Required permissions: ChangeDiscoverySettings"""
  applyChanges(addedServers: [ManageEnginePMPServerInput]!, changedServers: [ManageEnginePMPServerInput]!, deletedServers: [ManageEnginePMPServerInput]!): Boolean

  """Change a PMP server connection. All properties are replaced with the provided ones on the server argument. When the requesting user does not hold a lock on discovery settings changes, a lock will be acquired - if possible - implicitly and released automatically after the completion of the operation. Note: It is safer that a lock on discovery settings is acquired before this method is called.

Required permissions: ChangeDiscoverySettings"""
  changeServer(server: ManageEnginePMPServerInput!): Boolean

  """Delete a PMP server connection. The deletion is performed using just the id of the provided server argument. When the requesting user does not hold a lock on discovery settings changes, a lock will be acquired - if possible - implicitly and released automatically after the completion of the operation. Note: It is safer that a lock on discovery settings is acquired before this method is called.

Required permissions: ChangeDiscoverySettings"""
  deleteServer(server: ManageEnginePMPServerInput!): Boolean

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.customattributes.CustomAttributesMutation'
"""Objects for modifying custom attributes on various object types (e.g. devices)."""
type CustomAttributesMutation {
  """Deletes the given custom attribute list

Required permissions: ManageCustomAttributes"""
  deleteCustomAttributes(customAttributesToDelete: [CustomAttributeInfoInput]!): Boolean!

  """Gets the object to manipulate custom attributes assigned to devices."""
  deviceCustomAttributes: DeviceCustomAttributesMutation

  """Imports the given custom attribute list

Required permissions: EditCustomAttributes"""
  importCustomAttributeValues(customAttribute: CustomAttributeInfoInput!, lines: [String]!, separator: String!): ImportCustomAttributeValuesOperationResult

  """Saves the given custom attributes tree

Required permissions: ManageCustomAttributes"""
  updateCustomAttributeTree(root: CustomAttributeInfoInput!): Boolean!

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.customattributes.DeviceCustomAttributesMutation'
"""Objects for managing the application."""
type DeviceCustomAttributesMutation {
  """Sets the defined values of the custom attributes reference-value list for the given device.

Required permissions: EditCustomAttributes"""
  setDeviceValues(device: DeviceReferenceInput!, caRefValues: [CustomAttributeReferenceValueInput]!): Boolean!

  """Sets the custom attribute values for the corresponding devices.

Required permissions: EditCustomAttributes"""
  setValues(deviceCustomAttributeValuesContainers: [DeviceCustomAttributeValuesContainerInput]!): Boolean!

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.customattributes.ExecutableMutation'
"""Objects for modifying data collection executables"""
type ExecutableMutation {
  """Creates the given list of script executables

Required permissions: ManageCustomScripts"""
  add(execs: [DataCollectionInfoInput]!): [DataCollectionInfo]

  """Creates the given binary executable

Required permissions: ManageCustomScripts"""
  addBinaryExecutable(exec: DataCollectionInfoInput!, binary: Upload!): AddBinaryExecutableOperationResult

  """Deletes the given list of executable references

Required permissions: ManageCustomScripts"""
  delete(refs: [DataCollectionInfoReferenceInput]!): Boolean!

  """Delete executable file(s). Returns a progress object that the client can poll for the task status. (async call)

Required permissions: ManageCustomScripts"""
  deleteExecutableFilesAsync(refs: [DataCollectionInfoReferenceInput]!): BooleanOperationResult

  """Updates the given list of script executables

Required permissions: ManageCustomScripts"""
  update(execs: [DataCollectionInfoInput]!): Boolean!

  """Creates the given binary executable

Required permissions: ManageCustomScripts"""
  updateBinaryExecutable(exec: DataCollectionInfoInput!, binary: Upload!): UpdateBinaryExecutableOperationResult

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.diagram.DiagramMutation'
"""Diagram operations"""
type DiagramMutation {
  """Deletes the diagram instance for the given reference"""
  deleteDiagramInstance(ref: JDiagramInstanceReferenceInput!): Boolean! @transactional(transactionManager: "transactionManagerDiscovery", readOnly: false)

  """Deletes the diagram instance for the given references"""
  deleteDiagramInstances(refs: [JDiagramInstanceReferenceInput]!): Boolean! @transactional(transactionManager: "transactionManagerDiscovery", readOnly: false)

  """Save the given diagram instance

Internal API

Required permissions: ViewData"""
  saveDiagramInstance(instance: JDiagramInstanceInput!): JDiagramInstance @transactional(transactionManager: "transactionManagerDiscovery", readOnly: false)

  """Update the given diagram instance parent id"""
  updateDiagramInstanceParent(ref: JDiagramInstanceReferenceInput!, newParentRef: JDiagramInstanceReferenceInput!): Boolean! @transactional(transactionManager: "transactionManagerDiscovery", readOnly: false)

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.discovery.ControlDiscovery'
type ControlDiscovery {
  """Delete device queue entries. Returns a progress object that the client can poll for the task status. (async call)

Required permissions: ControlDiscovery"""
  deleteDeviceQueueEntriesAsync(refs: [DeviceQueueEntryReferenceInput]!): BooleanOperationResult

  """Delete directory queue entries. Returns a progress object that the client can poll for the task status. (async call)

Required permissions: ControlDiscovery"""
  deleteDirectoryQueueEntriesAsync(refs: [DirectoryQueueEntryReferenceInput]!): BooleanOperationResult

  """Delete domain queue entries. Returns a progress object that the client can poll for the task status. (async call)

Required permissions: ControlDiscovery"""
  deleteDomainQueueEntriesAsync(refs: [DomainQueueEntryReferenceInput]!): BooleanOperationResult

  """Delete ping queue entries. Returns a progress object that the client can poll for the task status. (async call)

Required permissions: ControlDiscovery"""
  deletePingQueueEntriesAsync(refs: [PingQueueEntryReferenceInput]!): BooleanOperationResult

  """Starts the discovery job which corresponds to the given reference

Required permissions: ControlDiscovery"""
  startJob(discoveryJobReference: DiscoveryJobReference!): StartJobResult

  """Starts the discovery jobs which correspond to the given references

Required permissions: ControlDiscovery"""
  startJobs(discoveryJobReferences: [DiscoveryJobReference]!): StartJobsResult

  """Stops the discovery job which corresponds to the given reference

Required permissions: ControlDiscovery"""
  stopJob(discoveryJobReference: DiscoveryJobReference!): StopJobResult

  """Stops the discovery jobs which correspond to the given references

Required permissions: ControlDiscovery"""
  stopJobs(discoveryJobReferences: [DiscoveryJobReference]!): StopJobsResult

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.discovery.DiscoveryMutation'
type DiscoveryMutation {
  """Gets the discovery control methods."""
  control: ControlDiscovery

  """Gets the discovery trigger methods."""
  trigger: TriggerDiscovery

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.discovery.TriggerDiscovery'
type TriggerDiscovery {
  """Triggers the scan for an IP address or hostname. Returns true when the device has been added to the queue or false,
if - for instance - the hostname could not be resolved

Required permissions: DiscoverSingleDevice, ControlDiscovery"""
  triggerDeviceScan(ipOrHostname: String!): [DeviceTriggerResult]

  """Triggers the scan for the given IP addresses or hostnames. Returns true when the device has been added to the queue or false,
if - for instance - the hostname could not be resolved

Required permissions: DiscoverSingleDevice, ControlDiscovery"""
  triggerDevicesScan(ipsOrHostnames: [String]!): [DeviceTriggerResult]

  """Triggers the scan for an existing device. The device is identified by its id (embedded in the DeviceReference)When lookupDeviceFirst is true, then it performs DNS lookup on the hostname then then adds the resulting IP address to the discovery (good for DHCP).
Otherwise, it just adds the device's current IP addresses to the queue.

The method returns a status object with a DeviceQueueItem object. The device queue item object can be called to
poll the current status from the device queue.

Required permissions: DiscoverSingleDevice, ControlDiscovery"""
  triggerExistingDeviceScan(lookupDeviceFirst: Boolean!, deviceReference: DeviceReferenceInput!): [DeviceTriggerResult]

  """Triggers the scan for an existing device. The device is identified by its id (embedded in the DeviceReference)
When lookupDeviceFirst is true, then it performs DNS lookup on the hostname then then adds the resulting IP address to the discovery (good for DHCP).
Otherwise, it just adds the device's current IP addresses to the queue.

Required permissions: ControlDiscovery"""
  triggerExistingDevicesScan(lookupDeviceFirst: Boolean!, deviceReferences: [DeviceReferenceInput]!): [DeviceTriggerResult]

  """Triggers the scan for an existing device. The device is identified by its id (embedded in the DeviceReference)
When lookupDeviceFirst is true, then it performs DNS lookup on the hostname then then adds the resulting IP address to the discovery (good for DHCP).
Otherwise, it just adds the device's current IP addresses to the queue.

This method is executed asynchronously and will return a progress callback object

Required permissions: ControlDiscovery"""
  triggerExistingDevicesScanAsync(lookupDeviceFirst: Boolean!, deviceReferences: [DeviceReferenceInput]!): DefaultProgressInfo

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.importing.DeviceImportManagerMutation'
type DeviceImportManagerMutation {
  """Imports a device into the database, checks whether the device exists and returns the import result.

Required permissions: ImportDevices"""
  importDevice(device: DeviceInput!): ImportDeviceResult

  """Imports multiple devices into the database, checks whether the devices exists and returns the import results as array.

Required permissions: ImportDevices"""
  importDevices(device: [DeviceInput]!): [ImportDeviceResult]

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.importing.ImportManagerMutation'
type ImportManagerMutation {
  """Gets the import manager for device imports."""
  devices: DeviceImportManagerMutation

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.logging.Logging'
"""This is the logging interface"""
type Logging {
  """Log the given messages"""
  log(messages: [LogMessageInput]!): Boolean!

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.login.LoginLogout'
"""This is the primary authentication interface used to login and logout.

A login call requires a username and a password for the authentication. On successful authentication, the call returns an
 - access token
 - renewal token

The access token must be added to the HTTPS request headers to ensure a user has access to the appropriate resources.
An access token has usually a limited lifetime. This is done for various security reasons: for one, limiting the lifetime
of the access token limits the amount of time an attacker can use a stolen token. In addition, the information contained
in or referenced by the access token could become stale.
When access tokens expire or become invalid but the application still needs to access a protected resource, the application
faces the problem of getting a new access token without forcing the user to once again grant permission. To solve this problem,
a refresh token is introduced. A refresh token allows an application to obtain a new access token without prompting the user.

The access token must be added into the HTTPS header as parameter "Authorization". The value must be the String "Bearer"
followed by a space and the access token. When the access token has expired, then the server returns an SC_UNAUTHORIZED (401)
In this case, you might use the refresh token to obtain a new access and refresh token using the refreshAccessToken call.
The GraphQL also returns an SC_UNAUTHORIZED (401) when the renewal token has expired."""
type LoginLogout {
  """Checks the access token and returns false when it is invalid."""
  checkAccessToken(accessToken: String!): Boolean!

  """Encrypt and encode login and password for API calls with SECURED audience"""
  encryptLogin(login: String!, password: String!, audience: JwtAudienceType!): EncryptedLoginInfo

  """Login to obtain an access token for API calls"""
  login(login: String!, password: String!): LoginResult

  """Login to obtain an access token for particular audience
- Web UI requires token with 'UI' audience to support dead session detection via WebSocket keep alive subscriptions
- custom scripts should use default option with 'API'
- custom scripts which acquired password from JDisc Discovery in en encrypted form should use 'SECURED'
"""
  loginEx(login: String!, password: String!, audience: JwtAudienceType!): LoginResult

  """Logout the current session.
JWT must be set in HTTP header, and accessToken parameter is optional and generally ignored. Should be removed sometime later.
There is no return value (to comply with GraphQL specification there is a scalar void added to schema)
"""
  logout(accessToken: String!): Void

  """Callback to inform Web UI backend, that Web frontend client is still active"""
  pongSessionAlive(epoch: DateTime!): PongRequest

  """Use the refresh token to obtain a new access and refresh token when the previous access token expired"""
  refreshAccessToken(refreshToken: String!): LoginResult

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.management.ManagementMutation'
"""Objects for managing the application."""
type ManagementMutation {
  """Gets the cluster management object."""
  clusters: ClusterManagementMutation

  """Gets the datacenter management object."""
  datacenters: DatacenterManagementMutation

  """Gets the device history management object."""
  deviceHistory: DeviceHistoryMutation

  """Gets the device management object."""
  devices: DeviceManagementMutation

  """Gets the event management object."""
  events: EventManagementMutation

  """Gets the software management object."""
  softwareManagement: SoftwareManagementMutation

  """Gets the user management object."""
  users: UserManagementMutation

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.management.application.SoftwareManagementMutation'
type SoftwareManagementMutation {
  """Delete application(s). Returns a progress object that the client can poll for the task status. (async call)

Required permissions: ManageApplications"""
  deleteApplicationsAsync(refs: [ApplicationReferenceInput]!): BooleanOperationResult

  """Delete certificate(s). Returns a progress object that the client can poll for the task status. (async call)

Required permissions: ManageApplications"""
  deleteCertificatesAsync(refs: [CertificateReferenceInput]!): BooleanOperationResult

  """Delete driver(s). Returns a progress object that the client can poll for the task status. (async call)

Required permissions: ManageApplications"""
  deleteDriversAsync(refs: [DriverReferenceInput]!): BooleanOperationResult

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.management.cluster.ClusterManagementMutation'
type ClusterManagementMutation {
  """Deletes clusters from the database. Returns a progress object that the client can poll for the task status. (async call)

Required permissions: ManageDevices"""
  deleteClustersAsync(refs: [ClusterReferenceInput]!): ClusterDeletionOperationResult

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.management.datacenter.DatacenterManagementMutation'
type DatacenterManagementMutation {
  """Deletes datacenters. Returns a progress object that the client can poll for the task status. (async call)

Required permissions: ManageDevices"""
  deleteDatacentersAsync(refs: [DatacenterReferenceInput]!): DatacenterDeletionOperationResult

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.management.devices.DeviceHistoryMutation'
type DeviceHistoryMutation {
  """Creates snapshots for the given device list. Returns a progress object that the client can poll for the task status. (async call)

Required permissions: ManageHistory"""
  createSnapshotAsync(devices: [DeviceReferenceInput]!, comment: String!): CreateDeviceSnapshotOperationResult

  """Ages out the given device history entry references. Returns a progress object that the client can poll for the task status. (async call)

Required permissions: ManageHistory"""
  deleteDeviceHistoryEntriesAsync(entryRefs: [DeviceHistoryEntryReferenceInput]!): DeleteDeviceHistoryEntriesOperationResult

  """Deletes the given device history snapshot references. Returns a progress object that the client can poll for the task status. (async call)

Required permissions: ManageHistory"""
  deleteDeviceHistorySnapshotsAsync(snapshotRefs: [DeviceHistorySnapshotReferenceInput]!): DeleteDeviceHistorySnapshotsOperationResult

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.management.devices.DeviceManagementMutation'
type DeviceManagementMutation {
  """Assign the selected devices to matching device groups.

Required permissions: ManageDevices"""
  assignDevicesToGroups(devices: [DeviceReferenceInput]!): Boolean!

  """Assign the selected devices to matching device groups as async call.

Required permissions: ManageDevices"""
  assignDevicesToGroupsAsync(devices: [DeviceReferenceInput]!): DefaultProgressInfo

  """Deletes a device. Returns <true> if succeeded.
 The comment is being written to the device deletion log as deletion comment!

Required permissions: ManageDevices"""
  deleteDevice(deviceRef: DeviceReferenceInput!, comment: String, deletionType: DeviceDeletionType!): Boolean!

  """Deletes devices from the database. Returns a list of devices that could not be found or an empty list if succeeded. (sync call).
The comment is being written to the device deletion log as deletion comment!

Required permissions: ManageDevices"""
  deleteDevices(devices: [DeviceReferenceInput]!, comment: String, deletionType: DeviceDeletionType!): [Device]

  """Deletes devices from the database. Returns a progress object that the client can poll for the task status. (async call)
The comment is being written to the device deletion log as deletion comment!

Required permissions: ManageDevices"""
  deleteDevicesAsync(devices: [DeviceReferenceInput]!, comment: String, deletionType: DeviceDeletionType!): DeviceDeletionOperationResult

  """disables a set of discovery protocols for the selected devices

Required permissions: ChangeDiscoverySettings"""
  disableDiscoveryProtocols(devices: [DeviceReferenceInput]!, protocols: [DiscoveryProtocol]!): [Device]

  """disables a set of discovery protocols for the selected devices

Required permissions: ChangeDiscoverySettings"""
  disableDiscoveryProtocolsAsync(devices: [DeviceReferenceInput]!, protocols: [DiscoveryProtocol]!): DefaultProgressInfo

  """Initiates a discovery for the given hostname or IP address. Upon failure, the response describes the reason.

Required permissions: DiscoverSingleDevice"""
  discoverNow(hostnameOrIP: String!, ignoreFilters: Boolean!): [DeviceTriggerResult]

  """Initiates a discovery for the given hostname(s) or IP address(es). Returns a progress object that the client can poll for the task status. (async call)

Required permissions: DiscoverSingleDevice"""
  discoverNowAsync(hostnameOrIPs: [String]!, ignoreFilters: Boolean!): DiscoverNowOperationResult

  """Gets the credential management object which is used to modify accounts/passwords."""
  credentials: DeviceCredentialManagement

  """Refreshes end of life support for the given device list. Returns a progress object that the client can poll for the task status. (async call)

Required permissions: ManageDevices"""
  refreshEndOfLifeSupportAsync(devices: [DeviceReferenceInput]!): RefreshEndOfLifeSupportOperationResult

  """Refreshes support entitlements for the given device list. Returns a progress object that the client can poll for the task status. (async call)

Required permissions: ControlDiscovery, DiscoverSingleDevice"""
  refreshSupportEntitlementsAsync(devices: [DeviceReferenceInput]!): RefreshSupportEntitlementsOperationResult

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.management.devices.credentials.DeviceCredentialManagement'
type DeviceCredentialManagement {
  """Update/Delete account information to be used by discovery for the given devices

Required permissions: ManageDevices"""
  batchUpdateAccounts(deviceRefs: [DeviceReferenceInput]!, updateAccounts: [AccountDataInput]!, deleteAccounts: [AccountDataInput]!): [Device]

  """Update/Delete account information to be used by discovery for the given devices (Async)

Required permissions: ManageDevices"""
  batchUpdateAccountsAsync(deviceRefs: [DeviceReferenceInput]!, updateAccounts: [AccountDataInput]!, deleteAccounts: [AccountDataInput]!): DeviceAccountsUpdateOperationResult

  """Reset all cached credentials for the given devices.

Required permissions: ManageDevices"""
  clearCachedCredentials(devices: [DeviceReferenceInput]!): Boolean!

  """Reset all cached credentials (async). Returns a progress info object to monitor the progress.

Required permissions: ManageDevices"""
  clearCachedCredentialsAsync(devices: [DeviceReferenceInput]!): DefaultProgressInfo

  """Set account information to discover the given devices. Returns a list of devices that could not be found or an empty list if succesfull.

Required permissions: ManageDevices"""
  setAccounts(devices: [DeviceReferenceInput]!, userAccount: AccountInput!, adminAccount: AccountInput!): [Device] @deprecated(reason: "Pending removal")

  """Set account information to discover the given devices. Returns a list of devices that could not be found or an empty list if succeeded.

Required permissions: ManageDevices"""
  setAccountsAsync(devices: [DeviceReferenceInput]!, userAccount: AccountInput!, adminAccount: AccountInput!): DefaultProgressInfo

  """Set database account information to discover the given device. Returns <true> if succeeded.

Required permissions: ManageDevices"""
  setDatabaseAccount(device: DeviceReferenceInput!): Boolean!

  """Set HTTP account information to discover the given devices. Returns a list of devices that could not be found or an empty list if succeeded.

Required permissions: ManageDevices"""
  setHttpAccounts(devices: [DeviceReferenceInput]!, account: AccountInput!): [Device] @deprecated

  """Set HTTP accounts to the given devices. Returns a progress info object to monitor the progress.

Required permissions: ManageDevices"""
  setHttpAccountsAsync(devices: [DeviceReferenceInput]!, account: AccountInput!): DefaultProgressInfo

  """Set SNMP account information to discover the given devices. Returns a list of devices that could not be found or an empty list if succeeded.

Required permissions: ManageDevices"""
  setSnmpAccounts(devices: [DeviceReferenceInput]!, community: SnmpCommunityInput!, snmpAccount: SnmpV3AccountInput!): [Device] @deprecated

  """Set SNMP account information to discover the given devices async. Returns a progress info object to monitor the progress.

Required permissions: ManageDevices"""
  setSnmpAccountsAsync(devices: [DeviceReferenceInput]!, community: SnmpCommunityInput!, snmpAccount: SnmpV3AccountInput!): DefaultProgressInfo

  """Set account information to discover the given devices. Returns a list of devices that could not be found or an empty list if succeeded.

Required permissions: ManageDevices"""
  setSshAccounts(devices: [DeviceReferenceInput]!, account: GraphQLSshAccountInput!): [Device]

  """Set vmware accounts to the given devices. Returns a list of devices that could not be found or an empty list if succeeded.

Required permissions: ManageDevices"""
  setVMwareAccounts(devices: [DeviceReferenceInput]!, account: AccountInput!): [Device] @deprecated

  """Set vmware accounts to the given devices. Returns a progress info object to monitor the progress.

Required permissions: ManageDevices"""
  setVMwareAccountsAsync(devices: [DeviceReferenceInput]!, account: AccountInput!): DefaultProgressInfo

  """Update/Delete account information to be used by discovery for the given device

Required permissions: ManageDevices"""
  updateAccounts(deviceRef: DeviceReferenceInput!, updateAccounts: [AccountDataInput]!, deleteAccounts: [AccountDataInput]!): Boolean

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.management.event.EventManagementMutation'
type EventManagementMutation {
  """Deletes events. Returns a list of events that could not be found or an empty list if succeeded. (sync call).

Required permissions: ControlDiscovery"""
  deleteEvents(events: [EventReference]!): [Event]

  """Deletes events. Returns a progress object that the client can poll for the task status. (async call)

Required permissions: ControlDiscovery"""
  deleteEventsAsync(events: [EventReference]!): EventDeletionProgressInfo

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.management.user.UserManagementMutation'
"""Objects for managing user related aspects."""
type UserManagementMutation {
  """Gets the user preferences."""
  preferences: UserPreferencesMutation

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.management.user.preferences.UserPreferencesMutation'
"""Modify user preferences."""
type UserPreferencesMutation {
  """Gets the settings object for dashboard items."""
  dashboardPreferences: DashboardPreferencesMutation

  """Gets the settings object for dialog related settings."""
  dialogPreferences: DialogPreferencesMutation

  """Gets the user preferences for overview dashboard related settings."""
  overviewPreferences: OverviewPreferencesMutation

  """Gets the user preferences for table related settings."""
  tablePreferences: TablePreferencesMutation

  """Gets the user preferences for tree related settings."""
  treePreferences: TreePreferencesMutation

  """Sets the WEB UI graph preferences."""
  setDiagramPreferences(preferences: DiagramPreferencesInput!): Boolean!

  """Sets the WEB UI preferences."""
  setWebUIPreferences(preferences: WebUIPreferencesInput!): Boolean!

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.management.user.preferences.dashboard.DashboardPreferencesMutation'
"""Modify dashboard settings"""
type DashboardPreferencesMutation {
  """Deletes the given location."""
  deleteLocation(location: DashboardItemLocationInput!): Boolean!

  """Sets the location for a dashboard item."""
  setLocation(dashboardItem: DashboardItemLocationInput!): Boolean!

  """Sets the locations for a list of dashboard items."""
  setLocations(dashboardItems: [DashboardItemLocationInput]!): Boolean!

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.management.user.preferences.dialogs.DialogPreferencesMutation'
"""Modify dialog preferences"""
type DialogPreferencesMutation {
  """Deletes the dialog preferences which match the given preference name. (in total or partially)"""
  deleteCommonDialogPreferences(preferenceName: String!): Boolean!

  """Resets the confirmation dialog settings for all dialogs to default (enabled)"""
  resetConfirmationDialogSettings: Boolean!

  """Saves the preferences for the given dialog ref."""
  saveDatabaseArchiveDialogPreferences(dialogRef: DialogRefInput!, preferences: DatabaseArchiveDialogPreferencesInput!): Boolean!

  """Saves the preferences for the given dialog ref."""
  saveExportPreferencesDialogPreferences(dialogRef: DialogRefInput!, preferences: ExportDialogPreferencesInput!): Boolean!

  """Sets the preferences for the given dialog ref."""
  setCommonDialogPreferences(dialogRef: DialogRefInput!, preferences: CommonDialogPreferencesInput!): Boolean!

  """Sets the confirmation dialog preferences."""
  setShowConfirmationDialog(dialogId: String!, showDialog: Boolean!): Boolean!

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.management.user.preferences.overview.OverviewPreferencesMutation'
"""Modify overview preferences"""
type OverviewPreferencesMutation {
  """Deletes the given chart configuration

Required permissions: ViewData"""
  deleteChartConfiguration(ref: ChartConfigurationRefInput!): Boolean!

  """Sets the given chart configuration

Required permissions: ViewData"""
  setChartConfiguration(ref: ChartConfigurationRefInput!, chartConfiguration: ChartConfigurationInput!): Boolean!

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.management.user.preferences.table.TablePreferencesMutation'
"""Modify table preferences"""
type TablePreferencesMutation {
  """Delete all stored table states with the given prefix"""
  deleteTableStates(stateKeyPrefix: String!): Boolean!

  """Sets the given table state"""
  setTableState(stateKey: String!, tableState: JTableStateInput!): Boolean!

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.management.user.preferences.tree.TreePreferencesMutation'
"""Modify tree preferences"""
type TreePreferencesMutation {
  """Removes the given node key from expanded nodes list"""
  collapseNode(treeRef: TreeRefInput!, nodeKey: String!): Boolean!

  """Removes the given node key from expanded nodes list"""
  collapseNodes(treeRef: TreeRefInput!, nodeKeys: [String]!): Boolean!

  """Adds the given node key to expanded nodes list"""
  expandNode(treeRef: TreeRefInput!, nodeKey: String!): Boolean!

  """Adds the given node key to expanded nodes list"""
  expandNodes(treeRef: TreeRefInput!, nodeKeys: [String]!): Boolean!

  """Stores the given node key as selected, applies to single selection stateful trees"""
  selectNode(treeRef: TreeRefInput!, nodeKey: String!): Boolean!

  """Stores the given node keys as selected, applies to multiple selection stateful trees"""
  selectNodes(treeRef: TreeRefInput!, nodeKeys: [String]!): Boolean!

  """Sets the tree mode for the given tree reference"""
  setTreeMode(treeRef: TreeRefInput!, treeMode: TreeMode!): Boolean!

  """Sets the given tree state"""
  setTreeState(treeRef: TreeRefInput!, treeState: TreeStateInput!): Boolean!

  """Removes the given node key from selected store"""
  unselectNode(treeRef: TreeRefInput!, nodeKey: String!): Boolean!

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.measurement.MeasurementMutation'
"""Objects for measurement api"""
type MeasurementMutation {
  """Assign software metering templates to given devices. Returns a progress object that the client can poll for the task status. (async call)

Required permissions: ChangeMeasurementConfiguration"""
  assignSoftwareMeteringTemplateConfigurationAsync(devices: [DeviceReferenceInput]!, config: SoftwareMeteringTemplateConfigurationInput!): AssignSoftwareMeteringTemplatesOperationResult

  """Reset software metering templates to given devices. Returns a progress object that the client can poll for the task status. (async call)

Required permissions: ChangeMeasurementConfiguration"""
  resetSoftwareMeteringTemplateConfigurationAsync(devices: [DeviceReferenceInput]!): ResetSoftwareMeteringTemplatesOperationResult

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.progress.OperationProgressMutation'
"""Mutations for long running operations and their progress information"""
type OperationProgressMutation {
  """Notifies the server that the user wants to cancel the operation"""
  cancelProgressInfo(operationId: String!): Boolean!

  """Creates progress information ahead of time (e.g. file upload progress)"""
  createProgressInfo: String

  """Removes a progress info object from the server (since it is no longer needed)"""
  removeProgressInfo(operationId: String!): Boolean!

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.reporting.CustomReportsMutation'
"""Objects for operations configuring to custom reports."""
type CustomReportsMutation {
  """Change a custom report definition."""
  addCustomReport(customReportDescrBase: CustomReportDescriptionBaseInput!): Long

  """Change a custom report definition."""
  changeCustomReport(customReportDescrBase: CustomReportDescriptionBaseInput!): Boolean!

  """Clone a custom report definition."""
  cloneCustomReport(customReportId: Long!, newName: String!, newDescription: String!): Long

  """Add a custom report providing the xml definition."""
  importCustomReport(parentId: Long!, reportOwner: ReportOwner!, reportName: String!, reportDescription: String!, reportXml: String!): Long

  """Remove multiple custom reports"""
  moveCustomReport(customReportDescrBase: CustomReportDescriptionBaseInput!): Boolean!

  """Change a custom report definition."""
  removeCustomReport(customReportDescrBase: CustomReportDescriptionBaseInput!): Boolean!

  """Remove multiple custom reports"""
  removeCustomReports(reports: [CustomReportDescriptionBaseInput]!): Int!

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.reporting.ReportingMutation'
"""Manage Custom Reports and Control the caching entries for the reporting server."""
type ReportingMutation {
  """Deletes report cache entries when no longer needed. Returns the number of deleted entries."""
  deleteCacheItem(reportCacheId: String!): Boolean!

  """Deletes report cache entries when no longer needed. Returns the number of deleted entries."""
  deleteCacheItems(reportCacheIds: [String]!): Int!

  """Deletes rows from table report cache."""
  deleteRowsFromTableCache(reportCacheId: String!, selectedRows: [Int]!): Boolean!

  """Custom Reports operations

Required permissions: ManageCustomReports"""
  customReports: CustomReportsMutation

  """Scheduled reporting operations"""
  scheduledReporting: ScheduledReportingMutation

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.reporting.ScheduledReportingMutation'
"""Mutation operations for scheduled reporting"""
type ScheduledReportingMutation {
  """Adds a scheduled report mail export job. Returns true when successful, otherwise false 

Required permissions: ManageScheduledMailReportJobs"""
  addMailExportJob(job: ReportMailExportJobInput!): Boolean!

  """Adds a scheduled report network export job. Returns true when successful, otherwise false 

Required permissions: ManageScheduledReportExportJobs"""
  addNetworkExportJob(job: ReportNetworkExportJobInput!): Boolean!

  """Adds a network storage location. Returns the id of the created location

Required permissions: ManageNetworkLocations, ScheduleReports"""
  addNetworkStorageLocation(location: NetworkStorageLocationInput!): Long

  """Changes a scheduled report mail export job. Returns true when successful, otherwise false 

Required permissions: ManageScheduledMailReportJobs"""
  changeMailExportJob(job: ReportMailExportJobInput!): Boolean!

  """Changes the scheduled report mail export job owner. Returns true when successful, otherwise false 

Required permissions: ManageScheduledMailReportJobs"""
  changeMailExportJobOwner(job: ReportMailExportJobInput!, newOwner: InventoryUserInput!): Boolean!

  """Changes a scheduled report network export job. Returns true when successful, otherwise false 

Required permissions: ManageScheduledReportExportJobs"""
  changeNetworkExportJob(job: ReportNetworkExportJobInput!): Boolean!

  """Changes the scheduled report network export job owner. Returns true when successful, otherwise false 

Required permissions: ManageScheduledReportExportJobs"""
  changeNetworkExportJobOwner(job: ReportNetworkExportJobInput!, newOwner: InventoryUserInput!): Boolean!

  """Deletes the given scheduled report mail export job. Returns true when successful, otherwise false 

Required permissions: ManageScheduledMailReportJobs"""
  deleteMailExportJob(job: ReportMailExportJobInput!): Boolean!

  """Deletes the given scheduled report mail export job. Returns true when successful, otherwise false 

Required permissions: ManageScheduledMailReportJobs"""
  deleteMailExportJobs(jobs: [ReportMailExportJobInput]!): Boolean!

  """Deletes given mail recipients. Returns true when deletions were successful, otherwise false 

Required permissions: ManageScheduledReportExportJobs, ManageScheduledMailReportJobs"""
  deleteMailRecipients(recipients: [MailRecipientInput]!): Boolean!

  """Deletes the given scheduled report network export job. Returns true when successful, otherwise false 

Required permissions: ManageScheduledReportExportJobs"""
  deleteNetworkExportJob(job: ReportNetworkExportJobInput!): Boolean!

  """Deletes the given scheduled report network export job. Returns true when successful, otherwise false 

Required permissions: ManageScheduledReportExportJobs"""
  deleteNetworkExportJobs(jobs: [ReportNetworkExportJobInput]!): Boolean!

  """Deletes a network storage location. Returns the id of the deleted location

Required permissions: ManageNetworkLocations, ScheduleReports"""
  deleteNetworkStorageLocation(location: NetworkStorageLocationInput!): Long

  """Runs a scheduled report mail export job. Returns true when successful, otherwise false 

Required permissions: ManageScheduledMailReportJobs"""
  runMailExportJob(job: ReportMailExportJobInput!): Boolean!

  """Runs a scheduled report network export job. Returns true when successful, otherwise false 

Required permissions: ManageScheduledReportExportJobs"""
  runNetworkExportJob(job: ReportNetworkExportJobInput!): Boolean!

  """Test a network storage location. Returns the test result status

Required permissions: ManageNetworkLocations, ScheduleReports"""
  testNetworkStorageLocation(location: NetworkStorageLocationInput!): DiscoveryProtocolStatus

  """Update a network storage location. Returns true if update was successful

Required permissions: ManageNetworkLocations, ScheduleReports"""
  updateNetworkStorageLocation(location: NetworkStorageLocationInput!): Boolean!

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.topology.TopologyMapMutation'
"""Objects for topology map api"""
type TopologyMapMutation {
  """Delete VLans. Returns a progress object that the client can poll for the task status. (async call)

Required permissions: ManageDevices"""
  deleteVLanEntriesAsync(refs: [VLanEntryReferenceInput]!): BooleanOperationResult

  """Delete WLans. Returns a progress object that the client can poll for the task status. (async call)

Required permissions: ManageDevices"""
  deleteWLanEntriesAsync(refs: [WLanEntryReferenceInput]!, withAccessPoints: Boolean!): BooleanOperationResult

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.troubleshooting.TroubleshootingMutation'
"""Objects for troubleshooting configuration"""
type TroubleshootingMutation {
  """Gets the object regarding the extended inventory logging configuration

Required permissions: Admin"""
  extendedLoggingConfig: ExtendedInventoryLoggingMutation

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.mutations.troubleshooting.extendedLogging.ExtendedInventoryLoggingMutation'
"""Manage inventory logging"""
type ExtendedInventoryLoggingMutation {
  """Reset all custom inventory loggers to default."""
  resetLoggers: Boolean!

  """Set the current enabled inventory and webui loggers.
The list of loggers per predefined logging item is the following: 
UnixConsole
     com.jdisc.inventory.protocols.cli.CommandLineInterface
     com.jdisc.inventory.protocols.cli.UnixRemoteExecution
     com.jdisc.inventory.protocols.cli.ssh.SshCommandLine
     com.jdisc.inventory.protocols.cli.telnet.TelnetCommandLine
     com.jdisc.inventory.protocols.cli.LinuxRemoteExecution
ActivityLog
     com.jdisc.inventory.common.logging.AbstractActivityLog
WindowsRemoteLogin
     nsRemoteExecutionClient::ClientSession
     nsNamedPipeComm::NamedPipeThread
     nsNamedPipeClient::NamedPipeClient
     nsNamedPipeComm::NamedPipe
     nsLogon::IPCLogonSession
     nsOperatingSystem::OperatingSystem
     LogonManager
     nsRemoteExecutionLocator::NativeSystemTypeAgentLocator
     nsRemoteExecutionLocator::AgentLocator
     nsFileSystem::Share
     nsService::Service
     com.jdisc.inventory.protocols.cli.WindowsRemoteExecution
KubernetesApiLogging
     com.jdisc.inventory.protocols.rest.apis.kubernetes.KubernetesApiWrapper
SshProtocolLogging
     com.sshtools
     com.maverick
RestAPILogging
     com.jdisc.inventory.protocols.rest.RestAPI
JPA
     org.hibernate.SQL
GRAPHQL
     notprivacysafe.graphql.GraphQL
     graphql
     notprivacysafe.graphql.execution.ExecutionStrategy
CACHE
     org.springframework.cache
     javax.cache
     com.jdisc.webui.server.configuration.cache
     com.jdisc.webui.server.service.reporting.cache
     org.ehcache
SNMP
     com.jdisc.inventory.protocols.snmp.SnmpMibBase
     org.snmp4j.Snmp
"""
  setEnabledLoggers(loggers: [String]!): Boolean!

}

# Mapping for Java interface 'com.jdisc.graphql.type.GraphQLNodeData'
"""An unified interface to identify tree node data"""
union GraphQLNodeData = GraphQLObject | PasswordManagementRootNode

# Mapping for Java interface 'com.jdisc.inventory.common.datastructures.passwordmanagment.IAccount'
union IAccount = Account | GraphQLSshAccount | SnmpCommunity | SnmpV3Account | AceBITPasswordDepotSecret | CyberarkAccount | ManageEnginePMPAccount | PasswordstateAccount | ThycoticSecretServerAccount

# Mapping for Java interface 'com.jdisc.inventory.common.datastructures.passwordmanagment.PasswordManagerRootNode'
union PasswordManagerRootNode = WebUIAceBITPasswordDepotRootNode | WebUICyberarkRootNode | WebUIManageEnginePMPRootNode | WebUIThycoticRootNode

# Mapping for Java interface 'com.jdisc.inventory.common.datastructures.passwordmanagment.PasswordManagerServer'
union PasswordManagerServer = AceBITPasswordDepotServer | CyberarkServerData | ManageEnginePMPServer | PasswordstateServerConnection | ThycoticSecretServer

# Mapping for Java interface 'com.jdisc.inventory.common.diagram.DiagramActionInterface'
union DiagramActionInterface = DiagramAction

# Mapping for Java interface 'com.jdisc.inventory.common.reporting.actions.ReportActionInterface'
union ReportActionInterface = DatabaseIdBasedReportAction | OpenReportWithFilterAction | OpenReportWithFilterSingleSelectAction | ReportAction | SeparatorAction | CreateDiagramAction

# Mapping for Java interface 'com.jdisc.inventory.common.reporting.base.IFieldDescription'
union IFieldDescription = AliasFieldDescription | CustomAttributeFieldDescription | CustomAttributeTableFieldDescription | FieldDescription | IdFieldDescription | InvisibleIdFieldDescription | KeyDescription | WbemBrowserFieldDescription

# Mapping for Java class 'com.jdisc.inventory.common.reporting.base.IReportReference'
union IReportReference = BuiltInReportReference | CustomReportReference

# Mapping for Java interface 'com.jdisc.inventory.graphql.AnyScheduledJob'
union AnyScheduledJob = DatabaseCompactScheduledJob | ScheduledDatabaseArchiveJob | ScheduledDeviceHistoryJob | ScheduledDiscoveryJob | ScheduledJob | ScheduledReportExportJob | ScheduledReportMailJob | ScheduledRunTopologyJob | ScheduledRunnableJob | ScheduledShiUploadJob | ReportMailExportJob | ReportNetworkExportJob

# Mapping for Java interface 'com.jdisc.inventory.jpa.entities.report.ReportExportJob'
union ReportExportJob = ReportMailExportJob | ReportNetworkExportJob

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.common.ProgressInfoEx'
"""This object contains information about background processes and their status/progress.
Lengthy operations can return a ProgressInfo object which holds the current state of the operation.
The client can poll with the instanceId the status of such an operation.

Once the operation has failed or finished, the result will stay on the server for a while and will then be deleted."""
union ProgressInfoEx = DefaultProgressInfoEx | FaultProgressInfoEx | FinishProgressInfoEx

# Mapping for Java class 'com.jdisc.webui.server.graphql.api.subscriptions.update.model.TopicUpdate'
union TopicUpdate = DialogLockStatusTopicUpdate | DiscoveryStatusCloudTopicUpdate | DiscoveryStatusDevicesDetailsTopicUpdate | DiscoveryStatusDevicesTopicUpdate | DiscoveryStatusDirectoryTopicUpdate | DiscoveryStatusDiscoveryJobsTopicUpdate | DiscoveryStatusLdapSyncTopicUpdate | DiscoveryStatusMeasurementTopicUpdate | DiscoveryStatusNetworkNeighborhoodTopicUpdate | DiscoveryStatusOverallProcessSummaryTopicUpdate | DiscoveryStatusOverallProcessTopicUpdate | DiscoveryStatusPingTopicUpdate | ErrornousTopicUpdate

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.subscriptions.login.LiveSessionSubscription'
type LiveSessionSubscription {
  """Checks if client is still active for given access token and returns session state."""
  isSessionAlive(accessToken: String!): PongRequest

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.subscriptions.progress.OperationProgressSubscription'
"""Subscription to gets update about progress of asynchronous long-running operation(s)."""
type OperationProgressSubscription {
  """Subscribe to the updates of operation's progress"""
  subscribeToProgressInfo(operationId: String!): ProgressInfo

}

# Mapping for Java interface 'com.jdisc.webui.server.graphql.api.subscriptions.update.UpdateTopicSubscription'
type UpdateTopicSubscription {
  """Subscribe to an update topic"""
  subscribe2Updates(options: UpdateTopicSubscriptionOptionsInput!): UpdateTopicPayload

}


# Root queries
type Query {
  """This type provides device custom attributes related queries"""
  deviceAttributes: DeviceAttributes!
  """This type provides device scheduled tasks related queries"""
  scheduledTasks: ScheduledTasks!
  """Queries for administration purposes"""
  administration: Administration!
  """Queries about configuring objects"""
  configuration: Configuration!
  """Diagram related queries"""
  diagram: DiagramQueries!
  """Queries for discovery related items"""
  discovery: DiscoveryQueries!
  """Queries for event related items"""
  events: EventQueries!
  """Queries for exporting data."""
  export: Export!
  """Queries for help items."""
  helpInventory: HelpInventory!
  """Queries regarding importing items (devices, networks, ...)"""
  importing: Import!
  """Lookup queries for enumerations and types"""
  lookup: Lookup!
  """Queries about managing objects"""
  management: Management!
  """Queries about measurement"""
  measurement: MeasurementQueries!
  """Miscellaneous queries"""
  misc: MiscQueries!
  """The monitoring API lets you query the application's health and operation parameters"""
  monitoring: Monitoring!
  """Queries for networking related items"""
  networking: Networking!
  """Use the operation progress API to query the status of async operations!
Whenever you call a async operation (methods are marked with the async suffix), JDisc Discovery creates a ProgressInfo
object which hold information about the operation (percentage done, current operation). Finally, when the task is done, then
the specific ProgressInfo object may hold additional information about the task (e.g. results, ...)"""
  operationProgress: OperationProgress!
  """Queries about the server properties"""
  serverProperties: ServerPropertiesResolver!
  """Queries about reports and their descriptions"""
  reporting: Reporting!
  """Queries about custom attributes"""
  customAttributes: GraphQLAPICustomAttributesService!
  """Queries about data collection executables"""
  executable: GraphQLAPIExecutableService!
  """Security related queries"""
  security: Security!
  """Queries for software related items"""
  software: Software!
  """Queries about the application and discovery status"""
  status: StatusQuery!
  """Queries about topology"""
  topology: TopologyMapQueries!
  """Queries for troubleshooting configuration."""
  troubleshooting: Troubleshooting!
  """Queries for virtualization related items"""
  virtualization: Virtualization!
  """This type provides device related queries"""
  devices: Devices!
  """This type provides user related queries"""
  users: Users!
}

# Root mutations...
type Mutation {
  administration: AdministrationMutation!

  configuration: ConfigurationMutation!

  """Objects for modifying custom attributes on various object types (e.g. devices)."""
  customAttributes: CustomAttributesMutation!

  """Objects for modifying data collection executables"""
  executable: ExecutableMutation!

  """Diagram operations"""
  diagram: DiagramMutation!

  discovery: DiscoveryMutation!

  importManager: ImportManagerMutation!

  """This is the logging interface"""
  logging: Logging!

  """This is the primary authentication interface used to login and logout.

A login call requires a username and a password for the authentication. On successful authentication, the call returns an
 - access token
 - renewal token

The access token must be added to the HTTPS request headers to ensure a user has access to the appropriate resources.
An access token has usually a limited lifetime. This is done for various security reasons: for one, limiting the lifetime
of the access token limits the amount of time an attacker can use a stolen token. In addition, the information contained
in or referenced by the access token could become stale.
When access tokens expire or become invalid but the application still needs to access a protected resource, the application
faces the problem of getting a new access token without forcing the user to once again grant permission. To solve this problem,
a refresh token is introduced. A refresh token allows an application to obtain a new access token without prompting the user.

The access token must be added into the HTTPS header as parameter "Authorization". The value must be the String "Bearer"
followed by a space and the access token. When the access token has expired, then the server returns an SC_UNAUTHORIZED (401)
In this case, you might use the refresh token to obtain a new access and refresh token using the refreshAccessToken call.
The GraphQL also returns an SC_UNAUTHORIZED (401) when the renewal token has expired."""
  authentication: LoginLogout!

  """Objects for managing the application."""
  management: ManagementMutation!

  """Objects for measurement api"""
  measurement: MeasurementMutation!

  """Mutations for long running operations and their progress information"""
  operationProgress: OperationProgressMutation!

  """Manage Custom Reports and Control the caching entries for the reporting server."""
  reporting: ReportingMutation!

  """Objects for topology map api"""
  topology: TopologyMapMutation!

  """Objects for troubleshooting configuration"""
  troubleshooting: TroubleshootingMutation!

}

# Root subscriptions...
type Subscription {
  # Mapping for Java interface 'com.jdisc.webui.server.graphql.api.subscriptions.login.LiveSessionSubscription'
  """Checks if client is still active for given access token and returns session state."""
  isSessionAlive(accessToken: String!): PongRequest



  # Mapping for Java interface 'com.jdisc.webui.server.graphql.api.subscriptions.progress.OperationProgressSubscription'
  """Subscribe to the updates of operation's progress"""
  subscribeToProgressInfo(operationId: String!): ProgressInfo



  # Mapping for Java interface 'com.jdisc.webui.server.graphql.api.subscriptions.update.UpdateTopicSubscription'
  """Subscribe to an update topic"""
  subscribe2Updates(options: UpdateTopicSubscriptionOptionsInput!): UpdateTopicPayload



}
