Skip to content
qibdo qibdo
v1
API version
  • v1
Theme
Book a demo

Update Deployment Target

PATCH
/topology/v1/targets/{id}
curl --request PATCH \
--url https://example.com/topology/v1/targets/example \
--header 'Content-Type: application/json' \
--data '{ "resource_pool_id": "example", "name": "example", "hostname": "example", "os": { "family": "example", "manufacturer": "example", "version": "example", "bitness": "OS_BITNESS_UNSPECIFIED" }, "cpu_topology": { "byte_order": "BYTE_ORDER_UNSPECIFIED", "vendor_id": "example", "model_name": "example", "model": 1, "cpu_family_id": 1, "stepping": 1, "min_frequency_hz": "example", "max_frequency_hz": "example", "online_cpus": 1, "threads_per_core": 1, "cores_per_socket": 1, "sockets": 1, "architecture": "CPU_ARCHITECTURE_UNSPECIFIED", "caches": [ { "level": 1, "size_bytes": "example" } ], "numa": { "nodes": [ { "id": 1, "cpus": [ 1 ] } ] } }, "gpu_topology": [ { "name": "example", "device_id": "example", "vendor": "example", "base_clock_hz": "example", "boost_clock_hz": "example", "tflops": "example", "vram": { "size_bytes": "example", "type": "VRAM_TYPE_UNSPECIFIED", "memory_bus_bits": "example" }, "cores": 1, "ai_features": { "tensor_cores": 1, "rt_cores": 1, "has_dlss_support": true, "has_fp16_support": true, "has_fp64_support": true }, "memory_bandwidth_bps": "example" } ], "memory_topology": { "available_memory_bytes": "example", "free_memory_bytes": "example", "total_memory_bytes": "example", "type": "MEMORY_TYPE_UNSPECIFIED", "ddr_generation": 1 }, "disks": [ { "name": "example", "serial": "example", "size_bytes": "example", "free_space_bytes": "example", "model": "example", "type": "DISK_TYPE_UNSPECIFIED", "throughput": { "read_speed_bps": "example", "write_speed_bps": "example" }, "iops": { "ips": { "value": 1, "unit": "TOPOLOGY_DURATION_UNIT_UNSPECIFIED" }, "ops": { "value": 1, "unit": "TOPOLOGY_DURATION_UNIT_UNSPECIFIED" } } } ], "network_info": { "host_name": "example", "domain_name": "example", "dns_servers": [ "example" ], "mac_address": "example", "interfaces": [ { "ip_addresses": [ "example" ], "type": 1, "status": "NETWORK_STATUS_UNSPECIFIED", "mtu": "example", "name": "example", "display_name": "example", "bandwidth": { "download_speed_bps": "example", "upload_speed_bps": "example", "peak_download_speed_bps": "example", "peak_upload_speed_bps": "example" } } ], "ip_gateways": [ "example" ] }, "tags": [ { "id": "example", "key": "example", "value": "example", "type": "TOPOLOGY_TAG_TYPE_UNSPECIFIED", "description": "example" } ] }'

Updates an existing deployment target

id
required
string

The unique identifier of the deployment target to update

update_mask
string format: field-mask

The set of fields to update. If omitted, all mutable fields are overwritten. See AIP-134 for field mask semantics.

Media type application/json
object
id

The unique identifier of the deployment target

stringOutput only
resource_pool_id

The unique identifier of the parent resource pool (optional: a deployment target can exist without belonging to a resource pool)

string
name
required

The handle of the deployment target, e.g. “node-01”. Lowercase letters, digits and hyphens; letter-initial; not itself an id.

string
hostname
required

The hostname of the physical host (RFC 1123 FQDN, max 253)

string
os
required

The operating system running on the host

object
family
required

The OS family (e.g., “Linux”, “Windows”)

string
manufacturer

The OS manufacturer (e.g., “Canonical”, “Microsoft”)

string
version

The OS version (e.g., “22.04”, “11”)

string
bitness

The bitness of the operating system

string format: enum
Allowed values: OS_BITNESS_UNSPECIFIED OS_BITNESS_8 OS_BITNESS_16 OS_BITNESS_32 OS_BITNESS_64 OS_BITNESS_128 OS_BITNESS_256
cpu_topology
required

The CPU topology of the host

object
byte_order

The byte order of the CPU

string format: enum
Allowed values: BYTE_ORDER_UNSPECIFIED BYTE_ORDER_LITTLE_ENDIAN BYTE_ORDER_BIG_ENDIAN
vendor_id

The CPU vendor identifier (e.g., “GenuineIntel”, “AuthenticAMD”)

string
model_name

The CPU model name (e.g., “Intel(R) Xeon(R) Gold 6248R”)

string
model

The CPU model number

integer format: uint32
cpu_family_id

The CPU family identifier

integer format: uint32
stepping

The CPU stepping (revision within a model)

integer format: uint32
min_frequency_hz

The minimum clock frequency of the CPU Minimum core frequency, in hertz.

string
max_frequency_hz

The maximum clock frequency of the CPU Maximum core frequency, in hertz.

string
online_cpus
required

The number of online (available) CPUs. In hybrid architectures this number won’t necessarily match the formula: threads_per_core x cores_per_socket x sockets

integer format: uint32
threads_per_core

The number of threads per physical core

integer format: uint32
cores_per_socket

The number of physical cores per socket

integer format: uint32
sockets

The number of CPU sockets

integer format: uint32
architecture
required

The CPU architecture

string format: enum
Allowed values: CPU_ARCHITECTURE_UNSPECIFIED CPU_ARCHITECTURE_X86_64 CPU_ARCHITECTURE_X86 CPU_ARCHITECTURE_PPC64 CPU_ARCHITECTURE_ARM64
caches

The CPU caches (L1, L2, L3, etc.)

Array<object>

CPU Cache

Represents a single level of CPU cache (L1, L2, L3, etc.).

object
level
required

The cache level (1, 2, 3, etc.)

integer format: uint32
size_bytes
required

Cache size.

string
numa

The NUMA topology of the CPU

object
nodes
required

The list of NUMA nodes

Array<object>

NUMA Node

Represents a single NUMA node with its associated CPUs.

object
id
required

The NUMA node identifier

integer format: uint32
cpus

The list of CPU identifiers belonging to this NUMA node

Array<integer>
gpu_topology

The GPU topology of the host (may have zero or more GPUs)

Array<object>

GPU Topology

Describes a GPU installed on the physical host, including clock speeds, VRAM, core count, and AI-specific features.

object
name
required

The GPU name (e.g., “NVIDIA A100”, “AMD Instinct MI300X”)

string
device_id
required

The GPU device identifier

string
vendor

The GPU vendor (e.g., “NVIDIA”, “AMD”, “Intel”)

string
base_clock_hz

The base clock speed of the GPU Base clock, in hertz.

string
boost_clock_hz

The boost clock speed of the GPU Boost clock, in hertz.

string
tflops

The theoretical peak performance in TFLOPS

string
vram

The GPU video RAM

object
size_bytes
required

The total VRAM size

string
type
required

The type of VRAM

string format: enum
Allowed values: VRAM_TYPE_UNSPECIFIED VRAM_TYPE_GDDR VRAM_TYPE_HBM VRAM_TYPE_SGRAM VRAM_TYPE_UNKNOWN
memory_bus_bits

The memory bus width Memory bus WIDTH, in bits — a bus width is not a quantity of data.

string
cores

The number of GPU cores (CUDA cores, stream processors, etc.)

integer format: uint32
ai_features

AI-specific features of the GPU

object
tensor_cores

The number of tensor cores (NVIDIA) or equivalent

integer format: uint32
rt_cores

The number of ray tracing cores

integer format: uint32
has_dlss_support

Whether DLSS (Deep Learning Super Sampling) is supported

boolean
has_fp16_support

Whether FP16 (half-precision) is supported

boolean
has_fp64_support

Whether FP64 (double-precision) is supported

boolean
memory_bandwidth_bps

The memory bandwidth of the GPU Memory bandwidth, in bits per second.

string
memory_topology
required

The memory topology of the host

object
available_memory_bytes
required

The available memory (usable without swapping)

string
free_memory_bytes
required

The free memory (unused by the OS)

string
total_memory_bytes
required

The total physical memory installed

string
type

The type of physical memory

string format: enum
Allowed values: MEMORY_TYPE_UNSPECIFIED MEMORY_TYPE_DDR MEMORY_TYPE_DRAM MEMORY_TYPE_SRAM MEMORY_TYPE_SDRAM
ddr_generation

The DDR generation (e.g., 4 for DDR4, 5 for DDR5). Only applicable when type is DDR.

integer format: uint32
disks
required

The disk nodes attached to the deployment target

Array<object>

Disk Node

Describes a physical disk attached to the deployment target.

object
name
required

The disk device name (e.g., “/dev/sda”, “/dev/nvme0n1”)

string
serial

The disk serial number

string
size_bytes
required

The total disk size

string
free_space_bytes
required

The free space available on the disk

string
model

The disk model name

string
type
required

The type of physical disk

string format: enum
Allowed values: DISK_TYPE_UNSPECIFIED DISK_TYPE_HDD DISK_TYPE_SSD DISK_TYPE_SSHD DISK_TYPE_NVME DISK_TYPE_UNKNOWN
throughput

The disk throughput (read/write speeds)

object
read_speed_bps

The sequential read speed Sequential read speed, in bits per second.

string
write_speed_bps

The sequential write speed Sequential write speed, in bits per second.

string
iops

The disk IOPS (input/output operations per second)

object
ips

Input operations per time unit (read IOPS)

object
value
required

The numerical value of operations

number format: double
unit
required

The time unit denominator

string format: enum
Allowed values: TOPOLOGY_DURATION_UNIT_UNSPECIFIED TOPOLOGY_DURATION_UNIT_NANOSECONDS TOPOLOGY_DURATION_UNIT_MICROSECONDS TOPOLOGY_DURATION_UNIT_MILLISECONDS TOPOLOGY_DURATION_UNIT_SECONDS TOPOLOGY_DURATION_UNIT_MINUTES TOPOLOGY_DURATION_UNIT_HOURS TOPOLOGY_DURATION_UNIT_DAYS
ops

Output operations per time unit (write IOPS)

object
value
required

The numerical value of operations

number format: double
unit
required

The time unit denominator

string format: enum
Allowed values: TOPOLOGY_DURATION_UNIT_UNSPECIFIED TOPOLOGY_DURATION_UNIT_NANOSECONDS TOPOLOGY_DURATION_UNIT_MICROSECONDS TOPOLOGY_DURATION_UNIT_MILLISECONDS TOPOLOGY_DURATION_UNIT_SECONDS TOPOLOGY_DURATION_UNIT_MINUTES TOPOLOGY_DURATION_UNIT_HOURS TOPOLOGY_DURATION_UNIT_DAYS
network_info
required

The network information of the host

object
host_name
required

The hostname of the host

string
domain_name

The domain name of the host

string
dns_servers

The DNS servers configured on the host

Array<string>
mac_address

The primary MAC address of the host

string
interfaces

The network interfaces available on the host

Array<object>

Network Interface

Describes a network interface on the physical host.

object
ip_addresses

The IP addresses assigned to this interface

Array<string>
type

The interface type identifier

integer format: uint32
status
required

The operational status of the interface

string format: enum
Allowed values: NETWORK_STATUS_UNSPECIFIED NETWORK_STATUS_UP NETWORK_STATUS_DOWN NETWORK_STATUS_TESTING NETWORK_STATUS_DORMANT NETWORK_STATUS_NOT_PRESENT NETWORK_STATUS_LOWER_LAYER_DOWN NETWORK_STATUS_UNKNOWN
mtu

The Maximum Transmission Unit (MTU) in bytes

string
name

The interface name (e.g., “eth0”, “ens3”)

string
display_name

The display name of the interface

string
bandwidth

The bandwidth of the interface

object
download_speed_bps

The current download speed Negotiated download speed, in bits per second.

string
upload_speed_bps

The current upload speed Negotiated upload speed, in bits per second.

string
peak_download_speed_bps

The peak download speed observed Peak download speed, in bits per second.

string
peak_upload_speed_bps

The peak upload speed observed Peak upload speed, in bits per second.

string
ip_gateways

The IP gateways configured on the host

Array<string>
tags

Tags associated with this deployment target for labeling and categorization

Array<object>

Topology Tag

A key-value pair used to label and categorize topology resources such as regions, zones, resource pools, and deployment targets.

object
id

The unique identifier of the tag

string
key
required

The key of the tag

string
value
required

The value of the tag

string
type

The type of the tag (system or user-defined)

string format: enum
Allowed values: TOPOLOGY_TAG_TYPE_UNSPECIFIED TOPOLOGY_TAG_TYPE_SYSTEM TOPOLOGY_TAG_TYPE_USER
description

An optional description for the tag

string
create_time

The timestamp when the deployment target was registered

string format: date-time Output only
update_time

The timestamp when the deployment target was last updated

string format: date-time Output only
node_name

Node Name

The Kubernetes Node name this deployment target projects (node.metadata.name). Mutable on K8s rename. Used for human-friendly identification and filtering, NOT for correlation; use node_uid for that.

stringOutput only
node_uid

Node Uid

The Kubernetes Node uid (node.metadata.uid): durable correlation key (AD-003 §Correlation). Immutable; a deleted-and-recreated Node yields a new uid, which produces a new DeploymentTarget row rather than resurrecting the old one.

stringOutput only
status

Status

Domain status of the deployment target: one of ready, not_ready, maintenance, deleted. deleted is the terminal soft-delete state; findAll listings exclude it by default. maintenance is preferred over the K8s-specific “cordoned”; see AD-003 §Vocabulary.

string format: enum Output only
Allowed values: DEPLOYMENT_TARGET_STATUS_UNSPECIFIED DEPLOYMENT_TARGET_STATUS_READY DEPLOYMENT_TARGET_STATUS_NOT_READY DEPLOYMENT_TARGET_STATUS_MAINTENANCE DEPLOYMENT_TARGET_STATUS_DELETED
labels

Labels

The full Kubernetes Node label map. Powers ResourcePool selector matching.

object
key
additional properties
string
last_observe_time

Last Observed At

Last successful reconciler observation: freshness proof for the 5-second SLA.

string format: date-time Output only
zone_id

Zone Id

The zone this deployment target belongs to (FK to topology.zones(id), denormalised onto the row so AIP-160 filters can scope by zone without a JOIN). Populated by the K8s reconciler from the standard topology.kubernetes.io/zone label; empty when the label is absent. Used by compute’s scheduler feasibility check.

stringOutput only

OK

Media type application/json

Topology Operation

An acknowledgment of a mutation request, carrying tracking metadata, errors, and warnings. Follows GCP’s Operations pattern (AIP-151).

object
id

Operation ID

Unique identifier for this operation.

stringOutput only
resource_id

Resource ID

The ID of the resource affected by this operation. May be empty for async operations where the resource does not yet exist.

stringOutput only
resource_type

Resource Type

The type of resource (e.g., “com.qibdo.cloud.topology:zone”).

stringOutput only
operation_type

Operation Type

The kind of mutation that was requested.

string format: enum Output only
Allowed values: TOPOLOGY_OPERATION_TYPE_UNSPECIFIED TOPOLOGY_OPERATION_TYPE_CREATE TOPOLOGY_OPERATION_TYPE_UPDATE TOPOLOGY_OPERATION_TYPE_DELETE TOPOLOGY_OPERATION_TYPE_REGISTER
status

Status

Current lifecycle state of the operation.

string format: enum Output only
Allowed values: TOPOLOGY_OPERATION_STATUS_UNSPECIFIED TOPOLOGY_OPERATION_STATUS_PENDING TOPOLOGY_OPERATION_STATUS_RUNNING TOPOLOGY_OPERATION_STATUS_DONE TOPOLOGY_OPERATION_STATUS_ERROR
insert_time

Insert Time

When the operation was first created.

string format: date-time Output only
start_time

Start Time

When the operation started executing.

string format: date-time Output only
end_time

End Time

When the operation completed (either successfully or with errors).

string format: date-time Output only
errors

Errors

Business rule errors encountered during the operation.

Array<object>Output only

Operation Error

A structured error returned inside an operation when a business rule fails.

object
code

Error Code

Numeric identifier following the S_SSS_EEE convention.

integer format: uint32 Output only
description

Description

Human-readable explanation of the error.

stringOutput only
reason

Reason

Machine-readable error identifier in UPPER_SNAKE form — the same dispatch key google.rpc.ErrorInfo.reason carries on the synchronous error plane.

stringOutput only
warnings

Warnings

Non-fatal notices about the operation.

Array<object>Output only

Operation Warning

A non-fatal notice attached to an operation.

object
code

Warning Code

Numeric identifier following the S_SSS_EEE convention.

integer format: uint32 Output only
description

Description

Human-readable explanation of the warning.

stringOutput only
progress

Progress

Percentage of completion (0-100).

integer format: int32 Output only
scope_type

Scope Type

The category of scope the operation ran in or was triggered from. TOPOLOGY_SCOPE_TYPE_UNSPECIFIED when the operation is not scoped.

string format: enum Output only
Allowed values: TOPOLOGY_SCOPE_TYPE_UNSPECIFIED TOPOLOGY_SCOPE_TYPE_PLATFORM TOPOLOGY_SCOPE_TYPE_ORGANISATION TOPOLOGY_SCOPE_TYPE_WORKSPACE TOPOLOGY_SCOPE_TYPE_GROUP
scope_id

Scope ID

The resource this operation was scoped to — for example, when scope_type is TOPOLOGY_SCOPE_TYPE_WORKSPACE this is the workspace id. Empty for TOPOLOGY_SCOPE_TYPE_PLATFORM, which has no scoped resource, and when unscoped.

stringOutput only
principal_id

Principal ID

Who performed or triggered the operation, whether a person or a machine account. Always populated: platform-driven work records the reserved system principal, so every audit record names an actor.

stringOutput only
trace_id

Trace ID

W3C trace id, for correlating this operation with the traces and log lines of the request that caused it. Empty when the operation ran with no trace context — a scheduled or event-driven action rather than a request.

stringOutput only
Example
{
"operation_type": "TOPOLOGY_OPERATION_TYPE_UNSPECIFIED",
"status": "TOPOLOGY_OPERATION_STATUS_UNSPECIFIED",
"scope_type": "TOPOLOGY_SCOPE_TYPE_UNSPECIFIED"
}

Default error response

Media type application/json

The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide.

object
code

The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

integer format: int32
message

A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.

string
details

A list of messages that carry the error details. There is a common set of message types for APIs to use.

Array<object>

Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.

object
@type

The type of the serialized message.

string
key
additional properties
any
Example generated
{
"code": 1,
"message": "example",
"details": [
{
"@type": "example"
}
]
}