BaseParentCnfgItem Class

Abstract class that represents a base parent configuration item in IT Service Asset Discovery. Stores the field labels for the parent configuration item.

Namespace 

ItSvcAssetDcvr

Example 

This is an example implementation of the ItSvcAssetDcvr.BaseParentCnfgItem abstract class.

1// Represents a CrowdStrike compute (device/machine) configuration item discovered on an asset.
2// Extends the base PARENT config item from the IT Service Asset Discovery framework, so it can
3// hold child config items (installed software, vulnerabilities, login and network history).
4global class CrowdstrikeComputeCnfgItem extends ItSvcAssetDcvr.BaseParentCnfgItem {
5
6    // Maps each field's API name to a human-readable display label used by the UI.
7    private static final Map<String, String> CS_COMPUTE_LABELS = new Map<String, String>{
8        'assetName' => 'Asset Name',
9        'serialNumber' => 'Serial Number',
10        'lastDiscoveredOn' => 'Last Discovered On',
11        'manufacturer' => 'Manufacturer',
12        'osMajorVersion' => 'OS Major Version',
13        'osMinorVersion' => 'OS Minor Version',
14        'operatingSystem' => 'Operating System',
15        'buildVersion' => 'Build Version',
16        'osBuildNumber' => 'OS Build Number',
17        'deviceModelName' => 'Device Model Name',
18        'modelNumber' => 'Model Number',
19        'hardwareModel' => 'Hardware Model',
20        'macAddress' => 'MAC Address',
21        'hostName' => 'Host Name',
22        'deviceName' => 'Device Name',
23        'loggedInAt' => 'Logged In At',
24        'loggedInBy' => 'Logged In By',
25        'ipAddress' => 'IP Address',
26        'biosBuildNumber' => 'BIOS Build Number',
27        'deviceSerialNumber' => 'Device Serial Number',
28        'lastDiscoveredBy' => 'Last Discovered By',
29        'ciLocation' => 'CI Location',
30        'defaultGateway' => 'Default Gateway',
31        'hardwareType' => 'Hardware Type',
32        'localFqdn' => 'Local FQDN',
33        'deviceManufacturerName' => 'Device Manufacturer Name',
34        'FirstDiscoveredOn' => 'First Discovered On',
35        'FirstDiscoveredBy' => 'First Discovered By',
36        'CreatedOn' => 'Created On',
37        'CreatedBy' => 'Created By',
38        'sources' => 'Sources',
39        'biosManufacturer' => 'BIOS Manufacturer',
40        'osCaption' => 'OS Caption',
41        'osDescription' => 'OS Description',
42        'osType' => 'OS Type'    };
43
44    // No-arg constructor: passes the field label map to the base class so it knows how to display each field.
45    global CrowdstrikeComputeCnfgItem() {
46        super(CS_COMPUTE_LABELS);
47    }
48
49    // Child config-item collections related to this compute device (exposed to Lightning/Aura).
50    @AuraEnabled global List<CrowdstrikeApplnCnfgItem> installedSoftware;        // Software applications installed on the device
51    @AuraEnabled global List<CrowdstrikeVulnerabilityCnfgItem> vulnerabilities;  // Security vulnerabilities detected on the device
52    @AuraEnabled global List<CrowdstrikeLoginHistCnfgItem> loginHistory;         // History of logins to the device
53    @AuraEnabled global List<CrowdstrikeNtwkAddrHistCnfgItem> networkHistory;    // History of network addresses used by the device
54
55    // Scalar attributes of the discovered compute device (exposed to Lightning/Aura).
56    @AuraEnabled global String assetName;                // Name of the asset/device
57    @AuraEnabled global String serialNumber;             // Serial number of the device
58    @AuraEnabled global DateTime lastDiscoveredOn;       // Timestamp the device was last discovered
59    @AuraEnabled global String manufacturer;             // Manufacturer of the device
60    @AuraEnabled global String osMajorVersion;           // Major version of the operating system
61    @AuraEnabled global String osMinorVersion;           // Minor version of the operating system
62    @AuraEnabled global String operatingSystem;          // Operating system name
63    @AuraEnabled global String buildVersion;             // OS/software build version
64    @AuraEnabled global String osBuildNumber;            // Operating system build number
65    @AuraEnabled global String deviceModelName;          // Model name of the device
66    @AuraEnabled global String modelNumber;              // Model number of the device
67    @AuraEnabled global String hardwareModel;            // Hardware model identifier
68    @AuraEnabled global String macAddress;               // MAC (hardware network) address
69    @AuraEnabled global String hostName;                 // Network host name of the device
70    @AuraEnabled global String deviceName;               // Device name
71    @AuraEnabled global DateTime loggedInAt;             // Timestamp of the most recent login
72    @AuraEnabled global String loggedInBy;               // User who most recently logged in
73    @AuraEnabled global String ipAddress;                // IP address of the device
74    @AuraEnabled global String biosBuildNumber;          // BIOS build number
75    @AuraEnabled global String deviceSerialNumber;       // Device-level serial number
76    @AuraEnabled global String lastDiscoveredBy;         // Source/user that last discovered the device
77    @AuraEnabled global String ciLocation;               // Physical/logical location of the config item
78    @AuraEnabled global String defaultGateway;           // Default network gateway
79    @AuraEnabled global String hardwareType;             // Type/category of hardware
80    @AuraEnabled global String localFqdn;                // Local fully qualified domain name
81    @AuraEnabled global String deviceManufacturerName;   // Device manufacturer name
82    @AuraEnabled global String sources;                  // Data source(s) the info was discovered from
83    @AuraEnabled global String biosManufacturer;         // Manufacturer of the BIOS
84    @AuraEnabled global String osCaption;                // OS caption/friendly label
85    @AuraEnabled global String osDescription;            // Description of the operating system
86    @AuraEnabled global String osType;                   // Type/family of the operating system
87    @AuraEnabled global List<ItSvcAssetDcvr.CnfgItemTag> tags;    // Tags associated with this config item
88    @AuraEnabled global String cnfgItemTypeName;         // Name of this configuration item type
89}

BaseParentCnfgItem Constructors 

The following are constructors for BaseParentCnfgItem.

BaseParentCnfgItem(fieldLabels) 

Creates a new instance of the ItSvcAssetDcvr.BaseParentCnfgItem class using the specified fieldLabels payload parameter.

Signature 

public BaseParentCnfgItem(Map<String,String> fieldLabels)

Parameters 

fieldLabels: Type: Map<String,String>. Required. Specifies the field labels that map Apex fields in the class to the corresponding configuration item display names used by Content Management Database (CMDB).

BaseParentCnfgItem Properties 

The following are properties for BaseParentCnfgItem.

  • fieldLabels

    A map of field API names to their display labels for the parent configuration item.

fieldLabels 

A map of field API names to their display labels for the parent configuration item.

Signature 

public Map<String,String> fieldLabels {get; set;}

Property Value 

Type: Map<String,String>