{
    "author": {
        "name": "com.vmware.vapi.idl.model.tools.JsonIdlWriter",
        "version": "2.100.0.13795377"
    },
    "exports": {
        "name": "com.vmware.cis",
        "type": "exports",
        "packages": [
            {
                "name": "com.vmware.cis.task",
                "enumerations": [
                    {
                        "name": "Status",
                        "constants": {
                            "PENDING": "PENDING",
                            "RUNNING": "RUNNING",
                            "BLOCKED": "BLOCKED",
                            "SUCCEEDED": "SUCCEEDED",
                            "FAILED": "FAILED"
                        }
                    }
                ],
                "structures": [
                    {
                        "name": "Progress"
                    },
                    {
                        "name": "CommonInfo"
                    },
                    {
                        "name": "Info"
                    }
                ]
            }
        ]
    },
    "imports": [
        {
            "name": "com.vmware.vapi",
            "type": "imports",
            "packages": [
                {
                    "name": "com.vmware.vapi.std.errors",
                    "structures": [
                        {
                            "name": "ArgumentLocations"
                        },
                        {
                            "name": "FileLocations"
                        },
                        {
                            "name": "TransientIndication"
                        }
                    ],
                    "errors": [
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "AlreadyExists"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "AlreadyInDesiredState"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "Canceled"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "ConcurrentChange"
                        },
                        {
                            "parent": "Exception",
                            "name": "Error"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "FeatureInUse"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "InternalServerError"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "InvalidArgument"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "InvalidElementConfiguration"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "InvalidElementType"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "InvalidRequest"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "NotAllowedInCurrentState"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "NotFound"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "OperationNotFound"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "ResourceBusy"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "ResourceInUse"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "ResourceInaccessible"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "ServiceUnavailable"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "TimedOut"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "UnableToAllocateResource"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "Unauthenticated"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "Unauthorized"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "UnexpectedInput"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "Unsupported"
                        },
                        {
                            "parent": "com.vmware.vapi.std.errors.Error",
                            "name": "UnverifiedPeer"
                        }
                    ]
                },
                {
                    "name": "com.vmware.vapi.std.interposition",
                    "structures": [
                        {
                            "name": "InvocationRequest"
                        },
                        {
                            "name": "InvocationResult"
                        },
                        {
                            "name": "SecurityPrincipal"
                        }
                    ]
                },
                {
                    "name": "com.vmware.vapi.std",
                    "structures": [
                        {
                            "name": "AuthenticationScheme",
                            "constants": {
                                "NO_AUTHENTICATION": "NO_AUTHENTICATION",
                                "SAML_BEARER_TOKEN": "SAML_BEARER_TOKEN",
                                "SAML_HOK_TOKEN": "SAML_HOK_TOKEN",
                                "SESSION_ID": "SESSION_ID",
                                "USER_PASSWORD": "USER_PASSWORD",
                                "OAUTH_ACCESS_TOKEN": "OAUTH_ACCESS_TOKEN"
                            }
                        },
                        {
                            "name": "DynamicID"
                        },
                        {
                            "name": "LocalizableMessage"
                        }
                    ]
                }
            ]
        }
    ],
    "privilege": {
        "component": {
            "name": "com.vmware.cis"
        }
    },
    "authentication": {
        "component": {
            "name": "com.vmware.cis"
        }
    },
    "routing": {
        "component": {
            "name": "com.vmware.cis"
        }
    },
    "cli": [
        {
            "path": "com.vmware",
            "name": "cis",
            "type": "namespace",
            "description": "The cis namespace provides VMware common infrastructure namespaces."
        }
        ,
        {
            "path": "com.vmware.cis",
            "name": "session",
            "type": "namespace",
            "description": "The Session namespace allows API clients to manage session tokens including creating, deleting and obtaining information about sessions"
        }
        ,
        {
            "path": "com.vmware.cis.session",
            "name": "create",
            "type": "command",
            "description": "Creates a session with the API",
            "node_metadata": {
                "formatter": "simple",
                "service_id": "com.vmware.cis.session",
                "operation_id": "create"
            }
        }
        ,
        {
            "path": "com.vmware.cis.session",
            "name": "delete",
            "type": "command",
            "description": "Terminates the validity of a session token",
            "node_metadata": {
                "service_id": "com.vmware.cis.session",
                "operation_id": "delete"
            }
        }
        ,
        {
            "path": "com.vmware.cis.session",
            "name": "get",
            "type": "command",
            "description": "Returns information about the current session",
            "node_metadata": {
                "formatter": "simple",
                "output_field_list": [
                    {
                        "structure_id": "com.vmware.cis.session.info",
                        "output_fields": [
                            {
                                "field_name": "user",
                                "display_name": "User"
                            },
                            {
                                "field_name": "created_time",
                                "display_name": "CreatedTime"
                            },
                            {
                                "field_name": "last_accessed_time",
                                "display_name": "LastAccessedTime"
                            }
                        ]
                    }
                ],
                "service_id": "com.vmware.cis.session",
                "operation_id": "get"
            }
        }
        ,
        {
            "path": "com.vmware.cis",
            "name": "tasks",
            "type": "namespace",
            "description": "The Tasks namespace provides commands for managing the task related to a long running operation."
        }
        ,
        {
            "path": "com.vmware.cis.tasks",
            "name": "get",
            "type": "command",
            "description": "Returns information about a task.",
            "node_metadata": {
                "options": [
                    {
                        "long_option": "task",
                        "short_option": "",
                        "field_name": "task",
                        "description": "Task identifier.",
                        "type": "id",
                        "generic": ""
                    },
                    {
                        "long_option": "return-all",
                        "short_option": "",
                        "field_name": "spec.return_all",
                        "description": "If true, all data, including operation-specific data, will be returned, otherwise only the data described in Info will be returned.",
                        "type": "boolean",
                        "generic": "optional"
                    },
                    {
                        "long_option": "exclude-result",
                        "short_option": "",
                        "field_name": "spec.exclude_result",
                        "description": "If true, the result will not be included in the task information, otherwise it will be included.",
                        "type": "boolean",
                        "generic": "optional"
                    }
                ],
                "formatter": "simple",
                "output_field_list": [
                    {
                        "structure_id": "com.vmware.cis.task.info",
                        "output_fields": [
                            {
                                "field_name": "progress",
                                "display_name": "Progress"
                            },
                            {
                                "field_name": "result",
                                "display_name": "Result"
                            },
                            {
                                "field_name": "description",
                                "display_name": "Description"
                            },
                            {
                                "field_name": "service",
                                "display_name": "Service"
                            },
                            {
                                "field_name": "operation",
                                "display_name": "Operation"
                            },
                            {
                                "field_name": "parent",
                                "display_name": "Parent"
                            },
                            {
                                "field_name": "target",
                                "display_name": "Target"
                            },
                            {
                                "field_name": "status",
                                "display_name": "Status"
                            },
                            {
                                "field_name": "cancelable",
                                "display_name": "Cancelable"
                            },
                            {
                                "field_name": "error",
                                "display_name": "Error"
                            },
                            {
                                "field_name": "start_time",
                                "display_name": "StartTime"
                            },
                            {
                                "field_name": "end_time",
                                "display_name": "EndTime"
                            },
                            {
                                "field_name": "user",
                                "display_name": "User"
                            }
                        ]
                    },
                    {
                        "structure_id": "com.vmware.cis.task.progress",
                        "output_fields": [
                            {
                                "field_name": "total",
                                "display_name": "Total"
                            },
                            {
                                "field_name": "completed",
                                "display_name": "Completed"
                            },
                            {
                                "field_name": "message",
                                "display_name": "Message"
                            }
                        ]
                    },
                    {
                        "structure_id": "com.vmware.vapi.std.localizable_message",
                        "output_fields": [
                            {
                                "field_name": "id",
                                "display_name": "Id"
                            },
                            {
                                "field_name": "default_message",
                                "display_name": "DefaultMessage"
                            },
                            {
                                "field_name": "args",
                                "display_name": "Args"
                            }
                        ]
                    },
                    {
                        "structure_id": "com.vmware.vapi.std.dynamic_ID",
                        "output_fields": [
                            {
                                "field_name": "type",
                                "display_name": "Type"
                            },
                            {
                                "field_name": "id",
                                "display_name": "Id"
                            }
                        ]
                    }
                ],
                "service_id": "com.vmware.cis.tasks",
                "operation_id": "get"
            }
        }
        ,
        {
            "path": "com.vmware.cis.tasks",
            "name": "list",
            "type": "command",
            "description": "Returns information about at most 1000 visible (subject to permission checks) tasks matching the Tasks.FilterSpec",
            "node_metadata": {
                "options": [
                    {
                        "long_option": "tasks",
                        "short_option": "",
                        "field_name": "filter_spec.tasks",
                        "description": "Identifiers of tasks that can match the filter.",
                        "type": "id",
                        "generic": "optional_list"
                    },
                    {
                        "long_option": "services",
                        "short_option": "",
                        "field_name": "filter_spec.services",
                        "description": "Identifiers of services",
                        "type": "id",
                        "generic": "optional_list"
                    },
                    {
                        "long_option": "status",
                        "short_option": "",
                        "field_name": "filter_spec.status",
                        "description": "Status that a task must have to match the filter (see CommonInfo.status).",
                        "type": "com.vmware.cis.task.status",
                        "generic": "optional_list"
                    },
                    {
                        "long_option": "targets",
                        "short_option": "",
                        "field_name": "filter_spec.targets",
                        "description": "Identifiers of the targets the operation for the associated task created or was performed on (see CommonInfo.target).",
                        "type": "complex",
                        "generic": "optional"
                    },
                    {
                        "long_option": "users",
                        "short_option": "",
                        "field_name": "filter_spec.users",
                        "description": "Users who must have initiated the operation for the associated task to match the filter (see CommonInfo.user).",
                        "type": "string",
                        "generic": "optional_list"
                    },
                    {
                        "long_option": "return-all",
                        "short_option": "",
                        "field_name": "result_spec.return_all",
                        "description": "If true, all data, including operation-specific data, will be returned, otherwise only the data described in Info will be returned.",
                        "type": "boolean",
                        "generic": "optional"
                    },
                    {
                        "long_option": "exclude-result",
                        "short_option": "",
                        "field_name": "result_spec.exclude_result",
                        "description": "If true, the result will not be included in the task information, otherwise it will be included.",
                        "type": "boolean",
                        "generic": "optional"
                    }
                ],
                "formatter": "simple",
                "service_id": "com.vmware.cis.tasks",
                "operation_id": "list"
            }
        }
        ,
        {
            "path": "com.vmware.cis.tasks",
            "name": "cancel",
            "type": "command",
            "description": "Cancel a running operation associated with the task",
            "node_metadata": {
                "options": [
                    {
                        "long_option": "task",
                        "short_option": "",
                        "field_name": "task",
                        "description": "Task identifier.",
                        "type": "id",
                        "generic": ""
                    }
                ],
                "service_id": "com.vmware.cis.tasks",
                "operation_id": "cancel"
            }
        }
        ,
        {
            "path": "com.vmware.cis",
            "name": "task",
            "type": "namespace",
            "description": "The task namespace provides enumerated types and classes used for managing tasks."
        }
    ],
    "metamodel": {
        "component": {
            "name": "com.vmware.cis",
            "documentation": "The com.vmware.cis package provides VMware common infrastructure services.",
            "docModels": {
                "descriptions": [
                    {
                        "docModel": [
                            {"text": "The "},
                            {"atName": {"resolved": "com.vmware.cis", "isToPackage": true, "text": "com.vmware.cis", "tag": "name"}},
                            {"text": " "},
                            {"atTerm": "package"},
                            {"text": " provides VMware common infrastructure "},
                            {"atTerm": "services"},
                            {"text": "."}
                        ]
                    }
                ]
            },
            "metadata": {
            },
            "fingerprint": "26cb32cdccd0f8e958ed5f46f1cba548ae560f88",
            "packages": [
                {
                    "name": "com.vmware.cis",
                    "documentation": "The com.vmware.cis package provides VMware common infrastructure services.",
                    "docModels": {
                        "descriptions": [
                            {
                                "docModel": [
                                    {"text": "The "},
                                    {"atName": {"resolved": "com.vmware.cis", "isToPackage": true, "text": "com.vmware.cis", "tag": "name"}},
                                    {"text": " "},
                                    {"atTerm": "package"},
                                    {"text": " provides VMware common infrastructure "},
                                    {"atTerm": "services"},
                                    {"text": "."}
                                ]
                            }
                        ]
                    },
                    "metadata": {
                        "Component": {"versions": ["1.0", "1.1", "1.2"]}
                    },
                    "fingerprint": "d09f34828ad108f1a66080398c4fc927c66aa0d1",
                    "enumerations": [
                    ],
                    "structures": [
                    ],
                    "services": [
                        {
                            "name": "com.vmware.cis.session",
                            "documentation": "The Session service allows API clients to manage session tokens including creating, deleting and obtaining information about sessions. \n \n\n   - The Session.create operation creates session token in exchange for another authentication token.\n   - The Session.delete operation invalidates a session token.\n   - The Session.get retrieves information about a session token.\n  \n The call to the Session.create operation is part of the overall authentication process for API clients. For example, the sequence of steps for establishing a session with SAML token is: \n\n   - Connect to lookup service.\n   - Discover the secure token service (STS) endpoint URL.\n   - Connect to the secure token service to obtain a SAML token.\n   - Authenticate to the lookup service using the obtained SAML token.\n   - Discover the API endpoint URL from lookup service.\n   - Call the Session.create operation. The Session.create call must include the SAML token.\n  \n See the programming guide and samples for additional information about establishing API sessions. \n\n Execution Context and Security Context \n\n To use session based authentication a client should supply the session token obtained through the Session.create operation. The client should add the session token in the security context when using SDK classes. Clients using the REST API should supply the session token as a HTTP header. \n\n Session Lifetime \n\n A session begins with call to the Session.create operation to exchange a SAML token for a API session token. A session ends under the following circumstances: \n\n   - Call to the Session.delete operation.\n   - The session expires. Session expiration may be caused by one of the following situations: \n     = Client inactivity - For a particular session identified by client requests that specify the associated session ID, the lapsed time since the last request exceeds the maximum interval between requests.\n     = Unconditional or absolute session expiration time: At the beginning of the session, the session logic uses the SAML token and the system configuration to calculate absolute expiration time.\n  \n  \n When a session ends, the authentication logic will reject any subsequent client requests that specify that session. Any operations in progress will continue to completion. \n\n Error Handling \n\n The Session returns the following errors: \n\n   - Unauthenticated error for any errors related to the request.\n   - ServiceUnavailable error for all errors caused by internal service failure.\n",
                            "docModels": {
                                "descriptions": [
                                    {
                                        "docModel": [
                                            {"text": "The "},
                                            {"atName": {"resolved": "com.vmware.cis.Session", "isToType": true, "text": "Session", "tag": "name"}},
                                            {"text": " "},
                                            {"atTerm": "service"},
                                            {"text": " allows API clients to manage session tokens including creating, deleting and obtaining information about sessions. "},
                                            {
                                                "paragraph": [
                                                    {"text": " "}
                                                ]
                                            }
,
                                            {
                                                "ul": [
                                                    {"text": " "},
                                                    {
                                                        "li": [
                                                            {"text": "The "},
                                                            {"atLink": {"resolved": "com.vmware.cis.Session.create", "isToMember": true, "text": "#create"}},
                                                            {"text": " "},
                                                            {"atTerm": "operation"},
                                                            {"text": " creates session token in exchange for another authentication token."}
                                                        ]
                                                    }
,
                                                    {"text": " "},
                                                    {
                                                        "li": [
                                                            {"text": "The "},
                                                            {"atLink": {"resolved": "com.vmware.cis.Session.delete", "isToMember": true, "text": "#delete"}},
                                                            {"text": " "},
                                                            {"atTerm": "operation"},
                                                            {"text": " invalidates a session token."}
                                                        ]
                                                    }
,
                                                    {"text": " "},
                                                    {
                                                        "li": [
                                                            {"text": "The "},
                                                            {"atLink": {"resolved": "com.vmware.cis.Session.get", "isToMember": true, "text": "#get"}},
                                                            {"text": " retrieves information about a session token."}
                                                        ]
                                                    }
,
                                                    {"text": " "}
                                                ]
                                            }
,
                                            {"text": " "},
                                            {
                                                "paragraph": [
                                                    {"text": " The call to the "},
                                                    {"atLink": {"resolved": "com.vmware.cis.Session.create", "isToMember": true, "text": "#create"}},
                                                    {"text": " "},
                                                    {"atTerm": "operation"},
                                                    {"text": " is part of the overall authentication process for API clients. For example, the sequence of steps for establishing a session with SAML token is: "}
                                                ]
                                            }
,
                                            {
                                                "ul": [
                                                    {"text": " "},
                                                    {
                                                        "li": [
                                                            {"text": "Connect to lookup service."}
                                                        ]
                                                    }
,
                                                    {"text": " "},
                                                    {
                                                        "li": [
                                                            {"text": "Discover the secure token service (STS) endpoint URL."}
                                                        ]
                                                    }
,
                                                    {"text": " "},
                                                    {
                                                        "li": [
                                                            {"text": "Connect to the secure token service to obtain a SAML token."}
                                                        ]
                                                    }
,
                                                    {"text": " "},
                                                    {
                                                        "li": [
                                                            {"text": "Authenticate to the lookup service using the obtained SAML token."}
                                                        ]
                                                    }
,
                                                    {"text": " "},
                                                    {
                                                        "li": [
                                                            {"text": "Discover the API endpoint URL from lookup service."}
                                                        ]
                                                    }
,
                                                    {"text": " "},
                                                    {
                                                        "li": [
                                                            {"text": "Call the "},
                                                            {"atLink": {"resolved": "com.vmware.cis.Session.create", "isToMember": true, "text": "#create"}},
                                                            {"text": " "},
                                                            {"atTerm": "operation"},
                                                            {"text": ". The "},
                                                            {"atLink": {"resolved": "com.vmware.cis.Session.create", "isToMember": true, "text": "#create"}},
                                                            {"text": " call must include the SAML token."}
                                                        ]
                                                    }
,
                                                    {"text": " "}
                                                ]
                                            }
,
                                            {"text": " "},
                                            {
                                                "paragraph": [
                                                    {"text": " See the programming guide and samples for additional information about establishing API sessions. "}
                                                ]
                                            }
,
                                            {
                                                "paragraph": [
                                                    {"text": " "},
                                                    {
                                                        "bold": [
                                                            {"text": "Execution Context and Security Context"}
                                                        ]
                                                    }
,
                                                    {"text": " "}
                                                ]
                                            }
,
                                            {
                                                "paragraph": [
                                                    {"text": " To use session based authentication a client should supply the session token obtained through the "},
                                                    {"atLink": {"resolved": "com.vmware.cis.Session.create", "isToMember": true, "text": "#create"}},
                                                    {"text": " "},
                                                    {"atTerm": "operation"},
                                                    {"text": ". The client should add the session token in the security context when using SDK classes. Clients using the REST API should supply the session token as a HTTP header. "}
                                                ]
                                            }
,
                                            {
                                                "paragraph": [
                                                    {"text": " "},
                                                    {
                                                        "bold": [
                                                            {"text": "Session Lifetime"}
                                                        ]
                                                    }
,
                                                    {"text": " "}
                                                ]
                                            }
,
                                            {
                                                "paragraph": [
                                                    {"text": " A session begins with call to the "},
                                                    {"atLink": {"resolved": "com.vmware.cis.Session.create", "isToMember": true, "text": "#create"}},
                                                    {"text": " "},
                                                    {"atTerm": "operation"},
                                                    {"text": " to exchange a SAML token for a API session token. A session ends under the following circumstances: "}
                                                ]
                                            }
,
                                            {
                                                "ul": [
                                                    {"text": " "},
                                                    {
                                                        "li": [
                                                            {"text": "Call to the "},
                                                            {"atLink": {"resolved": "com.vmware.cis.Session.delete", "isToMember": true, "text": "#delete"}},
                                                            {"text": " "},
                                                            {"atTerm": "operation"},
                                                            {"text": "."}
                                                        ]
                                                    }
,
                                                    {"text": " "},
                                                    {
                                                        "li": [
                                                            {"text": "The session expires. Session expiration may be caused by one of the following situations: "},
                                                            {
                                                                "ul": [
                                                                    {"text": " "},
                                                                    {
                                                                        "li": [
                                                                            {"text": "Client inactivity - For a particular session identified by client requests that specify the associated session ID, the lapsed time since the last request exceeds the maximum interval between requests."}
                                                                        ]
                                                                    }
,
                                                                    {"text": " "},
                                                                    {
                                                                        "li": [
                                                                            {"text": "Unconditional or absolute session expiration time: At the beginning of the session, the session logic uses the SAML token and the system configuration to calculate absolute expiration time."}
                                                                        ]
                                                                    }
,
                                                                    {"text": " "}
                                                                ]
                                                            }
,
                                                            {"text": " "}
                                                        ]
                                                    }
,
                                                    {"text": " "}
                                                ]
                                            }
,
                                            {"text": " "},
                                            {
                                                "paragraph": [
                                                    {"text": " When a session ends, the authentication logic will reject any subsequent client requests that specify that session. Any operations in progress will continue to completion. "}
                                                ]
                                            }
,
                                            {
                                                "paragraph": [
                                                    {"text": " "},
                                                    {
                                                        "bold": [
                                                            {"text": "Error Handling"}
                                                        ]
                                                    }
,
                                                    {"text": " "}
                                                ]
                                            }
,
                                            {
                                                "paragraph": [
                                                    {"text": " The "},
                                                    {"atLink": {"resolved": "com.vmware.cis.Session", "isToType": true, "text": "Session"}},
                                                    {"text": " returns the following "},
                                                    {"atTerm": "errors"},
                                                    {"text": ": "}
                                                ]
                                            }
,
                                            {
                                                "ul": [
                                                    {"text": " "},
                                                    {
                                                        "li": [
                                                            {"atLink": {"resolved": "com.vmware.vapi.std.errors.Unauthenticated", "isToType": true, "text": "Unauthenticated"}},
                                                            {"text": " "},
                                                            {"atTerm": "error"},
                                                            {"text": " for any "},
                                                            {"atTerm": "errors"},
                                                            {"text": " related to the request."}
                                                        ]
                                                    }
,
                                                    {"text": " "},
                                                    {
                                                        "li": [
                                                            {"atLink": {"resolved": "com.vmware.vapi.std.errors.ServiceUnavailable", "isToType": true, "text": "ServiceUnavailable"}},
                                                            {"text": " "},
                                                            {"atTerm": "error"},
                                                            {"text": " for all "},
                                                            {"atTerm": "errors"},
                                                            {"text": " caused by internal service failure."}
                                                        ]
                                                    }
,
                                                    {"text": " "}
                                                ]
                                            }

                                        ]
                                    }
                                ]
                            },
                            "metadata": {
                            },
                            "fingerprint": "698490a74b4db1c0341d3ca91fcfa2f6010262da",
                            "constants": [
                            ],
                            "enumerations": [
                            ],
                            "structures": [
                                {
                                    "type": "Structure",
                                    "name": "com.vmware.cis.session.info",
                                    "documentation": "Represents data associated with an API session.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Represents data associated with an API session."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                    },
                                    "fingerprint": "452a8775761ebdf9acfa0088b0bc523ac08bb7bd",
                                    "enumerations": [
                                    ],
                                    "constants": [
                                    ],
                                    "fields": [
                                        {
                                            "name": "user",
                                            "documentation": "Fully qualified name of the end user that created the session, for example Administrator@vsphere.local. A typical use case for this information is in Graphical User Interfaces (GUI) or logging systems to visualize the identity of the current user.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "Fully qualified name of the end user that created the session, for example Administrator@vsphere.local. A typical use case for this information is in Graphical User Interfaces (GUI) or logging systems to visualize the identity of the current user."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "metadata": {
                                            },
                                            "type": {"category": "primitive", "primitive_type": "string"}
                                        }
                                        ,
                                        {
                                            "name": "created_time",
                                            "documentation": "Time when the session was created.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "Time when the session was created."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "metadata": {
                                            },
                                            "type": {"category": "primitive", "primitive_type": "date_time"}
                                        }
                                        ,
                                        {
                                            "name": "last_accessed_time",
                                            "documentation": "Last time this session was used by passing the session key for invoking an API.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "Last time this session was used by passing the session key for invoking an API."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "metadata": {
                                            },
                                            "type": {"category": "primitive", "primitive_type": "date_time"}
                                        }
                                    ]
                                }
                            ],
                            "operations": [
                                {
                                    "name": "create",
                                    "documentation": "Creates a session with the API. This is the equivalent of login. This operation exchanges user credentials supplied in the security context for a session identifier that is to be used for authenticating subsequent calls. To authenticate subsequent calls clients are expected to include the session key.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Creates a session with the API. This is the equivalent of login. This "},
                                                    {"atTerm": "operation"},
                                                    {"text": " exchanges user credentials supplied in the security context for a session identifier that is to be used for authenticating subsequent calls. To authenticate subsequent calls clients are expected to include the session key."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                    },
                                    "fingerprint": "b1b44042b5353e727ef58c0e72931190fb9925c5",
                                    "params": [
                                    ],
                                    "errors": [
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.unauthenticated",
                                            "name": "unauthenticated",
                                            "documentation": "if the session creation fails due to request specific issues. Due to the security nature of the API the details of the error are not disclosed. \n Please check the following preconditions if using a SAML token to authenticate: \n\n   - the supplied token is delegate-able.\n   - the time of client and server system are synchronized.\n   - the token supplied is valid.\n   - if bearer tokens are used check that system configuration allows the API endpoint to accept such tokens.\n",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": " if the session creation fails due to request specific issues. Due to the security nature of the API the details of the error are not disclosed. "},
                                                            {
                                                                "paragraph": [
                                                                    {"text": " Please check the following preconditions if using a SAML token to authenticate: "}
                                                                ]
                                                            }
,
                                                            {
                                                                "ul": [
                                                                    {"text": " "},
                                                                    {
                                                                        "li": [
                                                                            {"text": "the supplied token is delegate-able."}
                                                                        ]
                                                                    }
,
                                                                    {"text": " "},
                                                                    {
                                                                        "li": [
                                                                            {"text": "the time of client and server system are synchronized."}
                                                                        ]
                                                                    }
,
                                                                    {"text": " "},
                                                                    {
                                                                        "li": [
                                                                            {"text": "the token supplied is valid."}
                                                                        ]
                                                                    }
,
                                                                    {"text": " "},
                                                                    {
                                                                        "li": [
                                                                            {"text": "if bearer tokens are used check that system configuration allows the API endpoint to accept such tokens."}
                                                                        ]
                                                                    }
,
                                                                    {"text": " "}
                                                                ]
                                                            }

                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.unauthenticated"}
                                        }
                                        ,
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.service_unavailable",
                                            "name": "service_unavailable",
                                            "documentation": "if session creation fails due to server specific issues, for example connection to a back end component is failing. Due to the security nature of this API further details will not be disclosed in the error. Please refer to component health information, administrative logs and product specific documentation for possible causes.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": " if session creation fails due to server specific issues, for example connection to a back end component is failing. Due to the security nature of this API further details will not be disclosed in the "},
                                                            {"atTerm": "error"},
                                                            {"text": ". Please refer to component health information, administrative logs and product specific documentation for possible causes."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.service_unavailable"}
                                        }
                                    ],
                                    "result": {
                                        "documentation": "Newly created session identifier to be used for authenticating further requests.",
                                        "docModels": {
                                            "descriptions": [
                                                {
                                                    "docModel": [
                                                        {"text": "Newly created session identifier to be used for authenticating further requests."}
                                                    ]
                                                }
                                            ]
                                        },
                                        "metadata": {
                                        },
                                        "type": {"category": "primitive", "primitive_type": "secret"}
                                    }
                                }
                                ,
                                {
                                    "name": "delete",
                                    "documentation": "Terminates the validity of a session token. This is the equivalent of log out. \n A session identifier is expected as part of the request. \n\n\n",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Terminates the validity of a session token. This is the equivalent of log out. "},
                                                    {
                                                        "paragraph": [
                                                            {"text": " A session identifier is expected as part of the request. "}
                                                        ]
                                                    }
,
                                                    {
                                                        "paragraph": [
                                                        ]
                                                    }

                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                    },
                                    "fingerprint": "d2aa2caffe3b9316791f9410b29790813fd6e863",
                                    "params": [
                                    ],
                                    "errors": [
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.unauthenticated",
                                            "name": "unauthenticated",
                                            "documentation": "if the session id is missing from the request or the corresponding session object cannot be found.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": " if the session id is missing from the request or the corresponding session object cannot be found."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.unauthenticated"}
                                        }
                                        ,
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.service_unavailable",
                                            "name": "service_unavailable",
                                            "documentation": "if session deletion fails due to server specific issues, for example connection to a back end component is failing. Due to the security nature of this API further details will not be disclosed in the error. Please refer to component health information, administrative logs and product specific documentation for possible causes.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": " if session deletion fails due to server specific issues, for example connection to a back end component is failing. Due to the security nature of this API further details will not be disclosed in the "},
                                                            {"atTerm": "error"},
                                                            {"text": ". Please refer to component health information, administrative logs and product specific documentation for possible causes."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.service_unavailable"}
                                        }
                                    ],
                                    "result": {
                                        "documentation": "",
                                        "docModels": {
                                        },
                                        "metadata": {
                                        },
                                        "type": {"category": "primitive", "primitive_type": "void"}
                                    }
                                }
                                ,
                                {
                                    "name": "get",
                                    "documentation": "Returns information about the current session. This operation expects a valid session identifier to be supplied. \n A side effect of invoking this operation may be a change to the session's last accessed time to the current time if this is supported by the session implementation. Invoking any other operation in the API will also update the session's last accessed time. \n\n This API is meant to serve the needs of various front end projects that may want to display the name of the user. Examples of this include various web based user interfaces and logging facilities.\n",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Returns information about the current session. This "},
                                                    {"atTerm": "operation"},
                                                    {"text": " expects a valid session identifier to be supplied. "},
                                                    {
                                                        "paragraph": [
                                                            {"text": " A side effect of invoking this "},
                                                            {"atTerm": "operation"},
                                                            {"text": " may be a change to the session's last accessed time to the current time if this is supported by the session implementation. Invoking any other "},
                                                            {"atTerm": "operation"},
                                                            {"text": " in the API will also update the session's last accessed time. "}
                                                        ]
                                                    }
,
                                                    {
                                                        "paragraph": [
                                                            {"text": " This API is meant to serve the needs of various front end projects that may want to display the name of the user. Examples of this include various web based user interfaces and logging facilities."}
                                                        ]
                                                    }

                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                    },
                                    "fingerprint": "181cb84b721e366c0bdd946a14ce147aac6fa48e",
                                    "params": [
                                    ],
                                    "errors": [
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.unauthenticated",
                                            "name": "unauthenticated",
                                            "documentation": "if the session id is missing from the request or the corresponding session object cannot be found.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": " if the session id is missing from the request or the corresponding session object cannot be found."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.unauthenticated"}
                                        }
                                        ,
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.service_unavailable",
                                            "name": "service_unavailable",
                                            "documentation": "if session retrieval fails due to server specific issues e.g. connection to back end component is failing. Due to the security nature of this API further details will not be disclosed in the error. Please refer to component health information, administrative logs and product specific documentation for possible causes.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": " if session retrieval fails due to server specific issues e.g. connection to back end component is failing. Due to the security nature of this API further details will not be disclosed in the error. Please refer to component health information, administrative logs and product specific documentation for possible causes."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.service_unavailable"}
                                        }
                                    ],
                                    "result": {
                                        "documentation": "Information about the session.",
                                        "docModels": {
                                            "descriptions": [
                                                {
                                                    "docModel": [
                                                        {"text": "Information about the session."}
                                                    ]
                                                }
                                            ]
                                        },
                                        "metadata": {
                                        },
                                        "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.cis.session.info"}
                                    }
                                }
                            ]
                        }
                        ,
                        {
                            "name": "com.vmware.cis.tasks",
                            "documentation": "The Tasks service provides operations for managing the task related to a long running operation.",
                            "docModels": {
                                "descriptions": [
                                    {
                                        "docModel": [
                                            {"text": "The "},
                                            {"atName": {"resolved": "com.vmware.cis.Tasks", "isToType": true, "text": "Tasks", "tag": "name"}},
                                            {"text": " "},
                                            {"atTerm": "service"},
                                            {"text": " provides "},
                                            {"atTerm": "operations"},
                                            {"text": " for managing the task related to a long running operation."}
                                        ]
                                    }
                                ]
                            },
                            "metadata": {
                                "Released": {"version": "1.2"},
                                "Feature": {"value": "TASK_SERVICE"}
                            },
                            "fingerprint": "68730b2820fb67e7b2d11c26f25eee1595221778",
                            "constants": [
                                {
                                    "name": "RESOURCE_TYPE",
                                    "documentation": "Resource type for task.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Resource type for task."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                    },
                                    "type": {"category": "Primitive", "type": "String"},
                                    "value": "com.vmware.cis.task"
                                }
                            ],
                            "enumerations": [
                            ],
                            "structures": [
                                {
                                    "type": "Structure",
                                    "name": "com.vmware.cis.tasks.get_spec",
                                    "documentation": "The Tasks.GetSpec structure describes what data should be included when retrieving information about a task.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "The "},
                                                    {"atName": {"resolved": "com.vmware.cis.Tasks.GetSpec", "isToType": true, "text": "GetSpec", "tag": "name"}},
                                                    {"text": " "},
                                                    {"atTerm": "structure"},
                                                    {"text": " describes what data should be included when retrieving information about a task."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                        "Includable": {"value": "true"}
                                    },
                                    "fingerprint": "285f4d5e80f2f8816a762104d0b33fb2a1607022",
                                    "enumerations": [
                                    ],
                                    "constants": [
                                    ],
                                    "fields": [
                                        {
                                            "name": "return_all",
                                            "documentation": "If true, all data, including operation-specific data, will be returned, otherwise only the data described in Info will be returned.\nIf unset, only the data described in Info will be returned.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "If true, all data, including operation-specific data, will be returned, otherwise only the data described in "},
                                                            {"atLink": {"resolved": "com.vmware.cis.task.Info", "isToType": true, "text": "Info"}},
                                                            {"text": " will be returned."}
                                                        ]
                                                    }
                                                ]
                                                ,
                                                "optionalReason": 
                                                {
                                                    "docModel": [
                                                        {"text": "If "},
                                                        {"atTerm": "unset"},
                                                        {"text": ", only the data described in "},
                                                        {"atLink": {"resolved": "com.vmware.cis.task.Info", "isToType": true, "text": "Info"}},
                                                        {"text": " will be returned."}
                                                    ]
                                                }
                                            },
                                            "metadata": {
                                            },
                                            "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "primitive", "primitive_type": "boolean"}}
                                        }
                                        ,
                                        {
                                            "name": "exclude_result",
                                            "documentation": "If true, the result will not be included in the task information, otherwise it will be included.\nIf unset, the result of the operation will be included in the task information.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "If true, the result will not be included in the task information, otherwise it will be included."}
                                                        ]
                                                    }
                                                ]
                                                ,
                                                "optionalReason": 
                                                {
                                                    "docModel": [
                                                        {"text": "If "},
                                                        {"atTerm": "unset"},
                                                        {"text": ", the result of the operation will be included in the task information."}
                                                    ]
                                                }
                                            },
                                            "metadata": {
                                            },
                                            "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "primitive", "primitive_type": "boolean"}}
                                        }
                                    ]
                                }
                                ,
                                {
                                    "type": "Structure",
                                    "name": "com.vmware.cis.tasks.filter_spec",
                                    "documentation": "The Tasks.FilterSpec structure contains fields used to filter the results when listing tasks (see Tasks.list). If multiple fields are specified, only tasks matching all of the fields match the filter.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "The "},
                                                    {"atName": {"resolved": "com.vmware.cis.Tasks.FilterSpec", "isToType": true, "text": "FilterSpec", "tag": "name"}},
                                                    {"text": " "},
                                                    {"atTerm": "structure"},
                                                    {"text": " contains "},
                                                    {"atTerm": "fields"},
                                                    {"text": " used to filter the results when listing tasks (see "},
                                                    {"atLink": {"resolved": "com.vmware.cis.Tasks.list", "isToMember": true, "text": "#list"}},
                                                    {"text": "). If multiple "},
                                                    {"atTerm": "fields"},
                                                    {"text": " are specified, only tasks matching all of the "},
                                                    {"atTerm": "fields"},
                                                    {"text": " match the filter."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                    },
                                    "fingerprint": "9120b1c66c70bb0366818f9da4c1b068d9efd9af",
                                    "enumerations": [
                                    ],
                                    "constants": [
                                    ],
                                    "fields": [
                                        {
                                            "name": "tasks",
                                            "documentation": "Identifiers of tasks that can match the filter.\nThis field may be unset if Tasks.FilterSpec.services is specified. Currently all tasks must be from the same provider. If unset or empty, tasks with any identifier will match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: com.vmware.cis.task. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: com.vmware.cis.task.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "Identifiers of tasks that can match the filter."}
                                                        ]
                                                    }
                                                ]
                                                ,
                                                "optionalReason": 
                                                {
                                                    "docModel": [
                                                        {"text": "This "},
                                                        {"atTerm": "field"},
                                                        {"text": " may be "},
                                                        {"atTerm": "unset"},
                                                        {"text": " if "},
                                                        {"atName": {"resolved": "com.vmware.cis.Tasks.FilterSpec.services", "isToMember": true, "text": "#services", "tag": "name"}},
                                                        {"text": " is specified. Currently all tasks must be from the same provider. If "},
                                                        {"atTerm": "unset"},
                                                        {"text": " or empty, tasks with any identifier will match the filter."}
                                                    ]
                                                }
                                                ,
                                                "metadata": 
                                                {
                                                    "docModel": [
                                                        {"text": "When clients pass a value of this "},
                                                        {"atTerm": "structure"},
                                                        {"text": " as a "},
                                                        {"atTerm": "parameter"},
                                                        {"text": ", the "},
                                                        {"atTerm": "field"},
                                                        {"text": " must contain identifiers for the resource type: "},
                                                        {"atCode": "com.vmware.cis.task"},
                                                        {"text": ". When "},
                                                        {"atTerm": "operations"},
                                                        {"text": " return a value of this "},
                                                        {"atTerm": "structure"},
                                                        {"text": " as a "},
                                                        {"atTerm": "result"},
                                                        {"text": ", the "},
                                                        {"atTerm": "field"},
                                                        {"text": " will contain identifiers for the resource type: "},
                                                        {"atCode": "com.vmware.cis.task"},
                                                        {"text": "."}
                                                    ]
                                                }
                                            },
                                            "metadata": {
                                                "Resource": {"value": "com.vmware.cis.task"}
                                            },
                                            "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "generic", "generic_type": "Set", "element_type": {"category": "primitive", "primitive_type": "ID"}}}
                                        }
                                        ,
                                        {
                                            "name": "services",
                                            "documentation": "Identifiers of services. Tasks created by operations in these services match the filter (see CommonInfo.service).\nThis field may be unset if Tasks.FilterSpec.tasks is specified. Currently all services must be from the same provider. If this field is unset or empty, tasks for all services will match the filter.\nWhen clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: com.vmware.vapi.service. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: com.vmware.vapi.service.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "Identifiers of services. Tasks created by operations in these services match the filter (see "},
                                                            {"atLink": {"resolved": "com.vmware.cis.task.CommonInfo.service", "isToMember": true, "text": "CommonInfo#service"}},
                                                            {"text": ")."}
                                                        ]
                                                    }
                                                ]
                                                ,
                                                "optionalReason": 
                                                {
                                                    "docModel": [
                                                        {"text": "This "},
                                                        {"atTerm": "field"},
                                                        {"text": " may be "},
                                                        {"atTerm": "unset"},
                                                        {"text": " if "},
                                                        {"atName": {"resolved": "com.vmware.cis.Tasks.FilterSpec.tasks", "isToMember": true, "text": "#tasks", "tag": "name"}},
                                                        {"text": " is specified. Currently all services must be from the same provider. If this "},
                                                        {"atTerm": "field"},
                                                        {"text": " is "},
                                                        {"atTerm": "unset"},
                                                        {"text": " or empty, tasks for all services will match the filter."}
                                                    ]
                                                }
                                                ,
                                                "metadata": 
                                                {
                                                    "docModel": [
                                                        {"text": "When clients pass a value of this "},
                                                        {"atTerm": "structure"},
                                                        {"text": " as a "},
                                                        {"atTerm": "parameter"},
                                                        {"text": ", the "},
                                                        {"atTerm": "field"},
                                                        {"text": " must contain identifiers for the resource type: "},
                                                        {"atCode": "com.vmware.vapi.service"},
                                                        {"text": ". When "},
                                                        {"atTerm": "operations"},
                                                        {"text": " return a value of this "},
                                                        {"atTerm": "structure"},
                                                        {"text": " as a "},
                                                        {"atTerm": "result"},
                                                        {"text": ", the "},
                                                        {"atTerm": "field"},
                                                        {"text": " will contain identifiers for the resource type: "},
                                                        {"atCode": "com.vmware.vapi.service"},
                                                        {"text": "."}
                                                    ]
                                                }
                                            },
                                            "metadata": {
                                                "Resource": {"value": "com.vmware.vapi.service"}
                                            },
                                            "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "generic", "generic_type": "Set", "element_type": {"category": "primitive", "primitive_type": "ID"}}}
                                        }
                                        ,
                                        {
                                            "name": "status",
                                            "documentation": "Status that a task must have to match the filter (see CommonInfo.status).\nIf unset or empty, tasks with any status match the filter.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "Status that a task must have to match the filter (see "},
                                                            {"atLink": {"resolved": "com.vmware.cis.task.CommonInfo.status", "isToMember": true, "text": "CommonInfo#status"}},
                                                            {"text": ")."}
                                                        ]
                                                    }
                                                ]
                                                ,
                                                "optionalReason": 
                                                {
                                                    "docModel": [
                                                        {"text": "If "},
                                                        {"atTerm": "unset"},
                                                        {"text": " or empty, tasks with any status match the filter."}
                                                    ]
                                                }
                                            },
                                            "metadata": {
                                            },
                                            "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "generic", "generic_type": "Set", "element_type": {"category": "user_defined", "user_defined_type": "Enumeration", "user_defined_type_name": "com.vmware.cis.task.status"}}}
                                        }
                                        ,
                                        {
                                            "name": "targets",
                                            "documentation": "Identifiers of the targets the operation for the associated task created or was performed on (see CommonInfo.target).\nIf unset or empty, tasks associated with operations on any target match the filter.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "Identifiers of the targets the operation for the associated task created or was performed on (see "},
                                                            {"atLink": {"resolved": "com.vmware.cis.task.CommonInfo.target", "isToMember": true, "text": "CommonInfo#target"}},
                                                            {"text": ")."}
                                                        ]
                                                    }
                                                ]
                                                ,
                                                "optionalReason": 
                                                {
                                                    "docModel": [
                                                        {"text": "If "},
                                                        {"atTerm": "unset"},
                                                        {"text": " or empty, tasks associated with operations on any target match the filter."}
                                                    ]
                                                }
                                            },
                                            "metadata": {
                                            },
                                            "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "generic", "generic_type": "List", "element_type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.dynamic_ID"}}}
                                        }
                                        ,
                                        {
                                            "name": "users",
                                            "documentation": "Users who must have initiated the operation for the associated task to match the filter (see CommonInfo.user).\nIf unset or empty, tasks associated with operations initiated by any user match the filter.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "Users who must have initiated the operation for the associated task to match the filter (see "},
                                                            {"atLink": {"resolved": "com.vmware.cis.task.CommonInfo.user", "isToMember": true, "text": "CommonInfo#user"}},
                                                            {"text": ")."}
                                                        ]
                                                    }
                                                ]
                                                ,
                                                "optionalReason": 
                                                {
                                                    "docModel": [
                                                        {"text": "If "},
                                                        {"atTerm": "unset"},
                                                        {"text": " or empty, tasks associated with operations initiated by any user match the filter."}
                                                    ]
                                                }
                                            },
                                            "metadata": {
                                            },
                                            "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "generic", "generic_type": "Set", "element_type": {"category": "primitive", "primitive_type": "string"}}}
                                        }
                                    ]
                                }
                            ],
                            "operations": [
                                {
                                    "name": "get",
                                    "documentation": "Returns information about a task.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Returns information about a task."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                        "RequestMapping": {"value": "/cis/tasks/{task}", "method": "GET"}
                                    },
                                    "fingerprint": "0f9d4f97e63e2072bec461eb664cfbda32ec2925",
                                    "params": [
                                        {
                                            "name": "task",
                                            "documentation": "Task identifier.\nThe parameter must be an identifier for the resource type: com.vmware.cis.task.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "Task identifier."}
                                                        ]
                                                    }
                                                ]
                                                ,
                                                "metadata": 
                                                {
                                                    "docModel": [
                                                        {"text": "The "},
                                                        {"atTerm": "parameter"},
                                                        {"text": " must be an identifier for the resource type: "},
                                                        {"atCode": "com.vmware.cis.task"},
                                                        {"text": "."}
                                                    ]
                                                }
                                            },
                                            "metadata": {
                                                "PathVariable": {"value": "task"},
                                                "Resource": {"value": "com.vmware.cis.task"}
                                            },
                                            "type": {"category": "primitive", "primitive_type": "ID"}
                                        }
                                        ,
                                        {
                                            "name": "spec",
                                            "documentation": "Specification on what to get for a task.\nIf unset, the behavior is equivalent to a Tasks.GetSpec with all fields unset which means only the data described in Info will be returned and the result of the operation will be return.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "Specification on what to get for a task."}
                                                        ]
                                                    }
                                                ]
                                                ,
                                                "optionalReason": 
                                                {
                                                    "docModel": [
                                                        {"text": "If "},
                                                        {"atTerm": "unset"},
                                                        {"text": ", the behavior is equivalent to a "},
                                                        {"atLink": {"resolved": "com.vmware.cis.Tasks.GetSpec", "isToType": true, "text": "GetSpec"}},
                                                        {"text": " with all "},
                                                        {"atTerm": "fields"},
                                                        {"text": " "},
                                                        {"atTerm": "unset"},
                                                        {"text": " which means only the data described in "},
                                                        {"atLink": {"resolved": "com.vmware.cis.task.Info", "isToType": true, "text": "Info"}},
                                                        {"text": " will be returned and the result of the operation will be return."}
                                                    ]
                                                }
                                            },
                                            "metadata": {
                                            },
                                            "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.cis.tasks.get_spec"}}
                                        }
                                    ],
                                    "errors": [
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.error",
                                            "name": "error",
                                            "documentation": "if the system reports an error while responding to the request.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "if the system reports an error while responding to the request."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.error"}
                                        }
                                        ,
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.not_found",
                                            "name": "not_found",
                                            "documentation": "if the task is not found.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "if the task is not found."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.not_found"}
                                        }
                                        ,
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.resource_inaccessible",
                                            "name": "resource_inaccessible",
                                            "documentation": "if the task's state cannot be accessed.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "if the task's state cannot be accessed."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.resource_inaccessible"}
                                        }
                                        ,
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.service_unavailable",
                                            "name": "service_unavailable",
                                            "documentation": "if the system is unable to communicate with a service to complete the request.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "if the system is unable to communicate with a service to complete the request."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.service_unavailable"}
                                        }
                                        ,
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.unauthenticated",
                                            "name": "unauthenticated",
                                            "documentation": "if the user can not be authenticated.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "if the user can not be authenticated."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.unauthenticated"}
                                        }
                                        ,
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.unauthorized",
                                            "name": "unauthorized",
                                            "documentation": "if the user doesn't have the required privileges.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "if the user doesn't have the required privileges."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.unauthorized"}
                                        }
                                    ],
                                    "result": {
                                        "documentation": "Information about the specified task.",
                                        "docModels": {
                                            "descriptions": [
                                                {
                                                    "docModel": [
                                                        {"text": "Information about the specified task."}
                                                    ]
                                                }
                                            ]
                                        },
                                        "metadata": {
                                        },
                                        "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.cis.task.info"}
                                    }
                                }
                                ,
                                {
                                    "name": "list",
                                    "documentation": "Returns information about at most 1000 visible (subject to permission checks) tasks matching the Tasks.FilterSpec. All tasks must be in the same provider.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Returns information about at most 1000 visible (subject to permission checks) tasks matching the "},
                                                    {"atLink": {"resolved": "com.vmware.cis.Tasks.FilterSpec", "isToType": true, "text": "FilterSpec"}},
                                                    {"text": ". All tasks must be in the same provider."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                        "RequestMapping": {"value": "/cis/tasks", "method": "GET"}
                                    },
                                    "fingerprint": "9cac1d48a8c824ef3b8bb491cdcb5d735813d633",
                                    "params": [
                                        {
                                            "name": "filter_spec",
                                            "documentation": "Specification of matching tasks.\nThis is currently required. In the future, if it is unset, the behavior is equivalent to a Tasks.FilterSpec with all fields unset which means all tasks match the filter.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "Specification of matching tasks."}
                                                        ]
                                                    }
                                                ]
                                                ,
                                                "optionalReason": 
                                                {
                                                    "docModel": [
                                                        {"text": "This is currently required. In the future, if it is "},
                                                        {"atTerm": "unset"},
                                                        {"text": ", the behavior is equivalent to a "},
                                                        {"atLink": {"resolved": "com.vmware.cis.Tasks.FilterSpec", "isToType": true, "text": "FilterSpec"}},
                                                        {"text": " with all "},
                                                        {"atTerm": "fields"},
                                                        {"text": " "},
                                                        {"atTerm": "unset"},
                                                        {"text": " which means all tasks match the filter."}
                                                    ]
                                                }
                                            },
                                            "metadata": {
                                            },
                                            "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.cis.tasks.filter_spec"}}
                                        }
                                        ,
                                        {
                                            "name": "result_spec",
                                            "documentation": "Specification of what to return for a task.\nIf unset, the behavior is equivalent to a Tasks.GetSpec with all fields unset which means only the data describe in Info will be returned and the result of the operation will be return.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "Specification of what to return for a task."}
                                                        ]
                                                    }
                                                ]
                                                ,
                                                "optionalReason": 
                                                {
                                                    "docModel": [
                                                        {"text": "If "},
                                                        {"atTerm": "unset"},
                                                        {"text": ", the behavior is equivalent to a "},
                                                        {"atLink": {"resolved": "com.vmware.cis.Tasks.GetSpec", "isToType": true, "text": "GetSpec"}},
                                                        {"text": " with all "},
                                                        {"atTerm": "fields"},
                                                        {"text": " "},
                                                        {"atTerm": "unset"},
                                                        {"text": " which means only the data describe in "},
                                                        {"atLink": {"resolved": "com.vmware.cis.task.Info", "isToType": true, "text": "Info"}},
                                                        {"text": " will be returned and the result of the operation will be return."}
                                                    ]
                                                }
                                            },
                                            "metadata": {
                                            },
                                            "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.cis.tasks.get_spec"}}
                                        }
                                    ],
                                    "errors": [
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.invalid_argument",
                                            "name": "invalid_argument",
                                            "documentation": "if any of the specified parameters are invalid.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "if any of the specified parameters are invalid."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.invalid_argument"}
                                        }
                                        ,
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.resource_inaccessible",
                                            "name": "resource_inaccessible",
                                            "documentation": "if a task's state cannot be accessed or over 1000 tasks matching the Tasks.FilterSpec.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "if a task's state cannot be accessed or over 1000 tasks matching the "},
                                                            {"atLink": {"resolved": "com.vmware.cis.Tasks.FilterSpec", "isToType": true, "text": "FilterSpec"}},
                                                            {"text": "."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.resource_inaccessible"}
                                        }
                                        ,
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.service_unavailable",
                                            "name": "service_unavailable",
                                            "documentation": "if the system is unable to communicate with a service to complete the request.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "if the system is unable to communicate with a service to complete the request."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.service_unavailable"}
                                        }
                                        ,
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.unauthenticated",
                                            "name": "unauthenticated",
                                            "documentation": "if the user can not be authenticated.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "if the user can not be authenticated."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.unauthenticated"}
                                        }
                                        ,
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.unauthorized",
                                            "name": "unauthorized",
                                            "documentation": "if the user doesn't have the required privileges.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "if the user doesn't have the required privileges."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.unauthorized"}
                                        }
                                    ],
                                    "result": {
                                        "documentation": "Map of task identifier to information about the task.\nThe key in the result map will be an identifier for the resource type: com.vmware.cis.task.",
                                        "docModels": {
                                            "descriptions": [
                                                {
                                                    "docModel": [
                                                        {"text": "Map of task identifier to information about the task."}
                                                    ]
                                                }
                                            ]
                                            ,
                                            "metadata": 
                                            {
                                                "docModel": [
                                                    {"text": "The key in the "},
                                                    {"atTerm": "result"},
                                                    {"text": " "},
                                                    {"atTerm": "map"},
                                                    {"text": " will be an identifier for the resource type: "},
                                                    {"atCode": "com.vmware.cis.task"},
                                                    {"text": "."}
                                                ]
                                            }
                                        },
                                        "metadata": {
                                            "Resource": {"value": "com.vmware.cis.task"}
                                        },
                                        "type": {"category": "generic", "generic_type": "Map", "map_key_type": {"category": "primitive", "primitive_type": "ID"}, "map_value_type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.cis.task.info"}}
                                    }
                                }
                                ,
                                {
                                    "name": "cancel",
                                    "documentation": "Cancel a running operation associated with the task. This is the best effort attempt. Operation may not be cancelled anymore once it reaches certain stage.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Cancel a running operation associated with the task. This is the best effort attempt. Operation may not be cancelled anymore once it reaches certain stage."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                        "RequestMapping": {"value": "/cis/tasks/{task}", "params": "action=cancel", "method": "POST"}
                                    },
                                    "fingerprint": "f83f61edaf64dfbfc880cce61c226552c6cf1f0b",
                                    "params": [
                                        {
                                            "name": "task",
                                            "documentation": "Task identifier.\nThe parameter must be an identifier for the resource type: com.vmware.cis.task.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "Task identifier."}
                                                        ]
                                                    }
                                                ]
                                                ,
                                                "metadata": 
                                                {
                                                    "docModel": [
                                                        {"text": "The "},
                                                        {"atTerm": "parameter"},
                                                        {"text": " must be an identifier for the resource type: "},
                                                        {"atCode": "com.vmware.cis.task"},
                                                        {"text": "."}
                                                    ]
                                                }
                                            },
                                            "metadata": {
                                                "PathVariable": {"value": "task"},
                                                "Resource": {"value": "com.vmware.cis.task"}
                                            },
                                            "type": {"category": "primitive", "primitive_type": "ID"}
                                        }
                                    ],
                                    "errors": [
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.error",
                                            "name": "error",
                                            "documentation": "if the system reports an error while responding to the request.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "if the system reports an error while responding to the request."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.error"}
                                        }
                                        ,
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.not_allowed_in_current_state",
                                            "name": "not_allowed_in_current_state",
                                            "documentation": "if the task is already canceled or completed.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "if the task is already canceled or completed."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.not_allowed_in_current_state"}
                                        }
                                        ,
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.not_found",
                                            "name": "not_found",
                                            "documentation": "if the task is not found.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "if the task is not found."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.not_found"}
                                        }
                                        ,
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.resource_inaccessible",
                                            "name": "resource_inaccessible",
                                            "documentation": "if the task's state cannot be accessed.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "if the task's state cannot be accessed."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.resource_inaccessible"}
                                        }
                                        ,
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.service_unavailable",
                                            "name": "service_unavailable",
                                            "documentation": "if the system is unable to communicate with a service to complete the request.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "if the system is unable to communicate with a service to complete the request."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.service_unavailable"}
                                        }
                                        ,
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.unauthenticated",
                                            "name": "unauthenticated",
                                            "documentation": "if the user can not be authenticated.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "if the user can not be authenticated."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.unauthenticated"}
                                        }
                                        ,
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.unauthorized",
                                            "name": "unauthorized",
                                            "documentation": "if the user doesn't have the required privileges.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "if the user doesn't have the required privileges."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.unauthorized"}
                                        }
                                        ,
                                        {
                                            "user_defined_type_name": "com.vmware.vapi.std.errors.unsupported",
                                            "name": "unsupported",
                                            "documentation": "if the task is not cancelable.",
                                            "docModels": {
                                                "descriptions": [
                                                    {
                                                        "docModel": [
                                                            {"text": "if the task is not cancelable."}
                                                        ]
                                                    }
                                                ]
                                            },
                                            "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.errors.unsupported"}
                                        }
                                    ],
                                    "result": {
                                        "documentation": "",
                                        "docModels": {
                                        },
                                        "metadata": {
                                        },
                                        "type": {"category": "primitive", "primitive_type": "void"}
                                    }
                                }
                            ]
                        }
                    ]
                }
                ,
                {
                    "name": "com.vmware.cis.task",
                    "documentation": "The com.vmware.cis.task package provides enumerated types and structures used for managing tasks.",
                    "docModels": {
                        "descriptions": [
                            {
                                "docModel": [
                                    {"text": "The "},
                                    {"atName": {"resolved": "com.vmware.cis.task", "isToPackage": true, "text": "com.vmware.cis.task", "tag": "name"}},
                                    {"text": " "},
                                    {"atTerm": "package"},
                                    {"text": " provides "},
                                    {"atTerm": "enumerated types"},
                                    {"text": " and "},
                                    {"atTerm": "structures"},
                                    {"text": " used for managing tasks."}
                                ]
                            }
                        ]
                    },
                    "metadata": {
                    },
                    "fingerprint": "490707447b7d35f8a444ae283ee83686b8dee8bd",
                    "enumerations": [
                        {
                            "name": "com.vmware.cis.task.status",
                            "documentation": "The Status enumerated type defines the status values that can be reported for an operation.",
                            "docModels": {
                                "descriptions": [
                                    {
                                        "docModel": [
                                            {"text": "The "},
                                            {"atName": {"resolved": "com.vmware.cis.task.Status", "isToType": true, "text": "Status", "tag": "name"}},
                                            {"text": " "},
                                            {"atTerm": "enumerated type"},
                                            {"text": " defines the status values that can be reported for an operation."}
                                        ]
                                    }
                                ]
                            },
                            "metadata": {
                                "Feature": {"value": "TASK_STRUCTURES"},
                                "Released": {"version": "1.1"},
                                "Export": {"value": "true"}
                            },
                            "fingerprint": "b8d5bd954814efd7dbefaa79c829a4b25b1bf8bb",
                            "values": [
                                {
                                    "documentation": "The operation is in pending state.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "The operation is in pending state."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                    },
                                    "name": "PENDING"
                                }
                                ,
                                {
                                    "documentation": "The operation is in progress.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "The operation is in progress."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                    },
                                    "name": "RUNNING"
                                }
                                ,
                                {
                                    "documentation": "The operation is blocked.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "The operation is blocked."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                    },
                                    "name": "BLOCKED"
                                }
                                ,
                                {
                                    "documentation": "The operation completed successfully.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "The operation completed successfully."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                    },
                                    "name": "SUCCEEDED"
                                }
                                ,
                                {
                                    "documentation": "The operation failed.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "The operation failed."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                    },
                                    "name": "FAILED"
                                }
                            ]
                        }
                    ],
                    "structures": [
                        {
                            "type": "Structure",
                            "name": "com.vmware.cis.task.progress",
                            "documentation": "The Progress structure contains information describe the progress of an operation.",
                            "docModels": {
                                "descriptions": [
                                    {
                                        "docModel": [
                                            {"text": "The "},
                                            {"atName": {"resolved": "com.vmware.cis.task.Progress", "isToType": true, "text": "Progress", "tag": "name"}},
                                            {"text": " "},
                                            {"atTerm": "structure"},
                                            {"text": " contains information describe the progress of an operation."}
                                        ]
                                    }
                                ]
                            },
                            "metadata": {
                                "Feature": {"value": "TASK_STRUCTURES"},
                                "Released": {"version": "1.1"},
                                "Export": {"value": "true"},
                                "Includable": {"value": "true"}
                            },
                            "fingerprint": "ade7793c845637f3c3a20d0cef8c6766e227d84b",
                            "enumerations": [
                            ],
                            "constants": [
                            ],
                            "fields": [
                                {
                                    "name": "total",
                                    "documentation": "Total amount of the work for the operation.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Total amount of the work for the operation."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                    },
                                    "type": {"category": "primitive", "primitive_type": "long"}
                                }
                                ,
                                {
                                    "name": "completed",
                                    "documentation": "The amount of work completed for the operation. The value can only be incremented.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "The amount of work completed for the operation. The value can only be incremented."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                    },
                                    "type": {"category": "primitive", "primitive_type": "long"}
                                }
                                ,
                                {
                                    "name": "message",
                                    "documentation": "Message about the work progress.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Message about the work progress."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                    },
                                    "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.localizable_message"}
                                }
                            ]
                        }
                        ,
                        {
                            "type": "Structure",
                            "name": "com.vmware.cis.task.common_info",
                            "documentation": "The CommonInfo structure contains information common to all tasks.",
                            "docModels": {
                                "descriptions": [
                                    {
                                        "docModel": [
                                            {"text": "The "},
                                            {"atName": {"resolved": "com.vmware.cis.task.CommonInfo", "isToType": true, "text": "CommonInfo", "tag": "name"}},
                                            {"text": " "},
                                            {"atTerm": "structure"},
                                            {"text": " contains information common to all tasks."}
                                        ]
                                    }
                                ]
                            },
                            "metadata": {
                                "Feature": {"value": "TASK_STRUCTURES"},
                                "Released": {"version": "1.1"},
                                "Export": {"value": "true"},
                                "Includable": {"value": "true"}
                            },
                            "fingerprint": "20588a314b15e7d1ba64eebce80159ff5011ec83",
                            "enumerations": [
                            ],
                            "constants": [
                            ],
                            "fields": [
                                {
                                    "name": "description",
                                    "documentation": "Description of the operation associated with the task.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Description of the operation associated with the task."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                    },
                                    "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.localizable_message"}
                                }
                                ,
                                {
                                    "name": "service",
                                    "documentation": "Identifier of the service containing the operation.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: com.vmware.vapi.service. When operations return a value of this structure as a result, the field will be an identifier for the resource type: com.vmware.vapi.service.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Identifier of the service containing the operation."}
                                                ]
                                            }
                                        ]
                                        ,
                                        "metadata": 
                                        {
                                            "docModel": [
                                                {"text": "When clients pass a value of this "},
                                                {"atTerm": "structure"},
                                                {"text": " as a "},
                                                {"atTerm": "parameter"},
                                                {"text": ", the "},
                                                {"atTerm": "field"},
                                                {"text": " must be an identifier for the resource type: "},
                                                {"atCode": "com.vmware.vapi.service"},
                                                {"text": ". When "},
                                                {"atTerm": "operations"},
                                                {"text": " return a value of this "},
                                                {"atTerm": "structure"},
                                                {"text": " as a "},
                                                {"atTerm": "result"},
                                                {"text": ", the "},
                                                {"atTerm": "field"},
                                                {"text": " will be an identifier for the resource type: "},
                                                {"atCode": "com.vmware.vapi.service"},
                                                {"text": "."}
                                            ]
                                        }
                                    },
                                    "metadata": {
                                        "Resource": {"value": "com.vmware.vapi.service"}
                                    },
                                    "type": {"category": "primitive", "primitive_type": "ID"}
                                }
                                ,
                                {
                                    "name": "operation",
                                    "documentation": "Identifier of the operation associated with the task.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: com.vmware.vapi.operation. When operations return a value of this structure as a result, the field will be an identifier for the resource type: com.vmware.vapi.operation.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Identifier of the operation associated with the task."}
                                                ]
                                            }
                                        ]
                                        ,
                                        "metadata": 
                                        {
                                            "docModel": [
                                                {"text": "When clients pass a value of this "},
                                                {"atTerm": "structure"},
                                                {"text": " as a "},
                                                {"atTerm": "parameter"},
                                                {"text": ", the "},
                                                {"atTerm": "field"},
                                                {"text": " must be an identifier for the resource type: "},
                                                {"atCode": "com.vmware.vapi.operation"},
                                                {"text": ". When "},
                                                {"atTerm": "operations"},
                                                {"text": " return a value of this "},
                                                {"atTerm": "structure"},
                                                {"text": " as a "},
                                                {"atTerm": "result"},
                                                {"text": ", the "},
                                                {"atTerm": "field"},
                                                {"text": " will be an identifier for the resource type: "},
                                                {"atCode": "com.vmware.vapi.operation"},
                                                {"text": "."}
                                            ]
                                        }
                                    },
                                    "metadata": {
                                        "Resource": {"value": "com.vmware.vapi.operation"}
                                    },
                                    "type": {"category": "primitive", "primitive_type": "ID"}
                                }
                                ,
                                {
                                    "name": "parent",
                                    "documentation": "Parent of the current task.\nThis field will be unset if the task has no parent.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: com.vmware.cis.task. When operations return a value of this structure as a result, the field will be an identifier for the resource type: com.vmware.cis.task.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Parent of the current task."}
                                                ]
                                            }
                                        ]
                                        ,
                                        "optionalReason": 
                                        {
                                            "docModel": [
                                                {"text": "This "},
                                                {"atTerm": "field"},
                                                {"text": " will be "},
                                                {"atTerm": "unset"},
                                                {"text": " if the task has no parent."}
                                            ]
                                        }
                                        ,
                                        "metadata": 
                                        {
                                            "docModel": [
                                                {"text": "When clients pass a value of this "},
                                                {"atTerm": "structure"},
                                                {"text": " as a "},
                                                {"atTerm": "parameter"},
                                                {"text": ", the "},
                                                {"atTerm": "field"},
                                                {"text": " must be an identifier for the resource type: "},
                                                {"atCode": "com.vmware.cis.task"},
                                                {"text": ". When "},
                                                {"atTerm": "operations"},
                                                {"text": " return a value of this "},
                                                {"atTerm": "structure"},
                                                {"text": " as a "},
                                                {"atTerm": "result"},
                                                {"text": ", the "},
                                                {"atTerm": "field"},
                                                {"text": " will be an identifier for the resource type: "},
                                                {"atCode": "com.vmware.cis.task"},
                                                {"text": "."}
                                            ]
                                        }
                                    },
                                    "metadata": {
                                        "Resource": {"value": "com.vmware.cis.task"}
                                    },
                                    "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "primitive", "primitive_type": "ID"}}
                                }
                                ,
                                {
                                    "name": "target",
                                    "documentation": "Identifier of the target created by the operation or an existing one the operation performed on.\nThis field will be unset if the operation has no target or multiple targets.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Identifier of the target created by the operation or an existing one the operation performed on."}
                                                ]
                                            }
                                        ]
                                        ,
                                        "optionalReason": 
                                        {
                                            "docModel": [
                                                {"text": "This "},
                                                {"atTerm": "field"},
                                                {"text": " will be "},
                                                {"atTerm": "unset"},
                                                {"text": " if the operation has no target or multiple targets."}
                                            ]
                                        }
                                    },
                                    "metadata": {
                                    },
                                    "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.dynamic_ID"}}
                                }
                                ,
                                {
                                    "name": "status",
                                    "documentation": "Status of the operation associated with the task.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Status of the operation associated with the task."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                        "UnionTag": {"value": "true"}
                                    },
                                    "type": {"category": "user_defined", "user_defined_type": "Enumeration", "user_defined_type_name": "com.vmware.cis.task.status"}
                                }
                                ,
                                {
                                    "name": "cancelable",
                                    "documentation": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                    },
                                    "type": {"category": "primitive", "primitive_type": "boolean"}
                                }
                                ,
                                {
                                    "name": "error",
                                    "documentation": "Description of the error if the operation status is \"FAILED\".\nIf unset the description of why the operation failed will be included in the result of the operation (see Info.result).",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Description of the error if the operation status is \"FAILED\"."}
                                                ]
                                            }
                                        ]
                                        ,
                                        "optionalReason": 
                                        {
                                            "docModel": [
                                                {"text": "If "},
                                                {"atTerm": "unset"},
                                                {"text": " the description of why the operation failed will be included in the result of the operation (see "},
                                                {"atLink": {"resolved": "com.vmware.cis.task.Info.result", "isToMember": true, "text": "Info#result"}},
                                                {"text": ")."}
                                            ]
                                        }
                                    },
                                    "metadata": {
                                        "UnionCase": {"tag": "status", "value": ["FAILED"]}
                                    },
                                    "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "primitive", "primitive_type": "exception"}}
                                }
                                ,
                                {
                                    "name": "start_time",
                                    "documentation": "Time when the operation is started.\nThis field is optional and it is only relevant when the value of CommonInfo.status is one of RUNNING, BLOCKED, SUCCEEDED, or FAILED.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Time when the operation is started."}
                                                ]
                                            }
                                        ]
                                        ,
                                        "optionalReason": 
                                        {
                                            "docModel": [
                                                {"text": "This "},
                                                {"atTerm": "field"},
                                                {"text": " is optional and it is only relevant when the value of "},
                                                {"atName": {"resolved": "com.vmware.cis.task.CommonInfo.status", "isToMember": true, "text": "#status", "tag": "name"}},
                                                {"text": " is one of "},
                                                {"atLink": {"resolved": "com.vmware.cis.task.Status.RUNNING", "isToMember": true, "text": "com.vmware.cis.task.Status#RUNNING"}},
                                                {"text": ", "},
                                                {"atLink": {"resolved": "com.vmware.cis.task.Status.BLOCKED", "isToMember": true, "text": "com.vmware.cis.task.Status#BLOCKED"}},
                                                {"text": ", "},
                                                {"atLink": {"resolved": "com.vmware.cis.task.Status.SUCCEEDED", "isToMember": true, "text": "com.vmware.cis.task.Status#SUCCEEDED"}},
                                                {"text": ", or "},
                                                {"atLink": {"resolved": "com.vmware.cis.task.Status.FAILED", "isToMember": true, "text": "com.vmware.cis.task.Status#FAILED"}},
                                                {"text": "."}
                                            ]
                                        }
                                    },
                                    "metadata": {
                                        "UnionCase": {"tag": "status", "value": ["RUNNING", "BLOCKED", "SUCCEEDED", "FAILED"]}
                                    },
                                    "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "primitive", "primitive_type": "date_time"}}
                                }
                                ,
                                {
                                    "name": "end_time",
                                    "documentation": "Time when the operation is completed.\nThis field is optional and it is only relevant when the value of CommonInfo.status is one of SUCCEEDED or FAILED.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Time when the operation is completed."}
                                                ]
                                            }
                                        ]
                                        ,
                                        "optionalReason": 
                                        {
                                            "docModel": [
                                                {"text": "This "},
                                                {"atTerm": "field"},
                                                {"text": " is optional and it is only relevant when the value of "},
                                                {"atName": {"resolved": "com.vmware.cis.task.CommonInfo.status", "isToMember": true, "text": "#status", "tag": "name"}},
                                                {"text": " is one of "},
                                                {"atLink": {"resolved": "com.vmware.cis.task.Status.SUCCEEDED", "isToMember": true, "text": "com.vmware.cis.task.Status#SUCCEEDED"}},
                                                {"text": " or "},
                                                {"atLink": {"resolved": "com.vmware.cis.task.Status.FAILED", "isToMember": true, "text": "com.vmware.cis.task.Status#FAILED"}},
                                                {"text": "."}
                                            ]
                                        }
                                    },
                                    "metadata": {
                                        "UnionCase": {"tag": "status", "value": ["SUCCEEDED", "FAILED"]}
                                    },
                                    "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "primitive", "primitive_type": "date_time"}}
                                }
                                ,
                                {
                                    "name": "user",
                                    "documentation": "Name of the user who performed the operation.\nThis field will be unset if the operation is performed by the system.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Name of the user who performed the operation."}
                                                ]
                                            }
                                        ]
                                        ,
                                        "optionalReason": 
                                        {
                                            "docModel": [
                                                {"text": "This "},
                                                {"atTerm": "field"},
                                                {"text": " will be "},
                                                {"atTerm": "unset"},
                                                {"text": " if the operation is performed by the system."}
                                            ]
                                        }
                                    },
                                    "metadata": {
                                    },
                                    "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "primitive", "primitive_type": "string"}}
                                }
                            ]
                        }
                        ,
                        {
                            "type": "Structure",
                            "name": "com.vmware.cis.task.info",
                            "documentation": "The Info structure contains information about a task.",
                            "docModels": {
                                "descriptions": [
                                    {
                                        "docModel": [
                                            {"text": "The "},
                                            {"atName": {"resolved": "com.vmware.cis.task.Info", "isToType": true, "text": "Info", "tag": "name"}},
                                            {"text": " "},
                                            {"atTerm": "structure"},
                                            {"text": " contains information about a task."}
                                        ]
                                    }
                                ]
                            },
                            "metadata": {
                                "Feature": {"value": "TASK_STRUCTURES"},
                                "Released": {"version": "1.1"},
                                "Export": {"value": "true"},
                                "Include": {"value": "com.vmware.cis.task.common_info"}
                            },
                            "fingerprint": "54730a9b9b533079bc8d6c8359a75ef5de14637e",
                            "enumerations": [
                            ],
                            "constants": [
                            ],
                            "fields": [
                                {
                                    "name": "progress",
                                    "documentation": "Progress of the operation.\nThis field is optional and it is only relevant when the value of #status is one of RUNNING, BLOCKED, SUCCEEDED, or FAILED.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Progress of the operation."}
                                                ]
                                            }
                                        ]
                                        ,
                                        "optionalReason": 
                                        {
                                            "docModel": [
                                                {"text": "This "},
                                                {"atTerm": "field"},
                                                {"text": " is optional and it is only relevant when the value of "},
                                                {"atName": {"UNRESOLVED": true, "text": "#status", "tag": "name"}},
                                                {"text": " is one of "},
                                                {"atLink": {"resolved": "com.vmware.cis.task.Status.RUNNING", "isToMember": true, "text": "com.vmware.cis.task.Status#RUNNING"}},
                                                {"text": ", "},
                                                {"atLink": {"resolved": "com.vmware.cis.task.Status.BLOCKED", "isToMember": true, "text": "com.vmware.cis.task.Status#BLOCKED"}},
                                                {"text": ", "},
                                                {"atLink": {"resolved": "com.vmware.cis.task.Status.SUCCEEDED", "isToMember": true, "text": "com.vmware.cis.task.Status#SUCCEEDED"}},
                                                {"text": ", or "},
                                                {"atLink": {"resolved": "com.vmware.cis.task.Status.FAILED", "isToMember": true, "text": "com.vmware.cis.task.Status#FAILED"}},
                                                {"text": "."}
                                            ]
                                        }
                                    },
                                    "metadata": {
                                        "UnionCase": {"tag": "status", "value": ["RUNNING", "BLOCKED", "SUCCEEDED", "FAILED"]}
                                    },
                                    "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.cis.task.progress"}}
                                }
                                ,
                                {
                                    "name": "result",
                                    "documentation": "Result of the operation. If an operation reports partial results before it completes, this field could be set before the CommonInfo.status has the value SUCCEEDED. The value could change as the operation progresses.\nThis field will be unset if the operation does not return a result or if the result is not available at the current step of the operation.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Result of the operation. If an operation reports partial results before it completes, this "},
                                                    {"atTerm": "field"},
                                                    {"text": " could be "},
                                                    {"atTerm": "set"},
                                                    {"text": " before the "},
                                                    {"atLink": {"resolved": "com.vmware.cis.task.CommonInfo.status", "isToMember": true, "text": "CommonInfo#status"}},
                                                    {"text": " has the value "},
                                                    {"atLink": {"resolved": "com.vmware.cis.task.Status.SUCCEEDED", "isToMember": true, "text": "Status#SUCCEEDED"}},
                                                    {"text": ". The value could change as the operation progresses."}
                                                ]
                                            }
                                        ]
                                        ,
                                        "optionalReason": 
                                        {
                                            "docModel": [
                                                {"text": "This "},
                                                {"atTerm": "field"},
                                                {"text": " will be "},
                                                {"atTerm": "unset"},
                                                {"text": " if the operation does not return a result or if the result is not available at the current step of the operation."}
                                            ]
                                        }
                                    },
                                    "metadata": {
                                        "UnionCase": {"tag": "status", "value": ["RUNNING", "BLOCKED", "SUCCEEDED", "FAILED"]}
                                    },
                                    "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "primitive", "primitive_type": "opaque"}}
                                }
                                ,
                                {
                                    "name": "description",
                                    "documentation": "Description of the operation associated with the task.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Description of the operation associated with the task."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                    },
                                    "type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.localizable_message"}
                                }
                                ,
                                {
                                    "name": "service",
                                    "documentation": "Identifier of the service containing the operation.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: com.vmware.vapi.service. When operations return a value of this structure as a result, the field will be an identifier for the resource type: com.vmware.vapi.service.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Identifier of the service containing the operation."}
                                                ]
                                            }
                                        ]
                                        ,
                                        "metadata": 
                                        {
                                            "docModel": [
                                                {"text": "When clients pass a value of this "},
                                                {"atTerm": "structure"},
                                                {"text": " as a "},
                                                {"atTerm": "parameter"},
                                                {"text": ", the "},
                                                {"atTerm": "field"},
                                                {"text": " must be an identifier for the resource type: "},
                                                {"atCode": "com.vmware.vapi.service"},
                                                {"text": ". When "},
                                                {"atTerm": "operations"},
                                                {"text": " return a value of this "},
                                                {"atTerm": "structure"},
                                                {"text": " as a "},
                                                {"atTerm": "result"},
                                                {"text": ", the "},
                                                {"atTerm": "field"},
                                                {"text": " will be an identifier for the resource type: "},
                                                {"atCode": "com.vmware.vapi.service"},
                                                {"text": "."}
                                            ]
                                        }
                                    },
                                    "metadata": {
                                        "Resource": {"value": "com.vmware.vapi.service"}
                                    },
                                    "type": {"category": "primitive", "primitive_type": "ID"}
                                }
                                ,
                                {
                                    "name": "operation",
                                    "documentation": "Identifier of the operation associated with the task.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: com.vmware.vapi.operation. When operations return a value of this structure as a result, the field will be an identifier for the resource type: com.vmware.vapi.operation.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Identifier of the operation associated with the task."}
                                                ]
                                            }
                                        ]
                                        ,
                                        "metadata": 
                                        {
                                            "docModel": [
                                                {"text": "When clients pass a value of this "},
                                                {"atTerm": "structure"},
                                                {"text": " as a "},
                                                {"atTerm": "parameter"},
                                                {"text": ", the "},
                                                {"atTerm": "field"},
                                                {"text": " must be an identifier for the resource type: "},
                                                {"atCode": "com.vmware.vapi.operation"},
                                                {"text": ". When "},
                                                {"atTerm": "operations"},
                                                {"text": " return a value of this "},
                                                {"atTerm": "structure"},
                                                {"text": " as a "},
                                                {"atTerm": "result"},
                                                {"text": ", the "},
                                                {"atTerm": "field"},
                                                {"text": " will be an identifier for the resource type: "},
                                                {"atCode": "com.vmware.vapi.operation"},
                                                {"text": "."}
                                            ]
                                        }
                                    },
                                    "metadata": {
                                        "Resource": {"value": "com.vmware.vapi.operation"}
                                    },
                                    "type": {"category": "primitive", "primitive_type": "ID"}
                                }
                                ,
                                {
                                    "name": "parent",
                                    "documentation": "Parent of the current task.\nThis field will be unset if the task has no parent.\nWhen clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: com.vmware.cis.task. When operations return a value of this structure as a result, the field will be an identifier for the resource type: com.vmware.cis.task.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Parent of the current task."}
                                                ]
                                            }
                                        ]
                                        ,
                                        "optionalReason": 
                                        {
                                            "docModel": [
                                                {"text": "This "},
                                                {"atTerm": "field"},
                                                {"text": " will be "},
                                                {"atTerm": "unset"},
                                                {"text": " if the task has no parent."}
                                            ]
                                        }
                                        ,
                                        "metadata": 
                                        {
                                            "docModel": [
                                                {"text": "When clients pass a value of this "},
                                                {"atTerm": "structure"},
                                                {"text": " as a "},
                                                {"atTerm": "parameter"},
                                                {"text": ", the "},
                                                {"atTerm": "field"},
                                                {"text": " must be an identifier for the resource type: "},
                                                {"atCode": "com.vmware.cis.task"},
                                                {"text": ". When "},
                                                {"atTerm": "operations"},
                                                {"text": " return a value of this "},
                                                {"atTerm": "structure"},
                                                {"text": " as a "},
                                                {"atTerm": "result"},
                                                {"text": ", the "},
                                                {"atTerm": "field"},
                                                {"text": " will be an identifier for the resource type: "},
                                                {"atCode": "com.vmware.cis.task"},
                                                {"text": "."}
                                            ]
                                        }
                                    },
                                    "metadata": {
                                        "Resource": {"value": "com.vmware.cis.task"}
                                    },
                                    "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "primitive", "primitive_type": "ID"}}
                                }
                                ,
                                {
                                    "name": "target",
                                    "documentation": "Identifier of the target created by the operation or an existing one the operation performed on.\nThis field will be unset if the operation has no target or multiple targets.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Identifier of the target created by the operation or an existing one the operation performed on."}
                                                ]
                                            }
                                        ]
                                        ,
                                        "optionalReason": 
                                        {
                                            "docModel": [
                                                {"text": "This "},
                                                {"atTerm": "field"},
                                                {"text": " will be "},
                                                {"atTerm": "unset"},
                                                {"text": " if the operation has no target or multiple targets."}
                                            ]
                                        }
                                    },
                                    "metadata": {
                                    },
                                    "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "user_defined", "user_defined_type": "Structure", "user_defined_type_name": "com.vmware.vapi.std.dynamic_ID"}}
                                }
                                ,
                                {
                                    "name": "status",
                                    "documentation": "Status of the operation associated with the task.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Status of the operation associated with the task."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                        "UnionTag": {"value": "true"}
                                    },
                                    "type": {"category": "user_defined", "user_defined_type": "Enumeration", "user_defined_type_name": "com.vmware.cis.task.status"}
                                }
                                ,
                                {
                                    "name": "cancelable",
                                    "documentation": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses."}
                                                ]
                                            }
                                        ]
                                    },
                                    "metadata": {
                                    },
                                    "type": {"category": "primitive", "primitive_type": "boolean"}
                                }
                                ,
                                {
                                    "name": "error",
                                    "documentation": "Description of the error if the operation status is \"FAILED\".\nIf unset the description of why the operation failed will be included in the result of the operation (see Info.result).",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Description of the error if the operation status is \"FAILED\"."}
                                                ]
                                            }
                                        ]
                                        ,
                                        "optionalReason": 
                                        {
                                            "docModel": [
                                                {"text": "If "},
                                                {"atTerm": "unset"},
                                                {"text": " the description of why the operation failed will be included in the result of the operation (see "},
                                                {"atLink": {"resolved": "com.vmware.cis.task.Info.result", "isToMember": true, "text": "Info#result"}},
                                                {"text": ")."}
                                            ]
                                        }
                                    },
                                    "metadata": {
                                        "UnionCase": {"tag": "status", "value": ["FAILED"]}
                                    },
                                    "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "primitive", "primitive_type": "exception"}}
                                }
                                ,
                                {
                                    "name": "start_time",
                                    "documentation": "Time when the operation is started.\nThis field is optional and it is only relevant when the value of CommonInfo.status is one of RUNNING, BLOCKED, SUCCEEDED, or FAILED.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Time when the operation is started."}
                                                ]
                                            }
                                        ]
                                        ,
                                        "optionalReason": 
                                        {
                                            "docModel": [
                                                {"text": "This "},
                                                {"atTerm": "field"},
                                                {"text": " is optional and it is only relevant when the value of "},
                                                {"atName": {"resolved": "com.vmware.cis.task.CommonInfo.status", "isToMember": true, "text": "#status", "tag": "name"}},
                                                {"text": " is one of "},
                                                {"atLink": {"resolved": "com.vmware.cis.task.Status.RUNNING", "isToMember": true, "text": "com.vmware.cis.task.Status#RUNNING"}},
                                                {"text": ", "},
                                                {"atLink": {"resolved": "com.vmware.cis.task.Status.BLOCKED", "isToMember": true, "text": "com.vmware.cis.task.Status#BLOCKED"}},
                                                {"text": ", "},
                                                {"atLink": {"resolved": "com.vmware.cis.task.Status.SUCCEEDED", "isToMember": true, "text": "com.vmware.cis.task.Status#SUCCEEDED"}},
                                                {"text": ", or "},
                                                {"atLink": {"resolved": "com.vmware.cis.task.Status.FAILED", "isToMember": true, "text": "com.vmware.cis.task.Status#FAILED"}},
                                                {"text": "."}
                                            ]
                                        }
                                    },
                                    "metadata": {
                                        "UnionCase": {"tag": "status", "value": ["RUNNING", "BLOCKED", "SUCCEEDED", "FAILED"]}
                                    },
                                    "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "primitive", "primitive_type": "date_time"}}
                                }
                                ,
                                {
                                    "name": "end_time",
                                    "documentation": "Time when the operation is completed.\nThis field is optional and it is only relevant when the value of CommonInfo.status is one of SUCCEEDED or FAILED.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Time when the operation is completed."}
                                                ]
                                            }
                                        ]
                                        ,
                                        "optionalReason": 
                                        {
                                            "docModel": [
                                                {"text": "This "},
                                                {"atTerm": "field"},
                                                {"text": " is optional and it is only relevant when the value of "},
                                                {"atName": {"resolved": "com.vmware.cis.task.CommonInfo.status", "isToMember": true, "text": "#status", "tag": "name"}},
                                                {"text": " is one of "},
                                                {"atLink": {"resolved": "com.vmware.cis.task.Status.SUCCEEDED", "isToMember": true, "text": "com.vmware.cis.task.Status#SUCCEEDED"}},
                                                {"text": " or "},
                                                {"atLink": {"resolved": "com.vmware.cis.task.Status.FAILED", "isToMember": true, "text": "com.vmware.cis.task.Status#FAILED"}},
                                                {"text": "."}
                                            ]
                                        }
                                    },
                                    "metadata": {
                                        "UnionCase": {"tag": "status", "value": ["SUCCEEDED", "FAILED"]}
                                    },
                                    "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "primitive", "primitive_type": "date_time"}}
                                }
                                ,
                                {
                                    "name": "user",
                                    "documentation": "Name of the user who performed the operation.\nThis field will be unset if the operation is performed by the system.",
                                    "docModels": {
                                        "descriptions": [
                                            {
                                                "docModel": [
                                                    {"text": "Name of the user who performed the operation."}
                                                ]
                                            }
                                        ]
                                        ,
                                        "optionalReason": 
                                        {
                                            "docModel": [
                                                {"text": "This "},
                                                {"atTerm": "field"},
                                                {"text": " will be "},
                                                {"atTerm": "unset"},
                                                {"text": " if the operation is performed by the system."}
                                            ]
                                        }
                                    },
                                    "metadata": {
                                    },
                                    "type": {"category": "generic", "generic_type": "Optional", "element_type": {"category": "primitive", "primitive_type": "string"}}
                                }
                            ]
                        }
                    ],
                    "services": [
                    ]
                }
            ]
        }
    }
}
