Skip to content

Relationships

Schema relationships
graph LR
    AuditTrailConfigs -->|"account"| Accounts
    AuditTrailConfigs -->|"destination"| ObjectStores
    AuditTrailConfigs -->|"encryption_key"| ManagedKeys

Properties

idstring
required·

Truto's stable unified identifier for this object. Opaque; use provider_id to address the object in the provider's own console or API.

accountstring

The account, subscription or project this object belongs to.

References: Accounts → id
collected_atstring · date-time

When Truto actually read this object from the provider, in UTC ISO 8601 with offset. Not the request time, and not a provider timestamp.

config_idstring

The provider's own identifier for the trail or logging configuration.

config_kindstring

Which audit mechanism this row describes.

Possible values:
trailevent_data_storediagnostic_settinglog_sinkother
covers_all_regionsboolean

Whether the configuration captures every region rather than just one.

covers_whole_organisationboolean

Whether the configuration applies across the organisation rather than a single account.

created_atstring

When the object was created at the provider, in UTC ISO 8601. Null when the provider does not record one - see unreadable_fields.

data_access_inference_confidencestring

How confident Truto is in data_access_logging_by_service: exact, inferred, or unknown.

Possible values:
exactinferredunknown
data_access_logging_by_serviceobject[]

Per-service data-plane logging coverage, as the selectors that produced the answer.

typestring

The resource type the selector matches.

valuesstring[]

The selector values recorded for that type.

data_event_selector_typestring

Which selector dialect produced data_access_logging_by_service. 'classic' lists resource types explicitly; 'advanced' is a predicate language that can't be fully evaluated offline.

Possible values:
classicadvancednoneunknown
destinationobject

Where the audit records are delivered.

idstring

The target's id.

destination_typestring

What kind of destination that is, as the provider names it.

enabledboolean

Whether the trail is actually recording. A trail can look complete (multi-region, encrypted, validated) yet be fully stopped, so this must be checked separately from the trail's description.

encryption_keyobject

The customer-managed key protecting the audit records. Absent means the provider's own key.

References: ManagedKeys → id
idstring

The target's id.

excluded_management_event_sourcesstring[]

Management event sources excluded from the trail. Coverage is incomplete even when management_events_included is true, if sources appear here.

is_loggingboolean

The provider's raw logging flag, kept separate from enabled. A value of true does not prove logs are arriving — a trail writing to a deleted destination can still report true.

log_categories_enabledstring[]

Which categories of event are recorded, as the provider names them.

log_file_validation_enabledboolean

The provider's own integrity validation flag, carried separately.

management_events_includedboolean

Whether control-plane events are recorded. Not the whole answer on its own — see excluded_management_event_sources.

native_typestring

The provider's own type string, unmodified — e.g. 'AWS::S3::Bucket', 'aws_iam_role', 'Microsoft.Sql/servers'.

providerstring

Which cloud this object was read from.

Possible values:
awsazuregcp
provider_idstring

The provider's own identifier — a full ARN, resource id, or self-link — passed through verbatim, never truncated or normalized.

regionstring

Where the object is. 'global' marks resources with no region (e.g. IAM, a GCP VPC network). If the provider returns no location, the queried region is substituted and flagged in unreadable_fields.

remote_dataRecord<string, any>

Raw data returned from the remote API call.

scope_idstring

The provider reference for the scope.

scope_typestring

The level the configuration applies at.

Possible values:
organisationgroupingaccountresourceunknown
tagsobject

Key-value pairs exactly as the customer set them, with no case folding or normalization. An empty object means no tags; tags that could not be read appear in unreadable_fields instead.

tamper_evidence_enabledboolean

Whether the trail is cryptographically protected against alteration. Distinct from deletion protection: preventing deletion does not prove records weren't altered.

unreadable_fieldsobject[]

Fields on this object that could not be read, and why. An empty array means everything was read. Use this to tell a real value from a missing one.

detailstring

Explanation of the reason, where one adds anything.

fieldstring

The property on this resource that could not be read.

reasonstring

Why the field could not be read. available_on_get: Not read on list to keep the list fast; call GET for this resource's id to get it.

Possible values:
not_supported_by_providernot_configuredpermission_deniednot_collectedcollection_errorpartially_collectedavailable_on_get
updated_atstring

When the object was last modified at the provider, in UTC ISO 8601. Null when the provider does not record one - see unreadable_fields.