ObjectStores Object
Relationships
graph LR
ObjectStores -->|"account"| Accounts
ObjectStores -->|"encryption_key"| ManagedKeys
Properties
Truto's stable unified identifier for this object. Opaque; use provider_id to address the object in the provider's own console or API.
Whether access logging is on. On AWS an unlogged bucket returns an empty document rather than an error, read as false.
Whether an ACL grants access to a public group, tracked separately from policy_grants_anyone since the two can differ.
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).
Whether the store is effectively reachable without credentials. Computed from the provider's effective access rules, not a single flag.
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.
When the object was created at the provider, in UTC ISO 8601. Null when the provider does not record one - see unreadable_fields.
The per-flag effective block configuration, combining account-level and store-level settings.
AWS BlockPublicAcls. Rejects new public ACLs on the store and its objects.
AWS BlockPublicPolicy. Rejects a store policy that would grant public access.
AWS IgnorePublicAcls. Ignores any public ACL already present.
AWS RestrictPublicBuckets. Limits access under a public policy to principals in this account and AWS services.
The provider's own algorithm string, verbatim.
The key protecting the store, where a customer-managed one is configured.
The target's id.
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.
provider_managedprovider_ownedcustomer_managedcustomer_suppliednoneunknown
Lifecycle rules configured on the store.
Days after which matching objects expire.
The provider's own rule id.
Object key prefix the rule applies to, if scoped.
Whether the rule is enabled.
Where the store's data physically sits.
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.
The bucket or container name.
The provider's own type string, unmodified — for example 'AWS::S3::Bucket', 'aws_iam_role', 'Microsoft.Sql/servers'. Used for display and drill-down.
Whether write-once retention is enabled on the store.
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.
Which cloud this object was read from.
awsazuregcp
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.
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.
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.
Raw data returned from the remote API call.
Whether any replication rule is configured and enabled.
Destination stores this store replicates to, as provider references. The destination region is not returned by the provider.
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.
Default retention period applied to objects, in days.
The provider's own identifier for the store.
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.
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.
Explanation of the reason, where one adds anything.
The property on this resource that could not be read.
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.
not_supported_by_providernot_configuredpermission_deniednot_collectedcollection_errorpartially_collectedavailable_on_get
When the object was last modified at the provider, in UTC ISO 8601. Null when the provider does not record one - see unreadable_fields.
Whether object versioning is on. On AWS, a bucket that never had versioning enabled returns no status field, read as false rather than unknown.