Skip to main content

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 nextRecordsUrl until 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.