Skip to content
GET /unified/cloud-infrastructure/machine_images/{id}

Path Parameters

idstring
required·

The ID of the resource.

Example: 23423523

Query Parameters

Refer Specifying query parameters in Truto APIs

regionstring

Used only when id is a bare provider id; an ARN id carries its own region.

1 supported
Amazon Web Services
supported
Show Truto-specific parameters
integrated_account_idstring · uuid
required·

The ID of the integrated account to use for the request.

Example: 62f44730-dd91-461e-bd6a-aedd9e0ad79d
truto_response_formatstring

The format of the response.

  • unified returns the response with unified mappings applied.
  • raw returns the unprocessed, raw response from the remote API.
  • normalized applies the unified mappings and returns the data in a normalized format.
  • stream returns the response as a stream, which is ideal for transmitting large datasets, files, or binary data. Using streaming mode helps to efficiently handle large payloads or real-time data flows without requiring the entire data to be buffered in memory.
  • debug returns the final unified result alongside raw remote fetch information. The response is an envelope containing result (identical to unified mode output) and debug (with requestUrl, requestOptions, data, responseHeaders, and for list operations: nextCursor, isLooping, isEmptyResult, resultCount). When the upstream body exceeds 1 MiB, data is replaced by { truto_truncated: true, truto_max_bytes, truto_excerpt }. debug is null for static responses or when truto_skip_api_call=true.

Defaults to unified.

Example: unified
Possible values:
unifiedrawnormalizedstreamdebug
truto_ignore_remote_databoolean

Excludes the remote_data attribute from the response.

truto_exclude_fieldsstring[]

Array of fields to exclude from the response.

Example: truto_exclude_fields[]=id&truto_exclude_fields[]=name
remote_queryRecord<string, any>

Query parameters to pass to the underlying API without any transformations. Refer this guide to see how to structure the query parameters.

Example: remote_query[foo]=bar

Response Body

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.

1 supported
Amazon Web Services
supported
accountstring

The account, subscription or project this object belongs to.

References: Accounts → id
1 supported
Amazon Web Services
supported
architecturestring

Instruction set architecture, verbatim (x86_64, arm64).

1 supported
Amazon Web Services
supported
boot_modestring

Firmware the image boots with. uefi_preferred: UEFI where the machine type supports it, else BIOS. Null when the image does not set one. The provider's own value is in remote_data.

Possible values:
biosuefiuefi_preferredunknown
1 supported
Amazon Web Services
supported
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.

1 supported
Amazon Web Services
supported
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.

1 supported
Amazon Web Services
supported
deprecated_atstring · date-time

When the image is or was deprecated. Null when no deprecation is set.

1 supported
Amazon Web Services
supported
descriptionstring

The image's description, verbatim.

1 supported
Amazon Web Services
supported
encryption_at_restboolean

Whether every disk snapshot in the image is encrypted. Null for an image with no snapshot-backed disk (instance-store).

1 supported
Amazon Web Services
supported
image_idstring

The provider's own image id, verbatim (an ami- id on AWS).

1 supported
Amazon Web Services
supported
is_publicboolean

Whether anyone, in any account, can launch the image.

1 supported
Amazon Web Services
supported
last_launched_atstring · date-time

When a machine was last launched from the image, as the provider records it (on AWS this lags by up to 24 hours).

1 supported
Amazon Web Services
supported
namestring

The image's name, verbatim.

1 supported
Amazon Web Services
supported
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.

1 supported
Amazon Web Services
supported
os_familystring

Operating system family. linux_unix covers Linux and other Unix-like systems; unknown when the provider does not say. The provider's own value is in remote_data.

Possible values:
windowslinux_unixmacosunknown
1 supported
Amazon Web Services
supported
providerstring

Which cloud this object was read from.

Possible values:
awsazuregcp
1 supported
Amazon Web Services
supported
provider_idstring

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

1 supported
Amazon Web Services
supported
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.

1 supported
Amazon Web Services
supported
remote_dataRecord<string, any>

Raw data returned from the remote API call.

requires_metadata_tokenboolean

Whether machines launched from the image require metadata-service session tokens by default (on AWS, imdsSupport v2.0).

1 supported
Amazon Web Services
supported
root_device_typestring

What the root disk is. block_volume: a persistent block volume (EBS on AWS); instance_store: a disk on the host, lost when the machine stops. The provider's own value is in remote_data.

Possible values:
block_volumeinstance_storeunknown
1 supported
Amazon Web Services
supported
shared_with_accountsstring[]

Accounts the image is shared with. Not collected on AWS (see unreadable_fields).

1 supported
Amazon Web Services
supported
source_image_idstring

The image this one was copied from, verbatim. Null when it was not copied.

1 supported
Amazon Web Services
supported
statestring

Image state, normalised. disabled: kept but cannot be launched; deregistered: deleted (the provider shows it for a short while). The provider's own value is in remote_data.

Possible values:
pendingavailablefaileddisabledderegisteredunknown
1 supported
Amazon Web Services
supported
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.

1 supported
Amazon Web Services
supported
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.

1 supported
Amazon Web Services
supported
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.

1 supported
Amazon Web Services
supported
virtualization_typestring

Virtualization type, verbatim (hvm, paravirtual on AWS).

1 supported
Amazon Web Services
supported
truto unified cloud-infrastructure machineimages '<resource_id>' \
  -m get \
  -a '<integrated_account_id>' \
  -o json
import Truto from '@truto/truto-ts-sdk';

const truto = new Truto({
  token: '<your_api_token>',
});

const result = await truto.unifiedApi.get(
  'cloud-infrastructure',
  'machineimages',
  '<resource_id>',
  { integrated_account_id: '<integrated_account_id>' }
);

console.log(result);
import asyncio
from truto_python_sdk import TrutoApi

truto_api = TrutoApi(token="<your_api_token>")

async def main():
    result = await truto_api.unified_api.get(
        "cloud-infrastructure",
        "machineimages",
        "<resource_id>",
        {"integrated_account_id": "<integrated_account_id>"}
    )
    print(result)

asyncio.run(main())
curl -X GET 'https://api.truto.one/unified/cloud-infrastructure/machine_images/{id}?integrated_account_id=<integrated_account_id>' \
  -H 'Authorization: Bearer <your_api_token>' \
  -H 'Content-Type: application/json'
const integratedAccountId = '<integrated_account_id>';

const response = await fetch(`https://api.truto.one/unified/cloud-infrastructure/machine_images/{id}?integrated_account_id=${integratedAccountId}`, {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer <your_api_token>',
    'Content-Type': 'application/json',
  },
});

const data = await response.json();
console.log(data);
import requests

url = "https://api.truto.one/unified/cloud-infrastructure/machine_images/{id}"
headers = {
    "Authorization": "Bearer <your_api_token>",
    "Content-Type": "application/json",
}
params = {
    "integrated_account_id": "<integrated_account_id>"
}

response = requests.get(url, headers=headers, params=params)
print(response.json())