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