Naming & Identifiers
Cloudaware is built on Salesforce and exposes its CMDB through Salesforce-style object and field API names, including namespaced custom objects and fields. Understanding these conventions is useful when writing SOQL, building reports, and integrating with Cloudaware APIs, including REST and relationship-based capabilities.
Namespaces and API Names
- Managed package prefixes distinguish objects and fields (e.g.,
CA10__,CA10K__,CA10TF__). - Custom object names end with
__c(e.g.,CA10__CaAwsInstance__c). - Custom field names end with
__c(e.g.,CA10__account__c). - Relationship traversal to parents uses
__r(e.g.,CA10__account__r.Name).
See Force.com and Packages for a package overview.
Identity Strategy
- Provider identifiers (e.g., ARN/resourceId/selfLink) are stored in dedicated fields and/or External ID fields.
- A stable internal identifier (commonly
CA10__caUuid__c) is used for deduplication across discovery runs. - Natural keys for cloud assets typically combine provider ID + owning account/subscription/project + location (region/zone/namespace).
Field Naming Patterns
- Container/owner lookups: fields such as
CA10__account__cor provider‑specific owner fields - Location fields: region, zone, availability zone, namespace (names vary by object)
- Junction objects: named with a
Link__csuffix (e.g.,CA10__CaAwsInstanceVolumeLink__c) and contain two master‑detail fields to the parents - Record types: use
RecordType.DeveloperNamefor logic/filters (e.g.,caCrowdstrikeVulnerability)
Cross‑Provider Normalization
- Accounts, subscriptions, projects are normalized to a consistent hierarchy for querying and reporting.
- Region and zone names follow a normalized scheme across providers.
- Tag and label key normalization helps reduce case ambiguity. Avoid relying on case-sensitive tag or label keys unless the specific field or integration documents that behavior.
Examples
- Child to parent traversal:
SELECT Name, CA10__account__r.Name FROM CA10__CaAwsInstance__c - Filter by record type:
... WHERE RecordType.DeveloperName = 'caGitLabVulnerability' - Filter active records:
... WHERE CA10__disappearanceTime__c = NULL