Skip to content

Relationships

Schema relationships
graph LR
    InstanceGroups -->|"account"| Accounts
    InstanceGroups -->|"service_role"| WorkloadIdentities

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

Zones the group may launch into.

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 · date-time

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

desired_sizeinteger

How many machines the group is trying to run right now.

health_check_grace_period_secondsinteger

How long a new machine is spared from health checks.

health_check_typesstring[]

Health checks that decide when a machine is replaced, normalised. instance: the provider's machine status checks (on AWS EC2); load_balancer: load balancer target health (ELB); service_network: service network target health (VPC Lattice); block_volume: attached volume health (EBS). instance alone means a machine failing a load balancer check is not replaced. The provider's own value is in remote_data.

Possible values:
instanceload_balancerservice_networkblock_volumeunknown
instancesobject[]

Machines currently in the group.

availability_zonestring

Zone the machine runs in.

health_statusstring

The group's health verdict for the machine. The provider's own value is in remote_data.

Possible values:
healthyunhealthyunknown
instanceobject

The machine.

1 property
idstring

The target's id.

instance_idstring

The machine's own id, verbatim.

instance_typestring

Machine type, verbatim.

lifecycle_statestring

Where the machine is in the group lifecycle, normalised. pending and terminating include their lifecycle-hook wait steps; warm_pool: a pre-initialised machine in the warm pool; standby: taken out of service but kept in the group. The provider's own value is in remote_data.

Possible values:
pendingin_servicestandbydetachingdetachedterminatingterminatedwarm_poolunknown
protected_from_scale_inboolean

Whether scale-in may not remove this machine.

launch_template_idstring

The launch template the group launches from (on AWS an lt- id, also when it comes from a mixed instances policy). Null when the group uses a legacy launch configuration.

launch_template_versionstring

The template version the group uses, verbatim ($Latest, $Default or a number on AWS).

load_balancer_target_idsstring[]

Load balancer target groups (ARNs) and classic load balancer names the group registers its machines with.

max_sizeinteger

Most machines the group may run.

min_sizeinteger

Fewest machines the group keeps.

namestring

The group's name, verbatim.

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.

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.

service_roleobject

The identity the scaling service acts as (on AWS the service-linked role).

idstring

The target's id.

statusstring

deleting while the group is being deleted; null otherwise. The provider's own value is in remote_data.

Possible values:
deletingunknown
subnet_idsstring[]

Subnets the group launches into.

suspended_processesstring[]

Scaling processes that are suspended, verbatim (Launch, Terminate, HealthCheck, ReplaceUnhealthy ... on AWS). A suspended HealthCheck or ReplaceUnhealthy stops unhealthy machines being replaced.

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 · date-time

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

uses_legacy_launch_configurationboolean

Whether the group launches from a legacy launch definition the provider no longer extends (an AWS launch configuration). False on providers without one.