REST Resource: projects.locations.queuedResources

Resource: QueuedResource

A QueuedResource represents a request for resources that will be placed in a queue and fulfilled when the necessary resources are available.

JSON representation
{
  "name": string,
  "createTime": string,
  "queueingPolicy": {
    object (QueueingPolicy)
  },
  "state": {
    object (QueuedResourceState)
  },
  "reservationName": string,

  // Union field resource can be only one of the following:
  "tpu": {
    object (Tpu)
  }
  // End of list of possible types for union field resource.

  // Union field tier can be only one of the following:
  "bestEffort": {
    object (BestEffort)
  },
  "guaranteed": {
    object (Guaranteed)
  },
  "spot": {
    object (Spot)
  }
  // End of list of possible types for union field tier.
}
Fields
name

string

Output only. Immutable. The name of the QueuedResource.

createTime

string (Timestamp format)

Output only. The time when the QueuedResource was created.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

queueingPolicy

object (QueueingPolicy)

The queueing policy of the QueuedRequest.

state

object (QueuedResourceState)

Output only. State of the QueuedResource request.

reservationName

string

Name of the reservation in which the resource should be provisioned. Format: projects/{project}/locations/{zone}/reservations/{reservation}

Union field resource. Resource specification. resource can be only one of the following:
tpu

object (Tpu)

Defines a TPU resource.

Union field tier. Tier specifies the required tier. tier can be only one of the following:
bestEffort

object (BestEffort)

The BestEffort tier.

guaranteed

object (Guaranteed)

The Guaranteed tier.

spot

object (Spot)

Optional. The Spot tier.

Tpu

Details of the TPU resource(s) being requested.

JSON representation
{
  "nodeSpec": [
    {
      object (NodeSpec)
    }
  ]
}
Fields
nodeSpec[]

object (NodeSpec)

The TPU node(s) being requested.

NodeSpec

Details of the TPU node(s) being requested. Users can request either a single node or multiple nodes. NodeSpec provides the specification for node(s) to be created.

JSON representation
{
  "parent": string,
  "nodeId": string,
  "multiNodeParams": {
    object (MultiNodeParams)
  },
  "node": {
    object (Node)
  }
}
Fields
parent

string

Required. The parent resource name.

nodeId

string

The unqualified resource name. Should follow the ^[A-Za-z0-9_.~+%-]+$ regex format. This is only specified when requesting a single node. In case of multi-node requests, multiNodeParams must be populated instead. It's an error to specify both nodeId and multiNodeParams.

multiNodeParams

object (MultiNodeParams)

Optional. Fields to specify in case of multi-node request.

node

object (Node)

Required. The node.

MultiNodeParams

Parameters to specify for multi-node QueuedResource requests. This field must be populated in case of multi-node requests instead of nodeId. It's an error to specify both nodeId and multiNodeParams.

JSON representation
{
  "nodeCount": integer,
  "nodeIdPrefix": string,
  "workloadType": enum (WorkloadType)
}
Fields
nodeCount

integer

Required. Number of nodes with this spec. The system will attempt to provison "nodeCount" nodes as part of the request. This needs to be > 1.

nodeIdPrefix

string

Prefix of node_ids in case of multi-node request Should follow the ^[A-Za-z0-9_.~+%-]+$ regex format. If nodeCount = 3 and nodeIdPrefix = "np", node ids of nodes created will be "np-0", "np-1", "np-2". If this field is not provided we use queuedResourceId as the nodeIdPrefix.

workloadType

enum (WorkloadType)

Optional. The workload type for the multi-node request.

WorkloadType

The workload type for the multi-node request.

Enums
WORKLOAD_TYPE_UNSPECIFIED Not specified.
THROUGHPUT_OPTIMIZED All of the nodes are available most of the time. Recommended for training workloads.
AVAILABILITY_OPTIMIZED Most of the nodes are available all of the time. Recommended for serving workloads.

BestEffort

This type has no fields.

BestEffort tier definition.

Guaranteed

Guaranteed tier definition.

JSON representation
{
  "minDuration": string,
  "reserved": boolean
}
Fields
minDuration

string (Duration format)

Optional. Defines the minimum duration of the guarantee. If specified, the requested resources will only be provisioned if they can be allocated for at least the given duration.

A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".

reserved

boolean

Optional. Specifies the request should be scheduled on reserved capacity.

Spot

This type has no fields.

Spot tier definition.

QueueingPolicy

Defines the policy of the QueuedRequest.

JSON representation
{

  // Union field start_timing_constraints can be only one of the following:
  "validUntilDuration": string,
  "validUntilTime": string,
  "validAfterDuration": string,
  "validAfterTime": string,
  "validInterval": {
    object (Interval)
  }
  // End of list of possible types for union field start_timing_constraints.
}
Fields
Union field start_timing_constraints. Time flexibility specification. start_timing_constraints can be only one of the following:
validUntilDuration

string (Duration format)

A relative time after which resources should not be created. If the request cannot be fulfilled by this time the request will be failed.

A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".

validUntilTime

string (Timestamp format)

An absolute time after which resources should not be created. If the request cannot be fulfilled by this time the request will be failed.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

validAfterDuration

string (Duration format)

A relative time after which resources may be created.

A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".

validAfterTime

string (Timestamp format)

An absolute time at which resources may be created.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

validInterval

object (Interval)

An absolute time interval within which resources may be created.

QueuedResourceState

QueuedResourceState defines the details of the QueuedResource request.

JSON representation
{
  "state": enum (State),
  "stateInitiator": enum (StateInitiator),

  // Union field state_data can be only one of the following:
  "creatingData": {
    object (CreatingData)
  },
  "acceptedData": {
    object (AcceptedData)
  },
  "provisioningData": {
    object (ProvisioningData)
  },
  "failedData": {
    object (FailedData)
  },
  "deletingData": {
    object (DeletingData)
  },
  "activeData": {
    object (ActiveData)
  },
  "suspendingData": {
    object (SuspendingData)
  },
  "suspendedData": {
    object (SuspendedData)
  }
  // End of list of possible types for union field state_data.
}
Fields
state

enum (State)

State of the QueuedResource request.

stateInitiator

enum (StateInitiator)

Output only. The initiator of the QueuedResources's current state. Used to indicate whether the SUSPENDING/SUSPENDED state was initiated by the user or the service.

Union field state_data. Further data for the state. state_data can be only one of the following:
creatingData

object (CreatingData)

Further data for the creating state.

acceptedData

object (AcceptedData)

Further data for the accepted state.

provisioningData

object (ProvisioningData)

Further data for the provisioning state.

failedData

object (FailedData)

Further data for the failed state.

deletingData

object (DeletingData)

Further data for the deleting state.

activeData

object (ActiveData)

Further data for the active state.

suspendingData

object (SuspendingData)

Further data for the suspending state.

suspendedData

object (SuspendedData)

Further data for the suspended state.

State

Output only state of the request

Enums
STATE_UNSPECIFIED State of the QueuedResource request is not known/set.
CREATING The QueuedResource request has been received. We're still working on determining if we will be able to honor this request.
ACCEPTED The QueuedResource request has passed initial validation/admission control and has been persisted in the queue.
PROVISIONING The QueuedResource request has been selected. The associated resources are currently being provisioned (or very soon will begin provisioning).
FAILED The request could not be completed. This may be due to some late-discovered problem with the request itself, or due to unavailability of resources within the constraints of the request (e.g., the 'valid until' start timing constraint expired).
DELETING The QueuedResource is being deleted.
ACTIVE The resources specified in the QueuedResource request have been provisioned and are ready for use by the end-user/consumer.
SUSPENDING The resources specified in the QueuedResource request are being deleted. This may have been initiated by the user, or the Cloud TPU service. Inspect the state data for more details.
SUSPENDED The resources specified in the QueuedResource request have been deleted.
WAITING_FOR_RESOURCES The QueuedResource request has passed initial validation and has been persisted in the queue. It will remain in this state until there are sufficient free resources to begin provisioning your request. Wait times will vary significantly depending on demand levels. When demand is high, not all requests can be immediately provisioned. If you need more reliable obtainability of TPUs consider purchasing a reservation. To put a limit on how long you are willing to wait, use timing constraints.

CreatingData

This type has no fields.

Further data for the creating state.

AcceptedData

This type has no fields.

Further data for the accepted state.

ProvisioningData

This type has no fields.

Further data for the provisioning state.

FailedData

Further data for the failed state.

JSON representation
{
  "error": {
    object (Status)
  }
}
Fields
error

object (Status)

The error that caused the queued resource to enter the FAILED state.

DeletingData

This type has no fields.

Further data for the deleting state.

ActiveData

This type has no fields.

Further data for the active state.

SuspendingData

This type has no fields.

Further data for the suspending state.

SuspendedData

This type has no fields.

Further data for the suspended state.

StateInitiator

The initiator of the QueuedResource's SUSPENDING/SUSPENDED state.

Enums
STATE_INITIATOR_UNSPECIFIED The state initiator is unspecified.
USER The current QueuedResource state was initiated by the user.
SERVICE The current QueuedResource state was initiated by the service.

Methods

create

Creates a QueuedResource TPU instance.

delete

Deletes a QueuedResource TPU instance.

get

Gets details of a queued resource.

list

Lists queued resources.

performMaintenanceQueuedResource

Perform manual maintenance on specific nodes of a QueuedResource.

reset

Resets a QueuedResource TPU instance