Skip to content

Relationships

Schema relationships
graph LR
    PolicyConstraints -->|"account"| Accounts
    PolicyConstraints -->|"inherited_from"| AccountGroupings

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
allowed_valuesstring[]

Values the policy permits, where the provider exposes them as structured data. Null (not guessed) for AWS service control policies, which don't expose this.

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.

denied_valuesstring[]

Values the policy forbids, on the same terms as allowed_values.

display_namestring

A friendlier name, distinct from policy_name, where the provider provides one. AWS service control policies have none, so this falls back to policy_name.

effectstring

Whether the policy blocks, allows, or merely audits the action. AWS SCPs support only allow/deny (never audit) and effect is per statement, not per policy, since one policy can mix both.

Possible values:
denyallowauditmodifymixedunknown
enforcedboolean

Whether the policy is actually in force. AWS has no enabled toggle; this is derived from the policy type being enabled at the org root and the policy having at least one target.

has_local_overrideboolean

Whether a sub-account has opted out of an organisation-wide rule. Always false for AWS service control policies, which intersect and never allow a child to relax a parent.

inherited_fromobject

The node the policy is actually attached to, when that differs from the node this row reports it for.

idstring

The target's id.

is_inheritedboolean

Whether this row is an inherited application rather than a direct attachment.

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.

parametersobject

Parameter values supplied when the policy is instantiated per assignment. Null with not_supported_by_provider for AWS service control policies, which are never parameterized.

policy_documentstring

The raw policy document, in the provider's native encoding. AWS SCP content is plain JSON (unlike IAM policy documents); decoding it as IAM will mangle it.

policy_idstring

The provider's own identifier for the policy.

policy_namestring

The policy name as the provider names it.

policy_typestring

Which preventative policy mechanism this is, as the provider names it.

providerstring

Which cloud this object was read from.

Possible values:
awsazuregcp
provider_idstring

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

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.

scope_idstring

The node this row reports the policy as applying to.

scope_typestring

The level this row's scope node sits at.

Possible values:
organisationgroupingaccountresourceunknown
supports_audit_modeboolean

Whether this policy mechanism can express a report-only mode at all. False here means audit mode doesn't exist for it, not that the customer chose not to use it.

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.