Skip to content

Relationships

Schema relationships
graph LR
    ObjectStores -->|"account"| Accounts
    ObjectStores -->|"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.

access_logging_enabledboolean

Whether access logging is on. On AWS an unlogged bucket returns an empty document rather than an error, read as false.

accountstring

The account, subscription or project this object belongs to.

References: Accounts → id
acl_grants_anyoneboolean

Whether an ACL grants access to a public group, tracked separately from policy_grants_anyone since the two can differ.

acl_grants_authenticated_usersboolean

Whether an ACL grants access to any authenticated account on the provider (not anonymous — requests must be signed, but any account on the provider qualifies).

anonymous_access_allowedboolean

Whether the store is effectively reachable without credentials. Computed from the provider's effective access rules, not a single flag.

collected_atstring · date-time

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

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.

effective_public_access_blockobject

The per-flag effective block configuration, combining account-level and store-level settings.

block_public_aclsboolean

AWS BlockPublicAcls. Rejects new public ACLs on the store and its objects.

block_public_policyboolean

AWS BlockPublicPolicy. Rejects a store policy that would grant public access.

ignore_public_aclsboolean

AWS IgnorePublicAcls. Ignores any public ACL already present.

restrict_public_bucketsboolean

AWS RestrictPublicBuckets. Limits access under a public policy to principals in this account and AWS services.

encryption_algorithmstring

The provider's own algorithm string, verbatim.

encryption_keyobject

The key protecting the store, where a customer-managed one is configured.

References: ManagedKeys → id
idstring

The target's id.

encryption_key_typestring

Who manages the encryption key. On AWS every bucket now gets default provider-side encryption, so 'none' is effectively obsolete; what matters is whether the key is customer_managed.

Possible values:
provider_managedprovider_ownedcustomer_managedcustomer_suppliednoneunknown
lifecycle_rulesobject[]

Lifecycle rules configured on the store.

expiration_daysinteger

Days after which matching objects expire.

idstring

The provider's own rule id.

prefixstring

Object key prefix the rule applies to, if scoped.

statusstring

Whether the rule is enabled.

locationstring

Where the store's data physically sits.

min_tls_versionstring

Minimum TLS version accepted. AWS has no bucket-level setting — only a per-action policy condition, so requirements can vary by action. Null with not_supported_by_provider there.

namestring

The bucket or container name.

native_typestring

The provider's own type string, unmodified — for example 'AWS::S3::Bucket', 'aws_iam_role', 'Microsoft.Sql/servers'. Used for display and drill-down.

object_lock_enabledboolean

Whether write-once retention is enabled on the store.

policy_grants_anyoneboolean

Whether the bucket policy grants access to anyone (distinct from account-level toggles, which can disagree). On AWS, cross-account access often can't read the policy body itself, so this may be marked permission_denied.

providerstring

Which cloud this object was read from.

Possible values:
awsazuregcp
provider_idstring

The provider's own identifier. S3 returns an ARN only for directory buckets; for general-purpose buckets this is the canonical arn:<partition>:s3:::<name>, which is how AWS itself addresses the bucket.

public_access_blockedboolean

Whether public access is comprehensively blocked. True only when all four effective block-public-access flags are set (the more restrictive of account- and bucket-level config); a missing configuration counts as all-false.

regionstring

Where the object is located. 'global' denotes genuinely global resources (e.g. IAM, GCP VPC networks) rather than a guessed region. A substituted region (when none is derivable) is flagged in unreadable_fields.

remote_dataRecord<string, any>

Raw data returned from the remote API call.

replication_enabledboolean

Whether any replication rule is configured and enabled.

replication_targetsstring[]

Destination stores this store replicates to, as provider references. The destination region is not returned by the provider.

retention_lockedboolean

Whether the retention period cannot be shortened or removed. On AWS this maps to a COMPLIANCE-mode default rule, which only governs future objects, not what's already stored.

retention_policy_daysinteger

Default retention period applied to objects, in days.

store_idstring

The provider's own identifier for the store.

tagsobject

Key-value pairs exactly as the customer set them: no case folding, key/value normalization, or merging of separate provider concepts. An empty object means no tags; tags that could not be read appear in unreadable_fields instead.

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.

versioning_enabledboolean

Whether object versioning is on. On AWS, a bucket that never had versioning enabled returns no status field, read as false rather than unknown.