vapi std errors: unable to allocate resource

The unable_to_allocate_resource error indicates that the operation failed because it was unable to allocate or acquire a required resource.

Examples:

  • Trying to power on a virtual machine when there are not enough licenses to do so.
  • Trying to power on a virtual machine that would violate a resource usage policy.

Counterexamples:

  • Trying to power off a virtual machine that is in the process of being powered on. A vapi.std.errors.resource_busy error would be used instead.
  • Trying to remove a VMFS datastore when the is a virtual machine registered on any host attached to the datastore. The vapi.std.errors.resource_in_use error would be used instead.
  • Trying to add a virtual switch if the physical network adapter being bridged is already in use. The vapi.std.errors.resource_in_use error would be used instead.
  • Attempt to invoke some operation on a virtual machine when the virtual machine's configuration file is not accessible (for example due to a storage APD condition). The vapi.std.errors.resource_inaccessible error would be used instead.

Representation:

{
    "type""com.vmware.vapi.std.errors.unable_to_allocate_resource",
    "value"{
        "data"{},
        "messages"[
            {
                "args"[
                    "string",
                    "string"
                ],
                "default_message""string",
                "id""string"
            },
            {
                "args"[
                    "string",
                    "string"
                ],
                "default_message""string",
                "id""string"
            }
        ]
    }
}

Attributes:

Name Type Description
Required
messages localizable_message[] Stack of one or more localizable messages for human error consumers.

The message at the top of the stack (first in the list) describes the error from the perspective of the operation the client invoked. Each subsequent message in the stack describes the "cause" of the prior message.

Optional
data object Data to facilitate clients responding to the operation reporting a standard error to indicating that it was unable to complete successfully.

Operations may provide data that clients can use when responding to errors. Since the data that clients need may be specific to the context of the operation reporting the error, different operations that report the same error may provide different data in the error. The documentation for each each operation will describe what, if any, data it provides for each error it reports. The vapi.std.errors.argument_locations, vapi.std.errors.file_locations, and vapi.std.errors.transient_indication structures are intended as possible values for this field. vapi.std.dynamic_ID may also be useful as a value for this field (although that is not its primary purpose). Some services may provide their own specific structures for use as the value of this field when reporting errors from their operations.

Optional. Some operations will not set this field when reporting errors.