Supported Queries
Cloudaware supports three primary query modalities over the CMDB: reports, SOQL (via REST/Bulk), and Graph. Choose based on the shape, volume, and relationship traversal you need.
Reports & dashboards (Force.com)
- Build filters, groupings, and aggregates with the report builder; schedule or export CSV.
- Ideal for operational analytics, KPIs, and stakeholder distribution.
- Use list views for quick filters; use summary reports for grouped rollups.
SOQL via REST/Bulk
- Use REST Query (
/services/data/vXX.X/query/?q=...) for programmatic access. - Use Bulk Query for very large result sets or scheduled exports.
- Pagination: follow
nextRecordsUrluntil no further pages; limit your field list to reduce payload.
SOQL examples below assume namespaced objects and fields. Replace with your org’s namespace/object names as needed.
Patterns
- Active records:
CA10__disappearanceTime__c = NULL - Filter by record type:
RecordType.DeveloperName = 'caCrowdstrikeVulnerability' - Parent fields via lookup:
... SELECT Parent__r.Name ... - Junction resolution: query the link object to join two parents
Example SOQL Queries
Active AWS EC2 instances with AWS 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
Volumes attached to a specific instance (via junction object)
SELECT Id, Name
FROM CA10__CaAwsVolume__c
WHERE Id IN (
SELECT CA10__volume__c
FROM CA10__CaAwsInstanceVolumeLink__c
WHERE CA10__instance__c = 'INSTANCE_RECORD_ID'
)
Active CrowdStrike vulnerabilities and linked host name
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
Count of running instances by account
SELECT CA10__account__r.Name, COUNT(Id)
FROM CA10__CaAwsInstance__c
WHERE CA10__disappearanceTime__c = NULL
AND CA10__stateName__c = 'running'
GROUP BY CA10__account__r.Name
ORDER BY COUNT(Id) DESC
REST request example
curl -H "Authorization: Bearer $SF_TOKEN" \
"https://your-domain.my.salesforce.com/services/data/v59.0/query/" \
--get --data-urlencode "q=SELECT Name FROM CA10__CaAwsInstance__c WHERE CA10__disappearanceTime__c = NULL LIMIT 10"
Best Practices
- Use selective filters (indexed fields) for large tables; avoid unbounded queries.
- Select only needed fields; avoid
SELECT *patterns. - Prefer aggregates over large raw exports; schedule exports where possible.
- Respect platform limits (query rows, payload size, API calls) and throttle appropriately.