Skip to main content

Object Schemas

Cloudaware models assets, configurations, and findings as namespaced Salesforce custom objects (sObjects). Each CMDB CI Class corresponds to one sObject and participates in a shared set of conventions for identity, lifecycle, ownership, and relationships.

Core Model​

  • Identity: stable unique identifiers and external/provider IDs
  • Lifecycle: first appearance and soft‑delete tracking
  • Ownership & location: account/subscription/project, region/zone, application
  • Configuration: attributes, tags/labels, and normalized enumerations
  • Relationships: parent/child lookups, master‑detail, and many‑to‑many via junctions

Common Fields and Conventions​

Field API names vary by object, but Cloudaware follows consistent patterns. Always prefer list views or Describe metadata to confirm exact names in your org.

  • Name: human‑readable label; not necessarily unique
  • Record type: RecordType.DeveloperName to distinguish sub‑types (e.g., vulnerability sources)
  • Unique ID: a stable identifier (for many objects, CA10__caUuid__c) used for deduplication
  • Lifecycle timestamps:
    • CA10__disappearanceTime__c (null when active; populated when resource disappears from source)
  • Ownership and scope:
    • Provider container (e.g., AWS Account) via lookup such as CA10__account__c
    • Location fields (e.g., region/zone)
  • Tags/labels: normalized key/value collections stored in dedicated fields; see Attributes
tip

Use CA10__disappearanceTime__c = NULL to retrieve the current/active set of records for an object.

Representative Objects​

Below are examples you will commonly encounter. Actual availability depends on installed packages and integrations.

  • CA10__CaAwsAccount__c — AWS account inventory and ownership anchor
  • CA10__CaAwsInstance__c — AWS EC2 instance; looks up to CA10__CaAwsAccount__c
  • CA10__CaAwsVolume__c — AWS EBS volume; region/zone and attachment state
  • CA10__CaAwsInstanceVolumeLink__c — junction linking AWS EC2 Instance to AWS EBS volume (two master‑detail relationships)
  • CA10__CaApplication__c — CloudAware virtual application
  • CA10__CaApplicationTier__c — CloudAware Application Tier (detail) in a master‑detail with CloudAware Application CA10__CaApplication__c
  • CA10__CaNessusVulnerability__c — consolidated vulnerability finding with record types per source
  • CA10K__CaKubernetesCluster__c — Kubernetes cluster (from CA10K package)

These objects participate in the relationship patterns covered in Relationship Model.

Record Types and Variants​

Record types enable multiple “flavors” under a single object. For example, CloudAware Vulnerability Scan (CA10__CaNessusVulnerability__c) uses record types to distinguish data sources, and the primary relationship field may differ by type:

  • caCrowdstrikeVulnerability → links to CA10CR__CrowdstrikeHost__c
  • caCheckmarxOneVulnerability → links to CA10CO__CaCheckmarxOneScan__c, CA10CO__CaCheckmarxOneProject__c
  • caGitLabVulnerability → links to CA10GL__GitLabProject__c

When querying, filter by RecordType.DeveloperName and null‑check the relevant lookup field for the source.

Query Examples​

Active EC2 instances with account name and state:

SELECT Name,
CA10__account__r.Name,
CA10__instanceId__c,
CA10__stateName__c
FROM CA10__CaAwsInstance__c
WHERE CA10__disappearanceTime__c = NULL
ORDER BY Name ASC

Volumes attached to a specific instance via the junction object:

SELECT Id, Name
FROM CA10__CaAwsVolume__c
WHERE Id IN (
SELECT CA10__volume__c
FROM CA10__CaAwsInstanceVolumeLink__c
WHERE CA10__instance__c = 'AWS_INSTANCE_ID_PLACEHOLDER'
)

A list of open CrowdStrike-linked vulnerability records, along with the related host name and UUID:

SELECT Name,
CA10CR__crowdstrikeHost__r.Name,
CA10__caUuid__c
FROM CA10__CaNessusVulnerability__c
WHERE CA10__disappearanceTime__c = NULL
AND RecordType.DeveloperName = 'caCrowdstrikeVulnerability'
AND CA10CR__crowdstrikeHost__c != NULL
ORDER BY Id ASC