vapi std errors: error

The error error describes thefields common to all standard errors.

This error serves two purposes:

  1. It is the error that clients in many programming languages can catch to handle all standard errors. Typically those clients will display one or more of the localizable messages from vapi.std.errors.error.messages to a human.
  2. It is the error that operations can report when they need to report some error, but the error doesn't fit into any other standard error, and in fact the only reasonable way for a client to react to the error is to display the message(s) to a human.

Representation:

{
    "data"{},
    "error_type""ERROR",
    "messages"[
        {
            "args"[
                "string",
                "string"
            ],
            "default_message""string",
            "localized""string",
            "id""string",
            "params"{
                "<string>"{
                    "dt""2015-01-01T22:13:05.651Z",
                    "s""string",
                    "d"1.5,
                    "precision"1,
                    "format""SHORT_DATE",
                    "i"1,
                    "l"{
                        "id""string",
                        "params"{
                            "<string>"{
                                "dt""2015-01-01T22:13:05.651Z",
                                "s""string",
                                "d"1.5,
                                "precision"1,
                                "format""SHORT_DATE",
                                "i"1,
                                "l"{
                                    "id""string",
                                    "params"{}
                                }
                            }
                        }
                    }
                }
            }
        },
        {
            "args"[
                "string",
                "string"
            ],
            "default_message""string",
            "localized""string",
            "id""string",
            "params"{
                "<string>"{
                    "dt""2015-01-01T22:13:05.651Z",
                    "s""string",
                    "d"1.5,
                    "precision"1,
                    "format""SHORT_DATE",
                    "i"1,
                    "l"{
                        "id""string",
                        "params"{
                            "<string>"{
                                "dt""2015-01-01T22:13:05.651Z",
                                "s""string",
                                "d"1.5,
                                "precision"1,
                                "format""SHORT_DATE",
                                "i"1,
                                "l"{
                                    "id""string",
                                    "params"{}
                                }
                            }
                        }
                    }
                }
            }
        }
    ]
}
{
    "type""com.vmware.vapi.std.errors.error",
    "value"{
        "data"{
            "@class""dynamic_structure"
        },
        "error_type""ERROR",
        "messages"[
            {
                "args"[
                    "string",
                    "string"
                ],
                "default_message""string",
                "localized""string",
                "id""string",
                "params"[
                    {
                        "value"{
                            "dt""2015-01-01T22:13:05.651Z",
                            "s""string",
                            "d"1.5,
                            "precision"1,
                            "format""SHORT_DATE",
                            "i"1,
                            "l"{
                                "id""string",
                                "params"[
                                    {
                                        "value"{
                                            "dt""2015-01-01T22:13:05.651Z",
                                            "s""string",
                                            "d"1.5,
                                            "precision"1,
                                            "format""SHORT_DATE",
                                            "i"1,
                                            "l"{
                                                "id""string",
                                                "params"[
                                                    {
                                                        "key""string"
                                                    }
                                                ]
                                            }
                                        },
                                        "key""string"
                                    }
                                ]
                            }
                        },
                        "key""string"
                    }
                ]
            },
            {
                "args"[
                    "string",
                    "string"
                ],
                "default_message""string",
                "localized""string",
                "id""string",
                "params"[
                    {
                        "value"{
                            "dt""2015-01-01T22:13:05.651Z",
                            "s""string",
                            "d"1.5,
                            "precision"1,
                            "format""SHORT_DATE",
                            "i"1,
                            "l"{
                                "id""string",
                                "params"[
                                    {
                                        "value"{
                                            "dt""2015-01-01T22:13:05.651Z",
                                            "s""string",
                                            "d"1.5,
                                            "precision"1,
                                            "format""SHORT_DATE",
                                            "i"1,
                                            "l"{
                                                "id""string",
                                                "params"[
                                                    {
                                                        "key""string"
                                                    }
                                                ]
                                            }
                                        },
                                        "key""string"
                                    }
                                ]
                            }
                        },
                        "key""string"
                    }
                ]
            }
        ]
    }
}

HTTP Status Code: 500

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.

-.messages[].id string Unique identifier of the localizable string or message template.

This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.

-.messages[].default_message string The value of this localizable string or message template in the en_US (English) locale. If vapi.std.localizable_message.id refers to a message template, the default message will contain the substituted arguments. This value can be used by clients that do not need to display strings and messages in the native language of the user. It could also be used as a fallback if a client is unable to access the appropriate message catalog.

-.messages[].args string[] Positional arguments to be substituted into the message template. This list will be empty if the message uses named arguments or has no arguments.

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.

-.error_type string Discriminator field to help API consumers identify the structure type. This attribute was added in vSphere API 6.7.2.

Enumeration of all standard errors. Used as discriminator in protocols that have no standard means for transporting the error type, e.g. REST. This enumeration was added in vSphere API 6.7.2. Value is one of:
ERROR: Discriminator for the vapi.std.errors.error type. This constant was added in vSphere API 6.7.2.
ALREADY_EXISTS: Discriminator for the vapi.std.errors.already_exists type. This constant was added in vSphere API 6.7.2.
ALREADY_IN_DESIRED_STATE: Discriminator for the vapi.std.errors.already_in_desired_state type. This constant was added in vSphere API 6.7.2.
CANCELED: Discriminator for the vapi.std.errors.canceled type. This constant was added in vSphere API 6.7.2.
CONCURRENT_CHANGE: Discriminator for the vapi.std.errors.concurrent_change type. This constant was added in vSphere API 6.7.2.
FEATURE_IN_USE: Discriminator for the vapi.std.errors.feature_in_use type. This constant was added in vSphere API 6.7.2.
INTERNAL_SERVER_ERROR: Discriminator for the vapi.std.errors.internal_server_error type. This constant was added in vSphere API 6.7.2.
INVALID_ARGUMENT: Discriminator for the vapi.std.errors.invalid_argument type. This constant was added in vSphere API 6.7.2.
INVALID_ELEMENT_CONFIGURATION: Discriminator for the vapi.std.errors.invalid_element_configuration type. This constant was added in vSphere API 6.7.2.
INVALID_ELEMENT_TYPE: Discriminator for the vapi.std.errors.invalid_element_type type. This constant was added in vSphere API 6.7.2.
INVALID_REQUEST: Discriminator for the vapi.std.errors.invalid_request type. This constant was added in vSphere API 6.7.2.
NOT_ALLOWED_IN_CURRENT_STATE: Discriminator for the vapi.std.errors.not_allowed_in_current_state type. This constant was added in vSphere API 6.7.2.
NOT_FOUND: Discriminator for the vapi.std.errors.not_found type. This constant was added in vSphere API 6.7.2.
OPERATION_NOT_FOUND: Discriminator for the vapi.std.errors.operation_not_found type. This constant was added in vSphere API 6.7.2.
RESOURCE_BUSY: Discriminator for the vapi.std.errors.resource_busy type. This constant was added in vSphere API 6.7.2.
RESOURCE_IN_USE: Discriminator for the vapi.std.errors.resource_in_use type. This constant was added in vSphere API 6.7.2.
RESOURCE_INACCESSIBLE: Discriminator for the vapi.std.errors.resource_inaccessible type. This constant was added in vSphere API 6.7.2.
SERVICE_UNAVAILABLE: Discriminator for the vapi.std.errors.service_unavailable type. This constant was added in vSphere API 6.7.2.
TIMED_OUT: Discriminator for the vapi.std.errors.timed_out type. This constant was added in vSphere API 6.7.2.
UNABLE_TO_ALLOCATE_RESOURCE: Discriminator for the vapi.std.errors.unable_to_allocate_resource type. This constant was added in vSphere API 6.7.2.
UNAUTHENTICATED: Discriminator for the vapi.std.errors.unauthenticated type. This constant was added in vSphere API 6.7.2.
UNAUTHORIZED: Discriminator for the vapi.std.errors.unauthorized type. This constant was added in vSphere API 6.7.2.
UNEXPECTED_INPUT: Discriminator for the vapi.std.errors.unexpected_input type. This constant was added in vSphere API 6.7.2.
UNSUPPORTED: Discriminator for the vapi.std.errors.unsupported type. This constant was added in vSphere API 6.7.2.
UNVERIFIED_PEER: Discriminator for the vapi.std.errors.unverified_peer type. This constant was added in vSphere API 6.7.2.Optional. Can be unset for compatibility with preceding implementations.