Revert "Revert "Remove vendored libjuju""
[osm/N2VC.git] / modules / libjuju / juju / client / schemas-juju-2.5-rc1.json
diff --git a/modules/libjuju/juju/client/schemas-juju-2.5-rc1.json b/modules/libjuju/juju/client/schemas-juju-2.5-rc1.json
deleted file mode 100644 (file)
index b53dd0b..0000000
+++ /dev/null
@@ -1,37036 +0,0 @@
-[
-  {
-    "Name": "Action",
-    "Version": 3,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Actions": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ActionResults"
-            }
-          }
-        },
-        "ApplicationsCharmsActions": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ApplicationsCharmActionsResults"
-            }
-          }
-        },
-        "Cancel": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ActionResults"
-            }
-          }
-        },
-        "Enqueue": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Actions"
-            },
-            "Result": {
-              "$ref": "#/definitions/ActionResults"
-            }
-          }
-        },
-        "FindActionTagsByPrefix": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/FindTags"
-            },
-            "Result": {
-              "$ref": "#/definitions/FindTagsResults"
-            }
-          }
-        },
-        "FindActionsByNames": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/FindActionsByNames"
-            },
-            "Result": {
-              "$ref": "#/definitions/ActionsByNames"
-            }
-          }
-        },
-        "ListAll": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ActionsByReceivers"
-            }
-          }
-        },
-        "ListCompleted": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ActionsByReceivers"
-            }
-          }
-        },
-        "ListPending": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ActionsByReceivers"
-            }
-          }
-        },
-        "ListRunning": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ActionsByReceivers"
-            }
-          }
-        },
-        "Run": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RunParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ActionResults"
-            }
-          }
-        },
-        "RunOnAllMachines": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RunParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ActionResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Action": {
-          "type": "object",
-          "properties": {
-            "name": {
-              "type": "string"
-            },
-            "parameters": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "receiver": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "receiver",
-            "name"
-          ]
-        },
-        "ActionResult": {
-          "type": "object",
-          "properties": {
-            "action": {
-              "$ref": "#/definitions/Action"
-            },
-            "completed": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "enqueued": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "message": {
-              "type": "string"
-            },
-            "output": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "started": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ActionResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ActionResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "ActionSpec": {
-          "type": "object",
-          "properties": {
-            "description": {
-              "type": "string"
-            },
-            "params": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "description",
-            "params"
-          ]
-        },
-        "Actions": {
-          "type": "object",
-          "properties": {
-            "actions": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Action"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "ActionsByName": {
-          "type": "object",
-          "properties": {
-            "actions": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ActionResult"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "name": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ActionsByNames": {
-          "type": "object",
-          "properties": {
-            "actions": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ActionsByName"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "ActionsByReceiver": {
-          "type": "object",
-          "properties": {
-            "actions": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ActionResult"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "receiver": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ActionsByReceivers": {
-          "type": "object",
-          "properties": {
-            "actions": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ActionsByReceiver"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "ApplicationCharmActionsResult": {
-          "type": "object",
-          "properties": {
-            "actions": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/ActionSpec"
-                }
-              }
-            },
-            "application-tag": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ApplicationsCharmActionsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ApplicationCharmActionsResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "FindActionsByNames": {
-          "type": "object",
-          "properties": {
-            "names": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "FindTags": {
-          "type": "object",
-          "properties": {
-            "prefixes": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "prefixes"
-          ]
-        },
-        "FindTagsResults": {
-          "type": "object",
-          "properties": {
-            "matches": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "array",
-                  "items": {
-                    "$ref": "#/definitions/Entity"
-                  }
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "matches"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "RunParams": {
-          "type": "object",
-          "properties": {
-            "applications": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "commands": {
-              "type": "string"
-            },
-            "machines": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "timeout": {
-              "type": "integer"
-            },
-            "units": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "commands",
-            "timeout"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "ActionPruner",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "ModelConfig": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ModelConfigResult"
-            }
-          }
-        },
-        "Prune": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ActionPruneArgs"
-            }
-          }
-        },
-        "WatchForModelConfigChanges": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "ActionPruneArgs": {
-          "type": "object",
-          "properties": {
-            "max-history-mb": {
-              "type": "integer"
-            },
-            "max-history-time": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "max-history-time",
-            "max-history-mb"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "ModelConfigResult": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Agent",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "ClearReboot": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "CloudSpec": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/CloudSpecResults"
-            }
-          }
-        },
-        "ControllerAPIInfoForModels": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ControllerAPIInfoResults"
-            }
-          }
-        },
-        "ControllerConfig": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ControllerConfigResult"
-            }
-          }
-        },
-        "GetCloudSpec": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModelTag"
-            },
-            "Result": {
-              "$ref": "#/definitions/CloudSpecResult"
-            }
-          }
-        },
-        "GetEntities": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/AgentGetEntitiesResults"
-            }
-          }
-        },
-        "IsMaster": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/IsMasterResult"
-            }
-          }
-        },
-        "ModelConfig": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ModelConfigResult"
-            }
-          }
-        },
-        "SetPasswords": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/EntityPasswords"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "StateServingInfo": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StateServingInfo"
-            }
-          }
-        },
-        "WatchCredentials": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        },
-        "WatchForModelConfigChanges": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "AgentGetEntitiesResult": {
-          "type": "object",
-          "properties": {
-            "container-type": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "jobs": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "life": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "life",
-            "jobs",
-            "container-type"
-          ]
-        },
-        "AgentGetEntitiesResults": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/AgentGetEntitiesResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "CloudCredential": {
-          "type": "object",
-          "properties": {
-            "attrs": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "auth-type": {
-              "type": "string"
-            },
-            "redacted": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "auth-type"
-          ]
-        },
-        "CloudSpec": {
-          "type": "object",
-          "properties": {
-            "cacertificates": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "credential": {
-              "$ref": "#/definitions/CloudCredential"
-            },
-            "endpoint": {
-              "type": "string"
-            },
-            "identity-endpoint": {
-              "type": "string"
-            },
-            "name": {
-              "type": "string"
-            },
-            "region": {
-              "type": "string"
-            },
-            "storage-endpoint": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "type",
-            "name"
-          ]
-        },
-        "CloudSpecResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/CloudSpec"
-            }
-          },
-          "additionalProperties": false
-        },
-        "CloudSpecResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/CloudSpecResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "ControllerAPIInfoResult": {
-          "type": "object",
-          "properties": {
-            "addresses": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "cacert": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "addresses",
-            "cacert"
-          ]
-        },
-        "ControllerAPIInfoResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ControllerAPIInfoResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ControllerConfigResult": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "EntityPassword": {
-          "type": "object",
-          "properties": {
-            "password": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "password"
-          ]
-        },
-        "EntityPasswords": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityPassword"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "changes"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "IsMasterResult": {
-          "type": "object",
-          "properties": {
-            "master": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "master"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "ModelConfigResult": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "ModelTag": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "StateServingInfo": {
-          "type": "object",
-          "properties": {
-            "api-port": {
-              "type": "integer"
-            },
-            "ca-private-key": {
-              "type": "string"
-            },
-            "cert": {
-              "type": "string"
-            },
-            "controller-api-port": {
-              "type": "integer"
-            },
-            "private-key": {
-              "type": "string"
-            },
-            "shared-secret": {
-              "type": "string"
-            },
-            "state-port": {
-              "type": "integer"
-            },
-            "system-identity": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "api-port",
-            "state-port",
-            "cert",
-            "private-key",
-            "ca-private-key",
-            "shared-secret",
-            "system-identity"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "AgentTools",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "UpdateToolsAvailable": {
-          "type": "object"
-        }
-      }
-    }
-  },
-  {
-    "Name": "AllModelWatcher",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Next": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/AllWatcherNextResults"
-            }
-          }
-        },
-        "Stop": {
-          "type": "object"
-        }
-      },
-      "definitions": {
-        "AllWatcherNextResults": {
-          "type": "object",
-          "properties": {
-            "deltas": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Delta"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "deltas"
-          ]
-        },
-        "Delta": {
-          "type": "object",
-          "properties": {
-            "entity": {
-              "type": "object",
-              "additionalProperties": true
-            },
-            "removed": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "removed",
-            "entity"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "AllWatcher",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Next": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/AllWatcherNextResults"
-            }
-          }
-        },
-        "Stop": {
-          "type": "object"
-        }
-      },
-      "definitions": {
-        "AllWatcherNextResults": {
-          "type": "object",
-          "properties": {
-            "deltas": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Delta"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "deltas"
-          ]
-        },
-        "Delta": {
-          "type": "object",
-          "properties": {
-            "entity": {
-              "type": "object",
-              "additionalProperties": true
-            },
-            "removed": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "removed",
-            "entity"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Annotations",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Get": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/AnnotationsGetResults"
-            }
-          }
-        },
-        "Set": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/AnnotationsSet"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "AnnotationsGetResult": {
-          "type": "object",
-          "properties": {
-            "annotations": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "entity": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/ErrorResult"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entity",
-            "annotations"
-          ]
-        },
-        "AnnotationsGetResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/AnnotationsGetResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "AnnotationsSet": {
-          "type": "object",
-          "properties": {
-            "annotations": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityAnnotations"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "annotations"
-          ]
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "EntityAnnotations": {
-          "type": "object",
-          "properties": {
-            "annotations": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "entity": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entity",
-            "annotations"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        }
-      }
-    }
-  },
-  {
-    "Name": "Application",
-    "Version": 8,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "AddRelation": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/AddRelation"
-            },
-            "Result": {
-              "$ref": "#/definitions/AddRelationResults"
-            }
-          }
-        },
-        "AddUnits": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/AddApplicationUnits"
-            },
-            "Result": {
-              "$ref": "#/definitions/AddApplicationUnitsResults"
-            }
-          }
-        },
-        "CharmConfig": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ApplicationGetConfigResults"
-            }
-          }
-        },
-        "CharmRelations": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ApplicationCharmRelations"
-            },
-            "Result": {
-              "$ref": "#/definitions/ApplicationCharmRelationsResults"
-            }
-          }
-        },
-        "Consume": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ConsumeApplicationArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "Deploy": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ApplicationsDeploy"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "Destroy": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ApplicationDestroy"
-            }
-          }
-        },
-        "DestroyApplication": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/DestroyApplicationsParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/DestroyApplicationResults"
-            }
-          }
-        },
-        "DestroyConsumedApplications": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/DestroyConsumedApplicationsParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "DestroyRelation": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/DestroyRelation"
-            }
-          }
-        },
-        "DestroyUnit": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/DestroyUnitsParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/DestroyUnitResults"
-            }
-          }
-        },
-        "DestroyUnits": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/DestroyApplicationUnits"
-            }
-          }
-        },
-        "Expose": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ApplicationExpose"
-            }
-          }
-        },
-        "Get": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ApplicationGet"
-            },
-            "Result": {
-              "$ref": "#/definitions/ApplicationGetResults"
-            }
-          }
-        },
-        "GetCharmURL": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ApplicationGet"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringResult"
-            }
-          }
-        },
-        "GetConfig": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ApplicationGetConfigResults"
-            }
-          }
-        },
-        "GetConstraints": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ApplicationGetConstraintsResults"
-            }
-          }
-        },
-        "GetLXDProfileUpgradeMessages": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/LXDProfileUpgradeMessages"
-            },
-            "Result": {
-              "$ref": "#/definitions/LXDProfileUpgradeMessagesResults"
-            }
-          }
-        },
-        "ResolveUnitErrors": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/UnitsResolved"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "ScaleApplications": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ScaleApplicationsParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ScaleApplicationResults"
-            }
-          }
-        },
-        "Set": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ApplicationSet"
-            }
-          }
-        },
-        "SetApplicationsConfig": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ApplicationConfigSetArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetCharm": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ApplicationSetCharm"
-            }
-          }
-        },
-        "SetCharmProfile": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ApplicationSetCharmProfile"
-            }
-          }
-        },
-        "SetConstraints": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetConstraints"
-            }
-          }
-        },
-        "SetMetricCredentials": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ApplicationMetricCredentials"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetRelationsSuspended": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RelationSuspendedArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "Unexpose": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ApplicationUnexpose"
-            }
-          }
-        },
-        "Unset": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ApplicationUnset"
-            }
-          }
-        },
-        "UnsetApplicationsConfig": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ApplicationConfigUnsetArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "Update": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ApplicationUpdate"
-            }
-          }
-        },
-        "UpdateApplicationSeries": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/UpdateSeriesArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "WatchLXDProfileUpgradeNotifications": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entity"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "AddApplicationUnits": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "type": "string"
-            },
-            "attach-storage": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "num-units": {
-              "type": "integer"
-            },
-            "placement": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Placement"
-              }
-            },
-            "policy": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application",
-            "num-units",
-            "placement"
-          ]
-        },
-        "AddApplicationUnitsResults": {
-          "type": "object",
-          "properties": {
-            "units": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "units"
-          ]
-        },
-        "AddRelation": {
-          "type": "object",
-          "properties": {
-            "endpoints": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "via-cidrs": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "endpoints"
-          ]
-        },
-        "AddRelationResults": {
-          "type": "object",
-          "properties": {
-            "endpoints": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/CharmRelation"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "endpoints"
-          ]
-        },
-        "ApplicationCharmRelations": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application"
-          ]
-        },
-        "ApplicationCharmRelationsResults": {
-          "type": "object",
-          "properties": {
-            "charm-relations": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "charm-relations"
-          ]
-        },
-        "ApplicationConfigSet": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "type": "string"
-            },
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application",
-            "config"
-          ]
-        },
-        "ApplicationConfigSetArgs": {
-          "type": "object",
-          "properties": {
-            "Args": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ApplicationConfigSet"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Args"
-          ]
-        },
-        "ApplicationConfigUnsetArgs": {
-          "type": "object",
-          "properties": {
-            "Args": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ApplicationUnset"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Args"
-          ]
-        },
-        "ApplicationConstraint": {
-          "type": "object",
-          "properties": {
-            "constraints": {
-              "$ref": "#/definitions/Value"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "constraints"
-          ]
-        },
-        "ApplicationDeploy": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "type": "string"
-            },
-            "attach-storage": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "channel": {
-              "type": "string"
-            },
-            "charm-url": {
-              "type": "string"
-            },
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "config-yaml": {
-              "type": "string"
-            },
-            "constraints": {
-              "$ref": "#/definitions/Value"
-            },
-            "devices": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/Constraints"
-                }
-              }
-            },
-            "endpoint-bindings": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "num-units": {
-              "type": "integer"
-            },
-            "placement": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Placement"
-              }
-            },
-            "policy": {
-              "type": "string"
-            },
-            "resources": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "series": {
-              "type": "string"
-            },
-            "storage": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/Constraints"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application",
-            "series",
-            "charm-url",
-            "channel",
-            "num-units",
-            "config-yaml",
-            "constraints"
-          ]
-        },
-        "ApplicationDestroy": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application"
-          ]
-        },
-        "ApplicationExpose": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application"
-          ]
-        },
-        "ApplicationGet": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application"
-          ]
-        },
-        "ApplicationGetConfigResults": {
-          "type": "object",
-          "properties": {
-            "Results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ConfigResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Results"
-          ]
-        },
-        "ApplicationGetConstraintsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ApplicationConstraint"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ApplicationGetResults": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "type": "string"
-            },
-            "application-config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "charm": {
-              "type": "string"
-            },
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "constraints": {
-              "$ref": "#/definitions/Value"
-            },
-            "series": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application",
-            "charm",
-            "config",
-            "constraints",
-            "series"
-          ]
-        },
-        "ApplicationMetricCredential": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "type": "string"
-            },
-            "metrics-credentials": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application",
-            "metrics-credentials"
-          ]
-        },
-        "ApplicationMetricCredentials": {
-          "type": "object",
-          "properties": {
-            "creds": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ApplicationMetricCredential"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "creds"
-          ]
-        },
-        "ApplicationOfferDetails": {
-          "type": "object",
-          "properties": {
-            "application-description": {
-              "type": "string"
-            },
-            "bindings": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "endpoints": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RemoteEndpoint"
-              }
-            },
-            "offer-name": {
-              "type": "string"
-            },
-            "offer-url": {
-              "type": "string"
-            },
-            "offer-uuid": {
-              "type": "string"
-            },
-            "source-model-tag": {
-              "type": "string"
-            },
-            "spaces": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RemoteSpace"
-              }
-            },
-            "users": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/OfferUserDetails"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "source-model-tag",
-            "offer-uuid",
-            "offer-url",
-            "offer-name",
-            "application-description"
-          ]
-        },
-        "ApplicationSet": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "type": "string"
-            },
-            "options": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application",
-            "options"
-          ]
-        },
-        "ApplicationSetCharm": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "type": "string"
-            },
-            "channel": {
-              "type": "string"
-            },
-            "charm-url": {
-              "type": "string"
-            },
-            "config-settings": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "config-settings-yaml": {
-              "type": "string"
-            },
-            "force": {
-              "type": "boolean"
-            },
-            "force-series": {
-              "type": "boolean"
-            },
-            "force-units": {
-              "type": "boolean"
-            },
-            "resource-ids": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "storage-constraints": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/StorageConstraints"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application",
-            "charm-url",
-            "channel",
-            "force",
-            "force-units",
-            "force-series"
-          ]
-        },
-        "ApplicationSetCharmProfile": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "type": "string"
-            },
-            "charm-url": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application",
-            "charm-url"
-          ]
-        },
-        "ApplicationUnexpose": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application"
-          ]
-        },
-        "ApplicationUnset": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "type": "string"
-            },
-            "options": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application",
-            "options"
-          ]
-        },
-        "ApplicationUpdate": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "type": "string"
-            },
-            "charm-url": {
-              "type": "string"
-            },
-            "constraints": {
-              "$ref": "#/definitions/Value"
-            },
-            "force": {
-              "type": "boolean"
-            },
-            "force-charm-url": {
-              "type": "boolean"
-            },
-            "force-series": {
-              "type": "boolean"
-            },
-            "min-units": {
-              "type": "integer"
-            },
-            "settings": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "settings-yaml": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application",
-            "charm-url",
-            "force-charm-url",
-            "force-series",
-            "force",
-            "settings-yaml"
-          ]
-        },
-        "ApplicationsDeploy": {
-          "type": "object",
-          "properties": {
-            "applications": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ApplicationDeploy"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "applications"
-          ]
-        },
-        "CharmRelation": {
-          "type": "object",
-          "properties": {
-            "interface": {
-              "type": "string"
-            },
-            "limit": {
-              "type": "integer"
-            },
-            "name": {
-              "type": "string"
-            },
-            "optional": {
-              "type": "boolean"
-            },
-            "role": {
-              "type": "string"
-            },
-            "scope": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "role",
-            "interface",
-            "optional",
-            "limit",
-            "scope"
-          ]
-        },
-        "ConfigResult": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "Constraints": {
-          "type": "object",
-          "properties": {
-            "Count": {
-              "type": "integer"
-            },
-            "Pool": {
-              "type": "string"
-            },
-            "Size": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Pool",
-            "Size",
-            "Count"
-          ]
-        },
-        "ConsumeApplicationArg": {
-          "type": "object",
-          "properties": {
-            "ApplicationOfferDetails": {
-              "$ref": "#/definitions/ApplicationOfferDetails"
-            },
-            "application-alias": {
-              "type": "string"
-            },
-            "external-controller": {
-              "$ref": "#/definitions/ExternalControllerInfo"
-            },
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "ApplicationOfferDetails"
-          ]
-        },
-        "ConsumeApplicationArgs": {
-          "type": "object",
-          "properties": {
-            "args": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ConsumeApplicationArg"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "DestroyApplicationInfo": {
-          "type": "object",
-          "properties": {
-            "destroyed-storage": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            },
-            "destroyed-units": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            },
-            "detached-storage": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "DestroyApplicationParams": {
-          "type": "object",
-          "properties": {
-            "application-tag": {
-              "type": "string"
-            },
-            "destroy-storage": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application-tag"
-          ]
-        },
-        "DestroyApplicationResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "info": {
-              "$ref": "#/definitions/DestroyApplicationInfo"
-            }
-          },
-          "additionalProperties": false
-        },
-        "DestroyApplicationResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/DestroyApplicationResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "DestroyApplicationUnits": {
-          "type": "object",
-          "properties": {
-            "unit-names": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "unit-names"
-          ]
-        },
-        "DestroyApplicationsParams": {
-          "type": "object",
-          "properties": {
-            "applications": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/DestroyApplicationParams"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "applications"
-          ]
-        },
-        "DestroyConsumedApplicationParams": {
-          "type": "object",
-          "properties": {
-            "application-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application-tag"
-          ]
-        },
-        "DestroyConsumedApplicationsParams": {
-          "type": "object",
-          "properties": {
-            "applications": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/DestroyConsumedApplicationParams"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "applications"
-          ]
-        },
-        "DestroyRelation": {
-          "type": "object",
-          "properties": {
-            "endpoints": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "relation-id": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "relation-id"
-          ]
-        },
-        "DestroyUnitInfo": {
-          "type": "object",
-          "properties": {
-            "destroyed-storage": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            },
-            "detached-storage": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "DestroyUnitParams": {
-          "type": "object",
-          "properties": {
-            "destroy-storage": {
-              "type": "boolean"
-            },
-            "unit-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "unit-tag"
-          ]
-        },
-        "DestroyUnitResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "info": {
-              "$ref": "#/definitions/DestroyUnitInfo"
-            }
-          },
-          "additionalProperties": false
-        },
-        "DestroyUnitResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/DestroyUnitResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "DestroyUnitsParams": {
-          "type": "object",
-          "properties": {
-            "units": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/DestroyUnitParams"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "units"
-          ]
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ExternalControllerInfo": {
-          "type": "object",
-          "properties": {
-            "addrs": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "ca-cert": {
-              "type": "string"
-            },
-            "controller-alias": {
-              "type": "string"
-            },
-            "controller-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "controller-tag",
-            "controller-alias",
-            "addrs",
-            "ca-cert"
-          ]
-        },
-        "LXDProfileUpgradeMessages": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "$ref": "#/definitions/Entity"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application",
-            "watcher-id"
-          ]
-        },
-        "LXDProfileUpgradeMessagesResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "message": {
-              "type": "string"
-            },
-            "unit-name": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "unit-name",
-            "message"
-          ]
-        },
-        "LXDProfileUpgradeMessagesResults": {
-          "type": "object",
-          "properties": {
-            "args": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/LXDProfileUpgradeMessagesResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "args"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "OfferUserDetails": {
-          "type": "object",
-          "properties": {
-            "access": {
-              "type": "string"
-            },
-            "display-name": {
-              "type": "string"
-            },
-            "user": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "user",
-            "display-name",
-            "access"
-          ]
-        },
-        "Placement": {
-          "type": "object",
-          "properties": {
-            "directive": {
-              "type": "string"
-            },
-            "scope": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "scope",
-            "directive"
-          ]
-        },
-        "RelationSuspendedArg": {
-          "type": "object",
-          "properties": {
-            "message": {
-              "type": "string"
-            },
-            "relation-id": {
-              "type": "integer"
-            },
-            "suspended": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "relation-id",
-            "message",
-            "suspended"
-          ]
-        },
-        "RelationSuspendedArgs": {
-          "type": "object",
-          "properties": {
-            "args": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RelationSuspendedArg"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "args"
-          ]
-        },
-        "RemoteEndpoint": {
-          "type": "object",
-          "properties": {
-            "interface": {
-              "type": "string"
-            },
-            "limit": {
-              "type": "integer"
-            },
-            "name": {
-              "type": "string"
-            },
-            "role": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "role",
-            "interface",
-            "limit"
-          ]
-        },
-        "RemoteSpace": {
-          "type": "object",
-          "properties": {
-            "cloud-type": {
-              "type": "string"
-            },
-            "name": {
-              "type": "string"
-            },
-            "provider-attributes": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "provider-id": {
-              "type": "string"
-            },
-            "subnets": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Subnet"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "cloud-type",
-            "name",
-            "provider-id",
-            "provider-attributes",
-            "subnets"
-          ]
-        },
-        "ScaleApplicationInfo": {
-          "type": "object",
-          "properties": {
-            "num-units": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "num-units"
-          ]
-        },
-        "ScaleApplicationParams": {
-          "type": "object",
-          "properties": {
-            "application-tag": {
-              "type": "string"
-            },
-            "scale": {
-              "type": "integer"
-            },
-            "scale-change": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application-tag",
-            "scale"
-          ]
-        },
-        "ScaleApplicationResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "info": {
-              "$ref": "#/definitions/ScaleApplicationInfo"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ScaleApplicationResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ScaleApplicationResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "ScaleApplicationsParams": {
-          "type": "object",
-          "properties": {
-            "applications": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ScaleApplicationParams"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "applications"
-          ]
-        },
-        "SetConstraints": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "type": "string"
-            },
-            "constraints": {
-              "$ref": "#/definitions/Value"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application",
-            "constraints"
-          ]
-        },
-        "StorageConstraints": {
-          "type": "object",
-          "properties": {
-            "count": {
-              "type": "integer"
-            },
-            "pool": {
-              "type": "string"
-            },
-            "size": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false
-        },
-        "StringResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "Subnet": {
-          "type": "object",
-          "properties": {
-            "cidr": {
-              "type": "string"
-            },
-            "life": {
-              "type": "string"
-            },
-            "provider-id": {
-              "type": "string"
-            },
-            "provider-network-id": {
-              "type": "string"
-            },
-            "provider-space-id": {
-              "type": "string"
-            },
-            "space-tag": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "vlan-tag": {
-              "type": "integer"
-            },
-            "zones": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "cidr",
-            "vlan-tag",
-            "life",
-            "space-tag",
-            "zones"
-          ]
-        },
-        "UnitsResolved": {
-          "type": "object",
-          "properties": {
-            "all": {
-              "type": "boolean"
-            },
-            "retry": {
-              "type": "boolean"
-            },
-            "tags": {
-              "$ref": "#/definitions/Entities"
-            }
-          },
-          "additionalProperties": false
-        },
-        "UpdateSeriesArg": {
-          "type": "object",
-          "properties": {
-            "force": {
-              "type": "boolean"
-            },
-            "series": {
-              "type": "string"
-            },
-            "tag": {
-              "$ref": "#/definitions/Entity"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "force",
-            "series"
-          ]
-        },
-        "UpdateSeriesArgs": {
-          "type": "object",
-          "properties": {
-            "args": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/UpdateSeriesArg"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "args"
-          ]
-        },
-        "Value": {
-          "type": "object",
-          "properties": {
-            "arch": {
-              "type": "string"
-            },
-            "container": {
-              "type": "string"
-            },
-            "cores": {
-              "type": "integer"
-            },
-            "cpu-power": {
-              "type": "integer"
-            },
-            "instance-type": {
-              "type": "string"
-            },
-            "mem": {
-              "type": "integer"
-            },
-            "root-disk": {
-              "type": "integer"
-            },
-            "spaces": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "tags": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "virt-type": {
-              "type": "string"
-            },
-            "zones": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        }
-      }
-    }
-  },
-  {
-    "Name": "ApplicationOffers",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "ApplicationOffers": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/OfferURLs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ApplicationOffersResults"
-            }
-          }
-        },
-        "DestroyOffers": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/DestroyApplicationOffers"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "FindApplicationOffers": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/OfferFilters"
-            },
-            "Result": {
-              "$ref": "#/definitions/QueryApplicationOffersResults"
-            }
-          }
-        },
-        "GetConsumeDetails": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/OfferURLs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ConsumeOfferDetailsResults"
-            }
-          }
-        },
-        "ListApplicationOffers": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/OfferFilters"
-            },
-            "Result": {
-              "$ref": "#/definitions/QueryApplicationOffersResults"
-            }
-          }
-        },
-        "ModifyOfferAccess": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModifyOfferAccessRequest"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "Offer": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/AddApplicationOffers"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "RemoteApplicationInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/OfferURLs"
-            },
-            "Result": {
-              "$ref": "#/definitions/RemoteApplicationInfoResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "AddApplicationOffer": {
-          "type": "object",
-          "properties": {
-            "application-description": {
-              "type": "string"
-            },
-            "application-name": {
-              "type": "string"
-            },
-            "endpoints": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "model-tag": {
-              "type": "string"
-            },
-            "offer-name": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "model-tag",
-            "offer-name",
-            "application-name",
-            "application-description",
-            "endpoints"
-          ]
-        },
-        "AddApplicationOffers": {
-          "type": "object",
-          "properties": {
-            "Offers": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/AddApplicationOffer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Offers"
-          ]
-        },
-        "ApplicationOfferAdminDetails": {
-          "type": "object",
-          "properties": {
-            "ApplicationOfferDetails": {
-              "$ref": "#/definitions/ApplicationOfferDetails"
-            },
-            "application-name": {
-              "type": "string"
-            },
-            "charm-url": {
-              "type": "string"
-            },
-            "connections": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/OfferConnection"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "ApplicationOfferDetails",
-            "application-name",
-            "charm-url"
-          ]
-        },
-        "ApplicationOfferDetails": {
-          "type": "object",
-          "properties": {
-            "application-description": {
-              "type": "string"
-            },
-            "bindings": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "endpoints": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RemoteEndpoint"
-              }
-            },
-            "offer-name": {
-              "type": "string"
-            },
-            "offer-url": {
-              "type": "string"
-            },
-            "offer-uuid": {
-              "type": "string"
-            },
-            "source-model-tag": {
-              "type": "string"
-            },
-            "spaces": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RemoteSpace"
-              }
-            },
-            "users": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/OfferUserDetails"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "source-model-tag",
-            "offer-uuid",
-            "offer-url",
-            "offer-name",
-            "application-description"
-          ]
-        },
-        "ApplicationOfferResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/ApplicationOfferAdminDetails"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ApplicationOffersResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ApplicationOfferResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "ConsumeOfferDetails": {
-          "type": "object",
-          "properties": {
-            "external-controller": {
-              "$ref": "#/definitions/ExternalControllerInfo"
-            },
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "offer": {
-              "$ref": "#/definitions/ApplicationOfferDetails"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ConsumeOfferDetailsResult": {
-          "type": "object",
-          "properties": {
-            "ConsumeOfferDetails": {
-              "$ref": "#/definitions/ConsumeOfferDetails"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "ConsumeOfferDetails"
-          ]
-        },
-        "ConsumeOfferDetailsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ConsumeOfferDetailsResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "DestroyApplicationOffers": {
-          "type": "object",
-          "properties": {
-            "force": {
-              "type": "boolean"
-            },
-            "offer-urls": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "offer-urls"
-          ]
-        },
-        "EndpointFilterAttributes": {
-          "type": "object",
-          "properties": {
-            "interface": {
-              "type": "string"
-            },
-            "name": {
-              "type": "string"
-            },
-            "role": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "role",
-            "interface",
-            "name"
-          ]
-        },
-        "EntityStatus": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "info": {
-              "type": "string"
-            },
-            "since": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "status",
-            "info",
-            "since"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ExternalControllerInfo": {
-          "type": "object",
-          "properties": {
-            "addrs": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "ca-cert": {
-              "type": "string"
-            },
-            "controller-alias": {
-              "type": "string"
-            },
-            "controller-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "controller-tag",
-            "controller-alias",
-            "addrs",
-            "ca-cert"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "ModifyOfferAccess": {
-          "type": "object",
-          "properties": {
-            "access": {
-              "type": "string"
-            },
-            "action": {
-              "type": "string"
-            },
-            "offer-url": {
-              "type": "string"
-            },
-            "user-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "user-tag",
-            "action",
-            "access",
-            "offer-url"
-          ]
-        },
-        "ModifyOfferAccessRequest": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModifyOfferAccess"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "changes"
-          ]
-        },
-        "OfferConnection": {
-          "type": "object",
-          "properties": {
-            "endpoint": {
-              "type": "string"
-            },
-            "ingress-subnets": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "relation-id": {
-              "type": "integer"
-            },
-            "source-model-tag": {
-              "type": "string"
-            },
-            "status": {
-              "$ref": "#/definitions/EntityStatus"
-            },
-            "username": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "source-model-tag",
-            "relation-id",
-            "username",
-            "endpoint",
-            "status",
-            "ingress-subnets"
-          ]
-        },
-        "OfferFilter": {
-          "type": "object",
-          "properties": {
-            "allowed-users": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "application-description": {
-              "type": "string"
-            },
-            "application-name": {
-              "type": "string"
-            },
-            "application-user": {
-              "type": "string"
-            },
-            "connected-users": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "endpoints": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EndpointFilterAttributes"
-              }
-            },
-            "model-name": {
-              "type": "string"
-            },
-            "offer-name": {
-              "type": "string"
-            },
-            "owner-name": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "owner-name",
-            "model-name",
-            "offer-name",
-            "application-name",
-            "application-description",
-            "application-user",
-            "endpoints",
-            "connected-users",
-            "allowed-users"
-          ]
-        },
-        "OfferFilters": {
-          "type": "object",
-          "properties": {
-            "Filters": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/OfferFilter"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Filters"
-          ]
-        },
-        "OfferURLs": {
-          "type": "object",
-          "properties": {
-            "offer-urls": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "OfferUserDetails": {
-          "type": "object",
-          "properties": {
-            "access": {
-              "type": "string"
-            },
-            "display-name": {
-              "type": "string"
-            },
-            "user": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "user",
-            "display-name",
-            "access"
-          ]
-        },
-        "QueryApplicationOffersResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ApplicationOfferAdminDetails"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "RemoteApplicationInfo": {
-          "type": "object",
-          "properties": {
-            "description": {
-              "type": "string"
-            },
-            "endpoints": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RemoteEndpoint"
-              }
-            },
-            "icon-url-path": {
-              "type": "string"
-            },
-            "model-tag": {
-              "type": "string"
-            },
-            "name": {
-              "type": "string"
-            },
-            "offer-url": {
-              "type": "string"
-            },
-            "source-model-label": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "model-tag",
-            "name",
-            "description",
-            "offer-url",
-            "endpoints",
-            "icon-url-path"
-          ]
-        },
-        "RemoteApplicationInfoResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/RemoteApplicationInfo"
-            }
-          },
-          "additionalProperties": false
-        },
-        "RemoteApplicationInfoResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RemoteApplicationInfoResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "RemoteEndpoint": {
-          "type": "object",
-          "properties": {
-            "interface": {
-              "type": "string"
-            },
-            "limit": {
-              "type": "integer"
-            },
-            "name": {
-              "type": "string"
-            },
-            "role": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "role",
-            "interface",
-            "limit"
-          ]
-        },
-        "RemoteSpace": {
-          "type": "object",
-          "properties": {
-            "cloud-type": {
-              "type": "string"
-            },
-            "name": {
-              "type": "string"
-            },
-            "provider-attributes": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "provider-id": {
-              "type": "string"
-            },
-            "subnets": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Subnet"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "cloud-type",
-            "name",
-            "provider-id",
-            "provider-attributes",
-            "subnets"
-          ]
-        },
-        "Subnet": {
-          "type": "object",
-          "properties": {
-            "cidr": {
-              "type": "string"
-            },
-            "life": {
-              "type": "string"
-            },
-            "provider-id": {
-              "type": "string"
-            },
-            "provider-network-id": {
-              "type": "string"
-            },
-            "provider-space-id": {
-              "type": "string"
-            },
-            "space-tag": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "vlan-tag": {
-              "type": "integer"
-            },
-            "zones": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "cidr",
-            "vlan-tag",
-            "life",
-            "space-tag",
-            "zones"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "ApplicationScaler",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Rescale": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "Watch": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "StringsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Backups",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Create": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/BackupsCreateArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/BackupsMetadataResult"
-            }
-          }
-        },
-        "FinishRestore": {
-          "type": "object"
-        },
-        "Info": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/BackupsInfoArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/BackupsMetadataResult"
-            }
-          }
-        },
-        "List": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/BackupsListArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/BackupsListResult"
-            }
-          }
-        },
-        "PrepareRestore": {
-          "type": "object"
-        },
-        "Remove": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/BackupsRemoveArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "Restore": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RestoreArgs"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "BackupsCreateArgs": {
-          "type": "object",
-          "properties": {
-            "keep-copy": {
-              "type": "boolean"
-            },
-            "no-download": {
-              "type": "boolean"
-            },
-            "notes": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "notes",
-            "keep-copy",
-            "no-download"
-          ]
-        },
-        "BackupsInfoArgs": {
-          "type": "object",
-          "properties": {
-            "id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "id"
-          ]
-        },
-        "BackupsListArgs": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "BackupsListResult": {
-          "type": "object",
-          "properties": {
-            "list": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/BackupsMetadataResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "list"
-          ]
-        },
-        "BackupsMetadataResult": {
-          "type": "object",
-          "properties": {
-            "ca-cert": {
-              "type": "string"
-            },
-            "ca-private-key": {
-              "type": "string"
-            },
-            "checksum": {
-              "type": "string"
-            },
-            "checksum-format": {
-              "type": "string"
-            },
-            "filename": {
-              "type": "string"
-            },
-            "finished": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "hostname": {
-              "type": "string"
-            },
-            "id": {
-              "type": "string"
-            },
-            "machine": {
-              "type": "string"
-            },
-            "model": {
-              "type": "string"
-            },
-            "notes": {
-              "type": "string"
-            },
-            "series": {
-              "type": "string"
-            },
-            "size": {
-              "type": "integer"
-            },
-            "started": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "stored": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "version": {
-              "$ref": "#/definitions/Number"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "id",
-            "checksum",
-            "checksum-format",
-            "size",
-            "stored",
-            "started",
-            "finished",
-            "notes",
-            "model",
-            "machine",
-            "hostname",
-            "version",
-            "series",
-            "ca-cert",
-            "ca-private-key",
-            "filename"
-          ]
-        },
-        "BackupsRemoveArgs": {
-          "type": "object",
-          "properties": {
-            "ids": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "ids"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "Number": {
-          "type": "object",
-          "properties": {
-            "Build": {
-              "type": "integer"
-            },
-            "Major": {
-              "type": "integer"
-            },
-            "Minor": {
-              "type": "integer"
-            },
-            "Patch": {
-              "type": "integer"
-            },
-            "Tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Major",
-            "Minor",
-            "Tag",
-            "Patch",
-            "Build"
-          ]
-        },
-        "RestoreArgs": {
-          "type": "object",
-          "properties": {
-            "backup-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "backup-id"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Block",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "List": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/BlockResults"
-            }
-          }
-        },
-        "SwitchBlockOff": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/BlockSwitchParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResult"
-            }
-          }
-        },
-        "SwitchBlockOn": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/BlockSwitchParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Block": {
-          "type": "object",
-          "properties": {
-            "id": {
-              "type": "string"
-            },
-            "message": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "id",
-            "tag",
-            "type"
-          ]
-        },
-        "BlockResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/Block"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "BlockResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/BlockResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "BlockSwitchParams": {
-          "type": "object",
-          "properties": {
-            "message": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "type"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        }
-      }
-    }
-  },
-  {
-    "Name": "Bundle",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "ExportBundle": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringResult"
-            }
-          }
-        },
-        "GetChanges": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/BundleChangesParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/BundleChangesResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "BundleChange": {
-          "type": "object",
-          "properties": {
-            "args": {
-              "type": "array",
-              "items": {
-                "type": "object",
-                "additionalProperties": true
-              }
-            },
-            "id": {
-              "type": "string"
-            },
-            "method": {
-              "type": "string"
-            },
-            "requires": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "id",
-            "method",
-            "args",
-            "requires"
-          ]
-        },
-        "BundleChangesParams": {
-          "type": "object",
-          "properties": {
-            "bundleURL": {
-              "type": "string"
-            },
-            "yaml": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "yaml",
-            "bundleURL"
-          ]
-        },
-        "BundleChangesResults": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/BundleChange"
-              }
-            },
-            "errors": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "StringResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "CAASAgent",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "CloudSpec": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/CloudSpecResults"
-            }
-          }
-        },
-        "GetCloudSpec": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModelTag"
-            },
-            "Result": {
-              "$ref": "#/definitions/CloudSpecResult"
-            }
-          }
-        },
-        "ModelConfig": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ModelConfigResult"
-            }
-          }
-        },
-        "WatchForModelConfigChanges": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "CloudCredential": {
-          "type": "object",
-          "properties": {
-            "attrs": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "auth-type": {
-              "type": "string"
-            },
-            "redacted": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "auth-type"
-          ]
-        },
-        "CloudSpec": {
-          "type": "object",
-          "properties": {
-            "cacertificates": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "credential": {
-              "$ref": "#/definitions/CloudCredential"
-            },
-            "endpoint": {
-              "type": "string"
-            },
-            "identity-endpoint": {
-              "type": "string"
-            },
-            "name": {
-              "type": "string"
-            },
-            "region": {
-              "type": "string"
-            },
-            "storage-endpoint": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "type",
-            "name"
-          ]
-        },
-        "CloudSpecResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/CloudSpec"
-            }
-          },
-          "additionalProperties": false
-        },
-        "CloudSpecResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/CloudSpecResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "ModelConfigResult": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "ModelTag": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "CAASFirewaller",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "ApplicationsConfig": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ApplicationGetConfigResults"
-            }
-          }
-        },
-        "IsExposed": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/BoolResults"
-            }
-          }
-        },
-        "Life": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/LifeResults"
-            }
-          }
-        },
-        "Watch": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        },
-        "WatchApplications": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "ApplicationGetConfigResults": {
-          "type": "object",
-          "properties": {
-            "Results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ConfigResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Results"
-          ]
-        },
-        "BoolResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "BoolResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/BoolResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ConfigResult": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "LifeResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "life": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "life"
-          ]
-        },
-        "LifeResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/LifeResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "StringsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "CAASOperator",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "APIAddresses": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringsResult"
-            }
-          }
-        },
-        "APIHostPorts": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/APIHostPortsResult"
-            }
-          }
-        },
-        "Charm": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ApplicationCharmResults"
-            }
-          }
-        },
-        "CurrentModel": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ModelResult"
-            }
-          }
-        },
-        "Life": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/LifeResults"
-            }
-          }
-        },
-        "ModelUUID": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringResult"
-            }
-          }
-        },
-        "Remove": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetPodSpec": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetPodSpecParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetTools": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/EntitiesVersion"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "Watch": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        },
-        "WatchAPIHostPorts": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        },
-        "WatchUnits": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "APIHostPortsResult": {
-          "type": "object",
-          "properties": {
-            "servers": {
-              "type": "array",
-              "items": {
-                "type": "array",
-                "items": {
-                  "$ref": "#/definitions/HostPort"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "servers"
-          ]
-        },
-        "Address": {
-          "type": "object",
-          "properties": {
-            "scope": {
-              "type": "string"
-            },
-            "space-name": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            },
-            "value": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "value",
-            "type",
-            "scope"
-          ]
-        },
-        "ApplicationCharm": {
-          "type": "object",
-          "properties": {
-            "charm-modified-version": {
-              "type": "integer"
-            },
-            "force-upgrade": {
-              "type": "boolean"
-            },
-            "sha256": {
-              "type": "string"
-            },
-            "url": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "url",
-            "sha256",
-            "charm-modified-version"
-          ]
-        },
-        "ApplicationCharmResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/ApplicationCharm"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ApplicationCharmResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ApplicationCharmResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Binary": {
-          "type": "object",
-          "properties": {
-            "Arch": {
-              "type": "string"
-            },
-            "Number": {
-              "$ref": "#/definitions/Number"
-            },
-            "Series": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Number",
-            "Series",
-            "Arch"
-          ]
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "EntitiesVersion": {
-          "type": "object",
-          "properties": {
-            "agent-tools": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityVersion"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "agent-tools"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "EntityStatusArgs": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "info": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "status",
-            "info",
-            "data"
-          ]
-        },
-        "EntityString": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            },
-            "value": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "value"
-          ]
-        },
-        "EntityVersion": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            },
-            "tools": {
-              "$ref": "#/definitions/Version"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "tools"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "HostPort": {
-          "type": "object",
-          "properties": {
-            "Address": {
-              "$ref": "#/definitions/Address"
-            },
-            "port": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Address",
-            "port"
-          ]
-        },
-        "LifeResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "life": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "life"
-          ]
-        },
-        "LifeResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/LifeResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "ModelResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "name": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            },
-            "uuid": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "uuid",
-            "type"
-          ]
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Number": {
-          "type": "object",
-          "properties": {
-            "Build": {
-              "type": "integer"
-            },
-            "Major": {
-              "type": "integer"
-            },
-            "Minor": {
-              "type": "integer"
-            },
-            "Patch": {
-              "type": "integer"
-            },
-            "Tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Major",
-            "Minor",
-            "Tag",
-            "Patch",
-            "Build"
-          ]
-        },
-        "SetPodSpecParams": {
-          "type": "object",
-          "properties": {
-            "specs": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityString"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "specs"
-          ]
-        },
-        "SetStatus": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityStatusArgs"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "StringResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "StringsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "StringsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id"
-          ]
-        },
-        "StringsWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringsWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Version": {
-          "type": "object",
-          "properties": {
-            "version": {
-              "$ref": "#/definitions/Binary"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "version"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "CAASOperatorProvisioner",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "APIAddresses": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringsResult"
-            }
-          }
-        },
-        "APIHostPorts": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/APIHostPortsResult"
-            }
-          }
-        },
-        "Life": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/LifeResults"
-            }
-          }
-        },
-        "ModelUUID": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringResult"
-            }
-          }
-        },
-        "OperatorProvisioningInfo": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/OperatorProvisioningInfo"
-            }
-          }
-        },
-        "SetPasswords": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/EntityPasswords"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "WatchAPIHostPorts": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        },
-        "WatchApplications": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "APIHostPortsResult": {
-          "type": "object",
-          "properties": {
-            "servers": {
-              "type": "array",
-              "items": {
-                "type": "array",
-                "items": {
-                  "$ref": "#/definitions/HostPort"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "servers"
-          ]
-        },
-        "Address": {
-          "type": "object",
-          "properties": {
-            "scope": {
-              "type": "string"
-            },
-            "space-name": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            },
-            "value": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "value",
-            "type",
-            "scope"
-          ]
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "EntityPassword": {
-          "type": "object",
-          "properties": {
-            "password": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "password"
-          ]
-        },
-        "EntityPasswords": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityPassword"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "changes"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "HostPort": {
-          "type": "object",
-          "properties": {
-            "Address": {
-              "$ref": "#/definitions/Address"
-            },
-            "port": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Address",
-            "port"
-          ]
-        },
-        "KubernetesFilesystemAttachmentParams": {
-          "type": "object",
-          "properties": {
-            "mount-point": {
-              "type": "string"
-            },
-            "provider": {
-              "type": "string"
-            },
-            "read-only": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "provider"
-          ]
-        },
-        "KubernetesFilesystemParams": {
-          "type": "object",
-          "properties": {
-            "attachment": {
-              "$ref": "#/definitions/KubernetesFilesystemAttachmentParams"
-            },
-            "attributes": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "provider": {
-              "type": "string"
-            },
-            "size": {
-              "type": "integer"
-            },
-            "storagename": {
-              "type": "string"
-            },
-            "tags": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "storagename",
-            "size",
-            "provider"
-          ]
-        },
-        "LifeResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "life": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "life"
-          ]
-        },
-        "LifeResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/LifeResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "Number": {
-          "type": "object",
-          "properties": {
-            "Build": {
-              "type": "integer"
-            },
-            "Major": {
-              "type": "integer"
-            },
-            "Minor": {
-              "type": "integer"
-            },
-            "Patch": {
-              "type": "integer"
-            },
-            "Tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Major",
-            "Minor",
-            "Tag",
-            "Patch",
-            "Build"
-          ]
-        },
-        "OperatorProvisioningInfo": {
-          "type": "object",
-          "properties": {
-            "api-addresses": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "charm-storage": {
-              "$ref": "#/definitions/KubernetesFilesystemParams"
-            },
-            "image-path": {
-              "type": "string"
-            },
-            "tags": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "version": {
-              "$ref": "#/definitions/Number"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "image-path",
-            "version",
-            "api-addresses",
-            "charm-storage"
-          ]
-        },
-        "StringResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "StringsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "StringsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "CAASUnitProvisioner",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "ApplicationsConfig": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ApplicationGetConfigResults"
-            }
-          }
-        },
-        "ApplicationsScale": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/IntResults"
-            }
-          }
-        },
-        "Life": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/LifeResults"
-            }
-          }
-        },
-        "ProvisioningInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/KubernetesProvisioningInfoResults"
-            }
-          }
-        },
-        "SetOperatorStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "UpdateApplicationsService": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/UpdateApplicationServiceArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "UpdateApplicationsUnits": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/UpdateApplicationUnitArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "WatchApplications": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResult"
-            }
-          }
-        },
-        "WatchApplicationsScale": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        },
-        "WatchPodSpec": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Address": {
-          "type": "object",
-          "properties": {
-            "scope": {
-              "type": "string"
-            },
-            "space-name": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            },
-            "value": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "value",
-            "type",
-            "scope"
-          ]
-        },
-        "ApplicationGetConfigResults": {
-          "type": "object",
-          "properties": {
-            "Results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ConfigResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Results"
-          ]
-        },
-        "ApplicationUnitParams": {
-          "type": "object",
-          "properties": {
-            "address": {
-              "type": "string"
-            },
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "filesystem-info": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/KubernetesFilesystemInfo"
-              }
-            },
-            "info": {
-              "type": "string"
-            },
-            "ports": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "provider-id": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "unit-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "provider-id",
-            "unit-tag",
-            "address",
-            "ports",
-            "status",
-            "info"
-          ]
-        },
-        "ConfigResult": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "EntityStatusArgs": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "info": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "status",
-            "info",
-            "data"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "IntResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "IntResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/IntResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "KubernetesDeviceParams": {
-          "type": "object",
-          "properties": {
-            "Attributes": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "Count": {
-              "type": "integer"
-            },
-            "Type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Type",
-            "Count",
-            "Attributes"
-          ]
-        },
-        "KubernetesFilesystemAttachmentParams": {
-          "type": "object",
-          "properties": {
-            "mount-point": {
-              "type": "string"
-            },
-            "provider": {
-              "type": "string"
-            },
-            "read-only": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "provider"
-          ]
-        },
-        "KubernetesFilesystemInfo": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "filesystem-id": {
-              "type": "string"
-            },
-            "info": {
-              "type": "string"
-            },
-            "mount-point": {
-              "type": "string"
-            },
-            "pool": {
-              "type": "string"
-            },
-            "read-only": {
-              "type": "boolean"
-            },
-            "size": {
-              "type": "integer"
-            },
-            "status": {
-              "type": "string"
-            },
-            "storagename": {
-              "type": "string"
-            },
-            "volume": {
-              "$ref": "#/definitions/KubernetesVolumeInfo"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "storagename",
-            "pool",
-            "size",
-            "filesystem-id",
-            "status",
-            "info",
-            "volume"
-          ]
-        },
-        "KubernetesFilesystemParams": {
-          "type": "object",
-          "properties": {
-            "attachment": {
-              "$ref": "#/definitions/KubernetesFilesystemAttachmentParams"
-            },
-            "attributes": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "provider": {
-              "type": "string"
-            },
-            "size": {
-              "type": "integer"
-            },
-            "storagename": {
-              "type": "string"
-            },
-            "tags": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "storagename",
-            "size",
-            "provider"
-          ]
-        },
-        "KubernetesProvisioningInfo": {
-          "type": "object",
-          "properties": {
-            "constraints": {
-              "$ref": "#/definitions/Value"
-            },
-            "devices": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/KubernetesDeviceParams"
-              }
-            },
-            "filesystems": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/KubernetesFilesystemParams"
-              }
-            },
-            "placement": {
-              "type": "string"
-            },
-            "pod-spec": {
-              "type": "string"
-            },
-            "tags": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "volumes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/KubernetesVolumeParams"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "pod-spec",
-            "constraints"
-          ]
-        },
-        "KubernetesProvisioningInfoResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/KubernetesProvisioningInfo"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "KubernetesProvisioningInfoResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/KubernetesProvisioningInfoResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "KubernetesVolumeAttachmentParams": {
-          "type": "object",
-          "properties": {
-            "provider": {
-              "type": "string"
-            },
-            "read-only": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "provider"
-          ]
-        },
-        "KubernetesVolumeInfo": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "info": {
-              "type": "string"
-            },
-            "persistent": {
-              "type": "boolean"
-            },
-            "pool": {
-              "type": "string"
-            },
-            "size": {
-              "type": "integer"
-            },
-            "status": {
-              "type": "string"
-            },
-            "volume-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "volume-id",
-            "size",
-            "persistent",
-            "status",
-            "info"
-          ]
-        },
-        "KubernetesVolumeParams": {
-          "type": "object",
-          "properties": {
-            "attachment": {
-              "$ref": "#/definitions/KubernetesVolumeAttachmentParams"
-            },
-            "attributes": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "provider": {
-              "type": "string"
-            },
-            "size": {
-              "type": "integer"
-            },
-            "storagename": {
-              "type": "string"
-            },
-            "tags": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "storagename",
-            "size",
-            "provider"
-          ]
-        },
-        "LifeResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "life": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "life"
-          ]
-        },
-        "LifeResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/LifeResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "SetStatus": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityStatusArgs"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "StringsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id"
-          ]
-        },
-        "UpdateApplicationServiceArg": {
-          "type": "object",
-          "properties": {
-            "addresses": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Address"
-              }
-            },
-            "application-tag": {
-              "type": "string"
-            },
-            "provider-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application-tag",
-            "provider-id",
-            "addresses"
-          ]
-        },
-        "UpdateApplicationServiceArgs": {
-          "type": "object",
-          "properties": {
-            "args": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/UpdateApplicationServiceArg"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "args"
-          ]
-        },
-        "UpdateApplicationUnitArgs": {
-          "type": "object",
-          "properties": {
-            "args": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/UpdateApplicationUnits"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "args"
-          ]
-        },
-        "UpdateApplicationUnits": {
-          "type": "object",
-          "properties": {
-            "application-tag": {
-              "type": "string"
-            },
-            "units": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ApplicationUnitParams"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application-tag",
-            "units"
-          ]
-        },
-        "Value": {
-          "type": "object",
-          "properties": {
-            "arch": {
-              "type": "string"
-            },
-            "container": {
-              "type": "string"
-            },
-            "cores": {
-              "type": "integer"
-            },
-            "cpu-power": {
-              "type": "integer"
-            },
-            "instance-type": {
-              "type": "string"
-            },
-            "mem": {
-              "type": "integer"
-            },
-            "root-disk": {
-              "type": "integer"
-            },
-            "spaces": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "tags": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "virt-type": {
-              "type": "string"
-            },
-            "zones": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        }
-      }
-    }
-  },
-  {
-    "Name": "CharmRevisionUpdater",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "UpdateLatestRevisions": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ErrorResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        }
-      }
-    }
-  },
-  {
-    "Name": "Charms",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "CharmInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/CharmURL"
-            },
-            "Result": {
-              "$ref": "#/definitions/CharmInfo"
-            }
-          }
-        },
-        "IsMetered": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/CharmURL"
-            },
-            "Result": {
-              "$ref": "#/definitions/IsMeteredResult"
-            }
-          }
-        },
-        "List": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/CharmsList"
-            },
-            "Result": {
-              "$ref": "#/definitions/CharmsListResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "CharmActionSpec": {
-          "type": "object",
-          "properties": {
-            "description": {
-              "type": "string"
-            },
-            "params": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "description",
-            "params"
-          ]
-        },
-        "CharmActions": {
-          "type": "object",
-          "properties": {
-            "specs": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/CharmActionSpec"
-                }
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "CharmDevice": {
-          "type": "object",
-          "properties": {
-            "CountMax": {
-              "type": "integer"
-            },
-            "CountMin": {
-              "type": "integer"
-            },
-            "Description": {
-              "type": "string"
-            },
-            "Name": {
-              "type": "string"
-            },
-            "Type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Name",
-            "Description",
-            "Type",
-            "CountMin",
-            "CountMax"
-          ]
-        },
-        "CharmInfo": {
-          "type": "object",
-          "properties": {
-            "actions": {
-              "$ref": "#/definitions/CharmActions"
-            },
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/CharmOption"
-                }
-              }
-            },
-            "lxd-profile": {
-              "$ref": "#/definitions/CharmLXDProfile"
-            },
-            "meta": {
-              "$ref": "#/definitions/CharmMeta"
-            },
-            "metrics": {
-              "$ref": "#/definitions/CharmMetrics"
-            },
-            "revision": {
-              "type": "integer"
-            },
-            "url": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "revision",
-            "url",
-            "config"
-          ]
-        },
-        "CharmLXDProfile": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "description": {
-              "type": "string"
-            },
-            "devices": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "patternProperties": {
-                    ".*": {
-                      "type": "string"
-                    }
-                  }
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config",
-            "description",
-            "devices"
-          ]
-        },
-        "CharmMeta": {
-          "type": "object",
-          "properties": {
-            "categories": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "description": {
-              "type": "string"
-            },
-            "devices": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/CharmDevice"
-                }
-              }
-            },
-            "extra-bindings": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "min-juju-version": {
-              "type": "string"
-            },
-            "name": {
-              "type": "string"
-            },
-            "payload-classes": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/CharmPayloadClass"
-                }
-              }
-            },
-            "peers": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/CharmRelation"
-                }
-              }
-            },
-            "provides": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/CharmRelation"
-                }
-              }
-            },
-            "requires": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/CharmRelation"
-                }
-              }
-            },
-            "resources": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/CharmResourceMeta"
-                }
-              }
-            },
-            "series": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "storage": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/CharmStorage"
-                }
-              }
-            },
-            "subordinate": {
-              "type": "boolean"
-            },
-            "summary": {
-              "type": "string"
-            },
-            "tags": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "terms": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "summary",
-            "description",
-            "subordinate"
-          ]
-        },
-        "CharmMetric": {
-          "type": "object",
-          "properties": {
-            "description": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "type",
-            "description"
-          ]
-        },
-        "CharmMetrics": {
-          "type": "object",
-          "properties": {
-            "metrics": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/CharmMetric"
-                }
-              }
-            },
-            "plan": {
-              "$ref": "#/definitions/CharmPlan"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "metrics",
-            "plan"
-          ]
-        },
-        "CharmOption": {
-          "type": "object",
-          "properties": {
-            "default": {
-              "type": "object",
-              "additionalProperties": true
-            },
-            "description": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "type"
-          ]
-        },
-        "CharmPayloadClass": {
-          "type": "object",
-          "properties": {
-            "name": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "type"
-          ]
-        },
-        "CharmPlan": {
-          "type": "object",
-          "properties": {
-            "required": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "required"
-          ]
-        },
-        "CharmRelation": {
-          "type": "object",
-          "properties": {
-            "interface": {
-              "type": "string"
-            },
-            "limit": {
-              "type": "integer"
-            },
-            "name": {
-              "type": "string"
-            },
-            "optional": {
-              "type": "boolean"
-            },
-            "role": {
-              "type": "string"
-            },
-            "scope": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "role",
-            "interface",
-            "optional",
-            "limit",
-            "scope"
-          ]
-        },
-        "CharmResourceMeta": {
-          "type": "object",
-          "properties": {
-            "description": {
-              "type": "string"
-            },
-            "name": {
-              "type": "string"
-            },
-            "path": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "type",
-            "path",
-            "description"
-          ]
-        },
-        "CharmStorage": {
-          "type": "object",
-          "properties": {
-            "count-max": {
-              "type": "integer"
-            },
-            "count-min": {
-              "type": "integer"
-            },
-            "description": {
-              "type": "string"
-            },
-            "location": {
-              "type": "string"
-            },
-            "minimum-size": {
-              "type": "integer"
-            },
-            "name": {
-              "type": "string"
-            },
-            "properties": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "read-only": {
-              "type": "boolean"
-            },
-            "shared": {
-              "type": "boolean"
-            },
-            "type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "description",
-            "type",
-            "shared",
-            "read-only",
-            "count-min",
-            "count-max",
-            "minimum-size"
-          ]
-        },
-        "CharmURL": {
-          "type": "object",
-          "properties": {
-            "url": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "url"
-          ]
-        },
-        "CharmsList": {
-          "type": "object",
-          "properties": {
-            "names": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "names"
-          ]
-        },
-        "CharmsListResult": {
-          "type": "object",
-          "properties": {
-            "charm-urls": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "charm-urls"
-          ]
-        },
-        "IsMeteredResult": {
-          "type": "object",
-          "properties": {
-            "metered": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "metered"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Cleaner",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Cleanup": {
-          "type": "object"
-        },
-        "WatchCleanups": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Client",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "APIHostPorts": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/APIHostPortsResult"
-            }
-          }
-        },
-        "AbortCurrentUpgrade": {
-          "type": "object"
-        },
-        "AddCharm": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/AddCharm"
-            }
-          }
-        },
-        "AddCharmWithAuthorization": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/AddCharmWithAuthorization"
-            }
-          }
-        },
-        "AddMachines": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/AddMachines"
-            },
-            "Result": {
-              "$ref": "#/definitions/AddMachinesResults"
-            }
-          }
-        },
-        "AddMachinesV2": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/AddMachines"
-            },
-            "Result": {
-              "$ref": "#/definitions/AddMachinesResults"
-            }
-          }
-        },
-        "AgentVersion": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/AgentVersionResult"
-            }
-          }
-        },
-        "CACert": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/BytesResult"
-            }
-          }
-        },
-        "DestroyMachines": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/DestroyMachines"
-            }
-          }
-        },
-        "FindTools": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/FindToolsParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/FindToolsResult"
-            }
-          }
-        },
-        "FullStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/StatusParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/FullStatus"
-            }
-          }
-        },
-        "GetBundleChanges": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/BundleChangesParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/BundleChangesResults"
-            }
-          }
-        },
-        "GetModelConstraints": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/GetConstraintsResults"
-            }
-          }
-        },
-        "InjectMachines": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/AddMachines"
-            },
-            "Result": {
-              "$ref": "#/definitions/AddMachinesResults"
-            }
-          }
-        },
-        "ModelGet": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ModelConfigResults"
-            }
-          }
-        },
-        "ModelInfo": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ModelInfo"
-            }
-          }
-        },
-        "ModelSet": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModelSet"
-            }
-          }
-        },
-        "ModelUnset": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModelUnset"
-            }
-          }
-        },
-        "ModelUserInfo": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ModelUserInfoResults"
-            }
-          }
-        },
-        "PrivateAddress": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/PrivateAddress"
-            },
-            "Result": {
-              "$ref": "#/definitions/PrivateAddressResults"
-            }
-          }
-        },
-        "ProvisioningScript": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ProvisioningScriptParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ProvisioningScriptResult"
-            }
-          }
-        },
-        "PublicAddress": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/PublicAddress"
-            },
-            "Result": {
-              "$ref": "#/definitions/PublicAddressResults"
-            }
-          }
-        },
-        "ResolveCharms": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ResolveCharms"
-            },
-            "Result": {
-              "$ref": "#/definitions/ResolveCharmResults"
-            }
-          }
-        },
-        "Resolved": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Resolved"
-            }
-          }
-        },
-        "RetryProvisioning": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SLALevel": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringResult"
-            }
-          }
-        },
-        "SetModelAgentVersion": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetModelAgentVersion"
-            }
-          }
-        },
-        "SetModelConstraints": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetConstraints"
-            }
-          }
-        },
-        "SetSLALevel": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModelSLA"
-            }
-          }
-        },
-        "StatusHistory": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/StatusHistoryRequests"
-            },
-            "Result": {
-              "$ref": "#/definitions/StatusHistoryResults"
-            }
-          }
-        },
-        "WatchAll": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/AllWatcherId"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "APIHostPortsResult": {
-          "type": "object",
-          "properties": {
-            "servers": {
-              "type": "array",
-              "items": {
-                "type": "array",
-                "items": {
-                  "$ref": "#/definitions/HostPort"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "servers"
-          ]
-        },
-        "AddCharm": {
-          "type": "object",
-          "properties": {
-            "channel": {
-              "type": "string"
-            },
-            "force": {
-              "type": "boolean"
-            },
-            "url": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "url",
-            "channel",
-            "force"
-          ]
-        },
-        "AddCharmWithAuthorization": {
-          "type": "object",
-          "properties": {
-            "channel": {
-              "type": "string"
-            },
-            "force": {
-              "type": "boolean"
-            },
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "url": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "url",
-            "channel",
-            "macaroon",
-            "force"
-          ]
-        },
-        "AddMachineParams": {
-          "type": "object",
-          "properties": {
-            "addresses": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Address"
-              }
-            },
-            "constraints": {
-              "$ref": "#/definitions/Value"
-            },
-            "container-type": {
-              "type": "string"
-            },
-            "disks": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Constraints"
-              }
-            },
-            "hardware-characteristics": {
-              "$ref": "#/definitions/HardwareCharacteristics"
-            },
-            "instance-id": {
-              "type": "string"
-            },
-            "jobs": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "nonce": {
-              "type": "string"
-            },
-            "parent-id": {
-              "type": "string"
-            },
-            "placement": {
-              "$ref": "#/definitions/Placement"
-            },
-            "series": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "series",
-            "constraints",
-            "jobs",
-            "parent-id",
-            "container-type",
-            "instance-id",
-            "nonce",
-            "hardware-characteristics",
-            "addresses"
-          ]
-        },
-        "AddMachines": {
-          "type": "object",
-          "properties": {
-            "params": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/AddMachineParams"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "params"
-          ]
-        },
-        "AddMachinesResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "machine": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "machine"
-          ]
-        },
-        "AddMachinesResults": {
-          "type": "object",
-          "properties": {
-            "machines": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/AddMachinesResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "machines"
-          ]
-        },
-        "Address": {
-          "type": "object",
-          "properties": {
-            "scope": {
-              "type": "string"
-            },
-            "space-name": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            },
-            "value": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "value",
-            "type",
-            "scope"
-          ]
-        },
-        "AgentVersionResult": {
-          "type": "object",
-          "properties": {
-            "version": {
-              "$ref": "#/definitions/Number"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "version"
-          ]
-        },
-        "AllWatcherId": {
-          "type": "object",
-          "properties": {
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id"
-          ]
-        },
-        "ApplicationOfferStatus": {
-          "type": "object",
-          "properties": {
-            "active-connected-count": {
-              "type": "integer"
-            },
-            "application-name": {
-              "type": "string"
-            },
-            "charm": {
-              "type": "string"
-            },
-            "endpoints": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/RemoteEndpoint"
-                }
-              }
-            },
-            "err": {
-              "type": "object",
-              "additionalProperties": true
-            },
-            "offer-name": {
-              "type": "string"
-            },
-            "total-connected-count": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "offer-name",
-            "application-name",
-            "charm",
-            "endpoints",
-            "active-connected-count",
-            "total-connected-count"
-          ]
-        },
-        "ApplicationStatus": {
-          "type": "object",
-          "properties": {
-            "can-upgrade-to": {
-              "type": "string"
-            },
-            "charm": {
-              "type": "string"
-            },
-            "charm-verion": {
-              "type": "string"
-            },
-            "endpoint-bindings": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "err": {
-              "type": "object",
-              "additionalProperties": true
-            },
-            "exposed": {
-              "type": "boolean"
-            },
-            "int": {
-              "type": "integer"
-            },
-            "life": {
-              "type": "string"
-            },
-            "meter-statuses": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/MeterStatus"
-                }
-              }
-            },
-            "provider-id": {
-              "type": "string"
-            },
-            "public-address": {
-              "type": "string"
-            },
-            "relations": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "array",
-                  "items": {
-                    "type": "string"
-                  }
-                }
-              }
-            },
-            "series": {
-              "type": "string"
-            },
-            "status": {
-              "$ref": "#/definitions/DetailedStatus"
-            },
-            "string": {
-              "type": "string"
-            },
-            "subordinate-to": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "units": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/UnitStatus"
-                }
-              }
-            },
-            "workload-version": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "charm",
-            "series",
-            "exposed",
-            "life",
-            "relations",
-            "can-upgrade-to",
-            "subordinate-to",
-            "units",
-            "meter-statuses",
-            "status",
-            "workload-version",
-            "charm-verion",
-            "endpoint-bindings",
-            "public-address"
-          ]
-        },
-        "Binary": {
-          "type": "object",
-          "properties": {
-            "Arch": {
-              "type": "string"
-            },
-            "Number": {
-              "$ref": "#/definitions/Number"
-            },
-            "Series": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Number",
-            "Series",
-            "Arch"
-          ]
-        },
-        "BundleChange": {
-          "type": "object",
-          "properties": {
-            "args": {
-              "type": "array",
-              "items": {
-                "type": "object",
-                "additionalProperties": true
-              }
-            },
-            "id": {
-              "type": "string"
-            },
-            "method": {
-              "type": "string"
-            },
-            "requires": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "id",
-            "method",
-            "args",
-            "requires"
-          ]
-        },
-        "BundleChangesParams": {
-          "type": "object",
-          "properties": {
-            "bundleURL": {
-              "type": "string"
-            },
-            "yaml": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "yaml",
-            "bundleURL"
-          ]
-        },
-        "BundleChangesResults": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/BundleChange"
-              }
-            },
-            "errors": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "BytesResult": {
-          "type": "object",
-          "properties": {
-            "result": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "ConfigValue": {
-          "type": "object",
-          "properties": {
-            "source": {
-              "type": "string"
-            },
-            "value": {
-              "type": "object",
-              "additionalProperties": true
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "value",
-            "source"
-          ]
-        },
-        "Constraints": {
-          "type": "object",
-          "properties": {
-            "Count": {
-              "type": "integer"
-            },
-            "Pool": {
-              "type": "string"
-            },
-            "Size": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Pool",
-            "Size",
-            "Count"
-          ]
-        },
-        "DestroyMachines": {
-          "type": "object",
-          "properties": {
-            "force": {
-              "type": "boolean"
-            },
-            "machine-names": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "machine-names",
-            "force"
-          ]
-        },
-        "DetailedStatus": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "err": {
-              "type": "object",
-              "additionalProperties": true
-            },
-            "info": {
-              "type": "string"
-            },
-            "kind": {
-              "type": "string"
-            },
-            "life": {
-              "type": "string"
-            },
-            "since": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "status": {
-              "type": "string"
-            },
-            "version": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "status",
-            "info",
-            "data",
-            "since",
-            "kind",
-            "version",
-            "life"
-          ]
-        },
-        "EndpointStatus": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "type": "string"
-            },
-            "name": {
-              "type": "string"
-            },
-            "role": {
-              "type": "string"
-            },
-            "subordinate": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application",
-            "name",
-            "role",
-            "subordinate"
-          ]
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "EntityStatus": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "info": {
-              "type": "string"
-            },
-            "since": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "status",
-            "info",
-            "since"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "FindToolsParams": {
-          "type": "object",
-          "properties": {
-            "agentstream": {
-              "type": "string"
-            },
-            "arch": {
-              "type": "string"
-            },
-            "major": {
-              "type": "integer"
-            },
-            "minor": {
-              "type": "integer"
-            },
-            "number": {
-              "$ref": "#/definitions/Number"
-            },
-            "series": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "number",
-            "major",
-            "minor",
-            "arch",
-            "series",
-            "agentstream"
-          ]
-        },
-        "FindToolsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "list": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Tools"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "list"
-          ]
-        },
-        "FullStatus": {
-          "type": "object",
-          "properties": {
-            "applications": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/ApplicationStatus"
-                }
-              }
-            },
-            "controller-timestamp": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "machines": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/MachineStatus"
-                }
-              }
-            },
-            "model": {
-              "$ref": "#/definitions/ModelStatusInfo"
-            },
-            "offers": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/ApplicationOfferStatus"
-                }
-              }
-            },
-            "relations": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RelationStatus"
-              }
-            },
-            "remote-applications": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/RemoteApplicationStatus"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "model",
-            "machines",
-            "applications",
-            "remote-applications",
-            "offers",
-            "relations",
-            "controller-timestamp"
-          ]
-        },
-        "GetConstraintsResults": {
-          "type": "object",
-          "properties": {
-            "constraints": {
-              "$ref": "#/definitions/Value"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "constraints"
-          ]
-        },
-        "HardwareCharacteristics": {
-          "type": "object",
-          "properties": {
-            "arch": {
-              "type": "string"
-            },
-            "availability-zone": {
-              "type": "string"
-            },
-            "cpu-cores": {
-              "type": "integer"
-            },
-            "cpu-power": {
-              "type": "integer"
-            },
-            "mem": {
-              "type": "integer"
-            },
-            "root-disk": {
-              "type": "integer"
-            },
-            "tags": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "History": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "statuses": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/DetailedStatus"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "statuses"
-          ]
-        },
-        "HostPort": {
-          "type": "object",
-          "properties": {
-            "Address": {
-              "$ref": "#/definitions/Address"
-            },
-            "port": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Address",
-            "port"
-          ]
-        },
-        "LXDProfile": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "description": {
-              "type": "string"
-            },
-            "devices": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "patternProperties": {
-                    ".*": {
-                      "type": "string"
-                    }
-                  }
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config",
-            "description",
-            "devices"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "MachineHardware": {
-          "type": "object",
-          "properties": {
-            "arch": {
-              "type": "string"
-            },
-            "availability-zone": {
-              "type": "string"
-            },
-            "cores": {
-              "type": "integer"
-            },
-            "cpu-power": {
-              "type": "integer"
-            },
-            "mem": {
-              "type": "integer"
-            },
-            "root-disk": {
-              "type": "integer"
-            },
-            "tags": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "MachineStatus": {
-          "type": "object",
-          "properties": {
-            "agent-status": {
-              "$ref": "#/definitions/DetailedStatus"
-            },
-            "constraints": {
-              "type": "string"
-            },
-            "containers": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/MachineStatus"
-                }
-              }
-            },
-            "dns-name": {
-              "type": "string"
-            },
-            "hardware": {
-              "type": "string"
-            },
-            "has-vote": {
-              "type": "boolean"
-            },
-            "id": {
-              "type": "string"
-            },
-            "instance-id": {
-              "type": "string"
-            },
-            "instance-status": {
-              "$ref": "#/definitions/DetailedStatus"
-            },
-            "ip-addresses": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "jobs": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "lxd-profiles": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/LXDProfile"
-                }
-              }
-            },
-            "network-interfaces": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/NetworkInterface"
-                }
-              }
-            },
-            "series": {
-              "type": "string"
-            },
-            "wants-vote": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "agent-status",
-            "instance-status",
-            "dns-name",
-            "instance-id",
-            "series",
-            "id",
-            "containers",
-            "constraints",
-            "hardware",
-            "jobs",
-            "has-vote",
-            "wants-vote"
-          ]
-        },
-        "MeterStatus": {
-          "type": "object",
-          "properties": {
-            "color": {
-              "type": "string"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "color",
-            "message"
-          ]
-        },
-        "ModelConfigResults": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/ConfigValue"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "ModelInfo": {
-          "type": "object",
-          "properties": {
-            "agent-version": {
-              "$ref": "#/definitions/Number"
-            },
-            "cloud-credential-tag": {
-              "type": "string"
-            },
-            "cloud-region": {
-              "type": "string"
-            },
-            "cloud-tag": {
-              "type": "string"
-            },
-            "controller-uuid": {
-              "type": "string"
-            },
-            "default-series": {
-              "type": "string"
-            },
-            "life": {
-              "type": "string"
-            },
-            "machines": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModelMachineInfo"
-              }
-            },
-            "migration": {
-              "$ref": "#/definitions/ModelMigrationStatus"
-            },
-            "name": {
-              "type": "string"
-            },
-            "owner-tag": {
-              "type": "string"
-            },
-            "provider-type": {
-              "type": "string"
-            },
-            "sla": {
-              "$ref": "#/definitions/ModelSLAInfo"
-            },
-            "status": {
-              "$ref": "#/definitions/EntityStatus"
-            },
-            "type": {
-              "type": "string"
-            },
-            "users": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModelUserInfo"
-              }
-            },
-            "uuid": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "type",
-            "uuid",
-            "controller-uuid",
-            "cloud-tag",
-            "owner-tag",
-            "life",
-            "users",
-            "machines",
-            "sla",
-            "agent-version"
-          ]
-        },
-        "ModelMachineInfo": {
-          "type": "object",
-          "properties": {
-            "hardware": {
-              "$ref": "#/definitions/MachineHardware"
-            },
-            "has-vote": {
-              "type": "boolean"
-            },
-            "id": {
-              "type": "string"
-            },
-            "instance-id": {
-              "type": "string"
-            },
-            "message": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "wants-vote": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "id"
-          ]
-        },
-        "ModelMigrationStatus": {
-          "type": "object",
-          "properties": {
-            "end": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "start": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "status",
-            "start"
-          ]
-        },
-        "ModelSLA": {
-          "type": "object",
-          "properties": {
-            "ModelSLAInfo": {
-              "$ref": "#/definitions/ModelSLAInfo"
-            },
-            "creds": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "ModelSLAInfo",
-            "creds"
-          ]
-        },
-        "ModelSLAInfo": {
-          "type": "object",
-          "properties": {
-            "level": {
-              "type": "string"
-            },
-            "owner": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "level",
-            "owner"
-          ]
-        },
-        "ModelSet": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "ModelStatusInfo": {
-          "type": "object",
-          "properties": {
-            "available-version": {
-              "type": "string"
-            },
-            "cloud-tag": {
-              "type": "string"
-            },
-            "meter-status": {
-              "$ref": "#/definitions/MeterStatus"
-            },
-            "model-status": {
-              "$ref": "#/definitions/DetailedStatus"
-            },
-            "name": {
-              "type": "string"
-            },
-            "region": {
-              "type": "string"
-            },
-            "sla": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            },
-            "version": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "type",
-            "cloud-tag",
-            "version",
-            "available-version",
-            "model-status",
-            "meter-status",
-            "sla"
-          ]
-        },
-        "ModelUnset": {
-          "type": "object",
-          "properties": {
-            "keys": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "keys"
-          ]
-        },
-        "ModelUserInfo": {
-          "type": "object",
-          "properties": {
-            "access": {
-              "type": "string"
-            },
-            "display-name": {
-              "type": "string"
-            },
-            "last-connection": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "user": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "user",
-            "display-name",
-            "last-connection",
-            "access"
-          ]
-        },
-        "ModelUserInfoResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/ModelUserInfo"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ModelUserInfoResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModelUserInfoResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "NetworkInterface": {
-          "type": "object",
-          "properties": {
-            "dns-nameservers": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "gateway": {
-              "type": "string"
-            },
-            "ip-addresses": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "is-up": {
-              "type": "boolean"
-            },
-            "mac-address": {
-              "type": "string"
-            },
-            "space": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "ip-addresses",
-            "mac-address",
-            "is-up"
-          ]
-        },
-        "Number": {
-          "type": "object",
-          "properties": {
-            "Build": {
-              "type": "integer"
-            },
-            "Major": {
-              "type": "integer"
-            },
-            "Minor": {
-              "type": "integer"
-            },
-            "Patch": {
-              "type": "integer"
-            },
-            "Tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Major",
-            "Minor",
-            "Tag",
-            "Patch",
-            "Build"
-          ]
-        },
-        "Placement": {
-          "type": "object",
-          "properties": {
-            "directive": {
-              "type": "string"
-            },
-            "scope": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "scope",
-            "directive"
-          ]
-        },
-        "PrivateAddress": {
-          "type": "object",
-          "properties": {
-            "target": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "target"
-          ]
-        },
-        "PrivateAddressResults": {
-          "type": "object",
-          "properties": {
-            "private-address": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "private-address"
-          ]
-        },
-        "ProvisioningScriptParams": {
-          "type": "object",
-          "properties": {
-            "data-dir": {
-              "type": "string"
-            },
-            "disable-package-commands": {
-              "type": "boolean"
-            },
-            "machine-id": {
-              "type": "string"
-            },
-            "nonce": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "machine-id",
-            "nonce",
-            "data-dir",
-            "disable-package-commands"
-          ]
-        },
-        "ProvisioningScriptResult": {
-          "type": "object",
-          "properties": {
-            "script": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "script"
-          ]
-        },
-        "PublicAddress": {
-          "type": "object",
-          "properties": {
-            "target": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "target"
-          ]
-        },
-        "PublicAddressResults": {
-          "type": "object",
-          "properties": {
-            "public-address": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "public-address"
-          ]
-        },
-        "RelationStatus": {
-          "type": "object",
-          "properties": {
-            "endpoints": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EndpointStatus"
-              }
-            },
-            "id": {
-              "type": "integer"
-            },
-            "interface": {
-              "type": "string"
-            },
-            "key": {
-              "type": "string"
-            },
-            "scope": {
-              "type": "string"
-            },
-            "status": {
-              "$ref": "#/definitions/DetailedStatus"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "id",
-            "key",
-            "interface",
-            "scope",
-            "endpoints",
-            "status"
-          ]
-        },
-        "RemoteApplicationStatus": {
-          "type": "object",
-          "properties": {
-            "endpoints": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RemoteEndpoint"
-              }
-            },
-            "err": {
-              "type": "object",
-              "additionalProperties": true
-            },
-            "life": {
-              "type": "string"
-            },
-            "offer-name": {
-              "type": "string"
-            },
-            "offer-url": {
-              "type": "string"
-            },
-            "relations": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "array",
-                  "items": {
-                    "type": "string"
-                  }
-                }
-              }
-            },
-            "status": {
-              "$ref": "#/definitions/DetailedStatus"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "offer-url",
-            "offer-name",
-            "endpoints",
-            "life",
-            "relations",
-            "status"
-          ]
-        },
-        "RemoteEndpoint": {
-          "type": "object",
-          "properties": {
-            "interface": {
-              "type": "string"
-            },
-            "limit": {
-              "type": "integer"
-            },
-            "name": {
-              "type": "string"
-            },
-            "role": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "role",
-            "interface",
-            "limit"
-          ]
-        },
-        "ResolveCharmResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "type": "string"
-            },
-            "url": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ResolveCharmResults": {
-          "type": "object",
-          "properties": {
-            "urls": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ResolveCharmResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "urls"
-          ]
-        },
-        "ResolveCharms": {
-          "type": "object",
-          "properties": {
-            "references": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "references"
-          ]
-        },
-        "Resolved": {
-          "type": "object",
-          "properties": {
-            "retry": {
-              "type": "boolean"
-            },
-            "unit-name": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "unit-name",
-            "retry"
-          ]
-        },
-        "SetConstraints": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "type": "string"
-            },
-            "constraints": {
-              "$ref": "#/definitions/Value"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application",
-            "constraints"
-          ]
-        },
-        "SetModelAgentVersion": {
-          "type": "object",
-          "properties": {
-            "force": {
-              "type": "boolean"
-            },
-            "version": {
-              "$ref": "#/definitions/Number"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "version"
-          ]
-        },
-        "StatusHistoryFilter": {
-          "type": "object",
-          "properties": {
-            "date": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "delta": {
-              "type": "integer"
-            },
-            "exclude": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "size": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "size",
-            "date",
-            "delta",
-            "exclude"
-          ]
-        },
-        "StatusHistoryRequest": {
-          "type": "object",
-          "properties": {
-            "filter": {
-              "$ref": "#/definitions/StatusHistoryFilter"
-            },
-            "historyKind": {
-              "type": "string"
-            },
-            "size": {
-              "type": "integer"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "historyKind",
-            "size",
-            "filter",
-            "tag"
-          ]
-        },
-        "StatusHistoryRequests": {
-          "type": "object",
-          "properties": {
-            "requests": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StatusHistoryRequest"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "requests"
-          ]
-        },
-        "StatusHistoryResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "history": {
-              "$ref": "#/definitions/History"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "history"
-          ]
-        },
-        "StatusHistoryResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StatusHistoryResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "StatusParams": {
-          "type": "object",
-          "properties": {
-            "patterns": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "patterns"
-          ]
-        },
-        "StringResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "Tools": {
-          "type": "object",
-          "properties": {
-            "sha256": {
-              "type": "string"
-            },
-            "size": {
-              "type": "integer"
-            },
-            "url": {
-              "type": "string"
-            },
-            "version": {
-              "$ref": "#/definitions/Binary"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "version",
-            "url",
-            "size"
-          ]
-        },
-        "UnitStatus": {
-          "type": "object",
-          "properties": {
-            "address": {
-              "type": "string"
-            },
-            "agent-status": {
-              "$ref": "#/definitions/DetailedStatus"
-            },
-            "charm": {
-              "type": "string"
-            },
-            "leader": {
-              "type": "boolean"
-            },
-            "machine": {
-              "type": "string"
-            },
-            "opened-ports": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "provider-id": {
-              "type": "string"
-            },
-            "public-address": {
-              "type": "string"
-            },
-            "subordinates": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/UnitStatus"
-                }
-              }
-            },
-            "workload-status": {
-              "$ref": "#/definitions/DetailedStatus"
-            },
-            "workload-version": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "agent-status",
-            "workload-status",
-            "workload-version",
-            "machine",
-            "opened-ports",
-            "public-address",
-            "charm",
-            "subordinates"
-          ]
-        },
-        "Value": {
-          "type": "object",
-          "properties": {
-            "arch": {
-              "type": "string"
-            },
-            "container": {
-              "type": "string"
-            },
-            "cores": {
-              "type": "integer"
-            },
-            "cpu-power": {
-              "type": "integer"
-            },
-            "instance-type": {
-              "type": "string"
-            },
-            "mem": {
-              "type": "integer"
-            },
-            "root-disk": {
-              "type": "integer"
-            },
-            "spaces": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "tags": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "virt-type": {
-              "type": "string"
-            },
-            "zones": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        }
-      }
-    }
-  },
-  {
-    "Name": "Cloud",
-    "Version": 3,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "AddCloud": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/AddCloudArgs"
-            }
-          }
-        },
-        "AddCredentials": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/TaggedCredentials"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "CheckCredentialsModels": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/TaggedCredentials"
-            },
-            "Result": {
-              "$ref": "#/definitions/UpdateCredentialResults"
-            }
-          }
-        },
-        "Cloud": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/CloudResults"
-            }
-          }
-        },
-        "CloudInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/CloudInfoResults"
-            }
-          }
-        },
-        "Clouds": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/CloudsResult"
-            }
-          }
-        },
-        "Credential": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/CloudCredentialResults"
-            }
-          }
-        },
-        "CredentialContents": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/CloudCredentialArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/CredentialContentResults"
-            }
-          }
-        },
-        "DefaultCloud": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringResult"
-            }
-          }
-        },
-        "InstanceTypes": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/CloudInstanceTypesConstraints"
-            },
-            "Result": {
-              "$ref": "#/definitions/InstanceTypesResults"
-            }
-          }
-        },
-        "ListCloudInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ListCloudsRequest"
-            },
-            "Result": {
-              "$ref": "#/definitions/ListCloudInfoResults"
-            }
-          }
-        },
-        "ModifyCloudAccess": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModifyCloudAccessRequest"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "RemoveClouds": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "RevokeCredentialsCheckModels": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RevokeCredentialArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "UpdateCredentialsCheckModels": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/UpdateCredentialArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/UpdateCredentialResults"
-            }
-          }
-        },
-        "UserCredentials": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/UserClouds"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "AddCloudArgs": {
-          "type": "object",
-          "properties": {
-            "cloud": {
-              "$ref": "#/definitions/Cloud"
-            },
-            "name": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "cloud",
-            "name"
-          ]
-        },
-        "Cloud": {
-          "type": "object",
-          "properties": {
-            "auth-types": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "ca-certificates": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "endpoint": {
-              "type": "string"
-            },
-            "identity-endpoint": {
-              "type": "string"
-            },
-            "regions": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/CloudRegion"
-              }
-            },
-            "storage-endpoint": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "type"
-          ]
-        },
-        "CloudCredential": {
-          "type": "object",
-          "properties": {
-            "attrs": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "auth-type": {
-              "type": "string"
-            },
-            "redacted": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "auth-type"
-          ]
-        },
-        "CloudCredentialArg": {
-          "type": "object",
-          "properties": {
-            "cloud-name": {
-              "type": "string"
-            },
-            "credential-name": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "cloud-name",
-            "credential-name"
-          ]
-        },
-        "CloudCredentialArgs": {
-          "type": "object",
-          "properties": {
-            "credentials": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/CloudCredentialArg"
-              }
-            },
-            "include-secrets": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "include-secrets"
-          ]
-        },
-        "CloudCredentialResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/CloudCredential"
-            }
-          },
-          "additionalProperties": false
-        },
-        "CloudCredentialResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/CloudCredentialResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "CloudDetails": {
-          "type": "object",
-          "properties": {
-            "auth-types": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "endpoint": {
-              "type": "string"
-            },
-            "identity-endpoint": {
-              "type": "string"
-            },
-            "regions": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/CloudRegion"
-              }
-            },
-            "storage-endpoint": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "type"
-          ]
-        },
-        "CloudInfo": {
-          "type": "object",
-          "properties": {
-            "CloudDetails": {
-              "$ref": "#/definitions/CloudDetails"
-            },
-            "users": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/CloudUserInfo"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "CloudDetails",
-            "users"
-          ]
-        },
-        "CloudInfoResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/CloudInfo"
-            }
-          },
-          "additionalProperties": false
-        },
-        "CloudInfoResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/CloudInfoResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "CloudInstanceTypesConstraint": {
-          "type": "object",
-          "properties": {
-            "cloud-tag": {
-              "type": "string"
-            },
-            "constraints": {
-              "$ref": "#/definitions/Value"
-            },
-            "region": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "cloud-tag",
-            "region"
-          ]
-        },
-        "CloudInstanceTypesConstraints": {
-          "type": "object",
-          "properties": {
-            "constraints": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/CloudInstanceTypesConstraint"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "constraints"
-          ]
-        },
-        "CloudRegion": {
-          "type": "object",
-          "properties": {
-            "endpoint": {
-              "type": "string"
-            },
-            "identity-endpoint": {
-              "type": "string"
-            },
-            "name": {
-              "type": "string"
-            },
-            "storage-endpoint": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name"
-          ]
-        },
-        "CloudResult": {
-          "type": "object",
-          "properties": {
-            "cloud": {
-              "$ref": "#/definitions/Cloud"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "CloudResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/CloudResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "CloudUserInfo": {
-          "type": "object",
-          "properties": {
-            "access": {
-              "type": "string"
-            },
-            "display-name": {
-              "type": "string"
-            },
-            "user": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "user",
-            "display-name",
-            "access"
-          ]
-        },
-        "CloudsResult": {
-          "type": "object",
-          "properties": {
-            "clouds": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/Cloud"
-                }
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "ControllerCredentialInfo": {
-          "type": "object",
-          "properties": {
-            "content": {
-              "$ref": "#/definitions/CredentialContent"
-            },
-            "models": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModelAccess"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "CredentialContent": {
-          "type": "object",
-          "properties": {
-            "attrs": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "auth-type": {
-              "type": "string"
-            },
-            "cloud": {
-              "type": "string"
-            },
-            "name": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "cloud",
-            "auth-type"
-          ]
-        },
-        "CredentialContentResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/ControllerCredentialInfo"
-            }
-          },
-          "additionalProperties": false
-        },
-        "CredentialContentResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/CredentialContentResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "InstanceType": {
-          "type": "object",
-          "properties": {
-            "arches": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "cost": {
-              "type": "integer"
-            },
-            "cpu-cores": {
-              "type": "integer"
-            },
-            "deprecated": {
-              "type": "boolean"
-            },
-            "memory": {
-              "type": "integer"
-            },
-            "name": {
-              "type": "string"
-            },
-            "root-disk": {
-              "type": "integer"
-            },
-            "virt-type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "arches",
-            "cpu-cores",
-            "memory"
-          ]
-        },
-        "InstanceTypesResult": {
-          "type": "object",
-          "properties": {
-            "cost-currency": {
-              "type": "string"
-            },
-            "cost-divisor": {
-              "type": "integer"
-            },
-            "cost-unit": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "instance-types": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/InstanceType"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "InstanceTypesResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/InstanceTypesResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ListCloudInfo": {
-          "type": "object",
-          "properties": {
-            "CloudDetails": {
-              "$ref": "#/definitions/CloudDetails"
-            },
-            "user-access": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "CloudDetails",
-            "user-access"
-          ]
-        },
-        "ListCloudInfoResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/ListCloudInfo"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ListCloudInfoResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ListCloudInfoResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ListCloudsRequest": {
-          "type": "object",
-          "properties": {
-            "all": {
-              "type": "boolean"
-            },
-            "user-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "user-tag"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "ModelAccess": {
-          "type": "object",
-          "properties": {
-            "access": {
-              "type": "string"
-            },
-            "model": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ModifyCloudAccess": {
-          "type": "object",
-          "properties": {
-            "access": {
-              "type": "string"
-            },
-            "action": {
-              "type": "string"
-            },
-            "cloud-tag": {
-              "type": "string"
-            },
-            "user-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "user-tag",
-            "cloud-tag",
-            "action",
-            "access"
-          ]
-        },
-        "ModifyCloudAccessRequest": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModifyCloudAccess"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "changes"
-          ]
-        },
-        "RevokeCredentialArg": {
-          "type": "object",
-          "properties": {
-            "force": {
-              "type": "boolean"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "force"
-          ]
-        },
-        "RevokeCredentialArgs": {
-          "type": "object",
-          "properties": {
-            "credentials": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RevokeCredentialArg"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "credentials"
-          ]
-        },
-        "StringResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "StringsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "StringsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringsResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "TaggedCredential": {
-          "type": "object",
-          "properties": {
-            "credential": {
-              "$ref": "#/definitions/CloudCredential"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "credential"
-          ]
-        },
-        "TaggedCredentials": {
-          "type": "object",
-          "properties": {
-            "credentials": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/TaggedCredential"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "UpdateCredentialArgs": {
-          "type": "object",
-          "properties": {
-            "credentials": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/TaggedCredential"
-              }
-            },
-            "force": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "credentials",
-            "force"
-          ]
-        },
-        "UpdateCredentialModelResult": {
-          "type": "object",
-          "properties": {
-            "errors": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            },
-            "name": {
-              "type": "string"
-            },
-            "uuid": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "uuid",
-            "name"
-          ]
-        },
-        "UpdateCredentialResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "models": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/UpdateCredentialModelResult"
-              }
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "UpdateCredentialResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/UpdateCredentialResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "UserCloud": {
-          "type": "object",
-          "properties": {
-            "cloud-tag": {
-              "type": "string"
-            },
-            "user-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "user-tag",
-            "cloud-tag"
-          ]
-        },
-        "UserClouds": {
-          "type": "object",
-          "properties": {
-            "user-clouds": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/UserCloud"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "Value": {
-          "type": "object",
-          "properties": {
-            "arch": {
-              "type": "string"
-            },
-            "container": {
-              "type": "string"
-            },
-            "cores": {
-              "type": "integer"
-            },
-            "cpu-power": {
-              "type": "integer"
-            },
-            "instance-type": {
-              "type": "string"
-            },
-            "mem": {
-              "type": "integer"
-            },
-            "root-disk": {
-              "type": "integer"
-            },
-            "spaces": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "tags": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "virt-type": {
-              "type": "string"
-            },
-            "zones": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        }
-      }
-    }
-  },
-  {
-    "Name": "Controller",
-    "Version": 5,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "AllModels": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/UserModelList"
-            }
-          }
-        },
-        "CloudSpec": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/CloudSpecResults"
-            }
-          }
-        },
-        "ConfigSet": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ControllerConfigSet"
-            }
-          }
-        },
-        "ControllerAPIInfoForModels": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ControllerAPIInfoResults"
-            }
-          }
-        },
-        "ControllerConfig": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ControllerConfigResult"
-            }
-          }
-        },
-        "DestroyController": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/DestroyControllerArgs"
-            }
-          }
-        },
-        "GetCloudSpec": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModelTag"
-            },
-            "Result": {
-              "$ref": "#/definitions/CloudSpecResult"
-            }
-          }
-        },
-        "GetControllerAccess": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/UserAccessResults"
-            }
-          }
-        },
-        "HostedModelConfigs": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/HostedModelConfigsResults"
-            }
-          }
-        },
-        "InitiateMigration": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/InitiateMigrationArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/InitiateMigrationResults"
-            }
-          }
-        },
-        "ListBlockedModels": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ModelBlockInfoList"
-            }
-          }
-        },
-        "ModelConfig": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ModelConfigResults"
-            }
-          }
-        },
-        "ModelStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ModelStatusResults"
-            }
-          }
-        },
-        "ModifyControllerAccess": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModifyControllerAccessRequest"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "RemoveBlocks": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RemoveBlocksArgs"
-            }
-          }
-        },
-        "WatchAllModels": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/AllWatcherId"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "AllWatcherId": {
-          "type": "object",
-          "properties": {
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id"
-          ]
-        },
-        "CloudCredential": {
-          "type": "object",
-          "properties": {
-            "attrs": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "auth-type": {
-              "type": "string"
-            },
-            "redacted": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "auth-type"
-          ]
-        },
-        "CloudSpec": {
-          "type": "object",
-          "properties": {
-            "cacertificates": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "credential": {
-              "$ref": "#/definitions/CloudCredential"
-            },
-            "endpoint": {
-              "type": "string"
-            },
-            "identity-endpoint": {
-              "type": "string"
-            },
-            "name": {
-              "type": "string"
-            },
-            "region": {
-              "type": "string"
-            },
-            "storage-endpoint": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "type",
-            "name"
-          ]
-        },
-        "CloudSpecResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/CloudSpec"
-            }
-          },
-          "additionalProperties": false
-        },
-        "CloudSpecResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/CloudSpecResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "ConfigValue": {
-          "type": "object",
-          "properties": {
-            "source": {
-              "type": "string"
-            },
-            "value": {
-              "type": "object",
-              "additionalProperties": true
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "value",
-            "source"
-          ]
-        },
-        "ControllerAPIInfoResult": {
-          "type": "object",
-          "properties": {
-            "addresses": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "cacert": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "addresses",
-            "cacert"
-          ]
-        },
-        "ControllerAPIInfoResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ControllerAPIInfoResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ControllerConfigResult": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "ControllerConfigSet": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "DestroyControllerArgs": {
-          "type": "object",
-          "properties": {
-            "destroy-models": {
-              "type": "boolean"
-            },
-            "destroy-storage": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "destroy-models"
-          ]
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "HostedModelConfig": {
-          "type": "object",
-          "properties": {
-            "cloud-spec": {
-              "$ref": "#/definitions/CloudSpec"
-            },
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "name": {
-              "type": "string"
-            },
-            "owner": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "owner"
-          ]
-        },
-        "HostedModelConfigsResults": {
-          "type": "object",
-          "properties": {
-            "models": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/HostedModelConfig"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "models"
-          ]
-        },
-        "InitiateMigrationArgs": {
-          "type": "object",
-          "properties": {
-            "specs": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MigrationSpec"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "specs"
-          ]
-        },
-        "InitiateMigrationResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "migration-id": {
-              "type": "string"
-            },
-            "model-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "model-tag",
-            "migration-id"
-          ]
-        },
-        "InitiateMigrationResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/InitiateMigrationResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "MachineHardware": {
-          "type": "object",
-          "properties": {
-            "arch": {
-              "type": "string"
-            },
-            "availability-zone": {
-              "type": "string"
-            },
-            "cores": {
-              "type": "integer"
-            },
-            "cpu-power": {
-              "type": "integer"
-            },
-            "mem": {
-              "type": "integer"
-            },
-            "root-disk": {
-              "type": "integer"
-            },
-            "tags": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "MigrationSpec": {
-          "type": "object",
-          "properties": {
-            "model-tag": {
-              "type": "string"
-            },
-            "target-info": {
-              "$ref": "#/definitions/MigrationTargetInfo"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "model-tag",
-            "target-info"
-          ]
-        },
-        "MigrationTargetInfo": {
-          "type": "object",
-          "properties": {
-            "addrs": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "auth-tag": {
-              "type": "string"
-            },
-            "ca-cert": {
-              "type": "string"
-            },
-            "controller-tag": {
-              "type": "string"
-            },
-            "macaroons": {
-              "type": "string"
-            },
-            "password": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "controller-tag",
-            "addrs",
-            "ca-cert",
-            "auth-tag"
-          ]
-        },
-        "Model": {
-          "type": "object",
-          "properties": {
-            "name": {
-              "type": "string"
-            },
-            "owner-tag": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            },
-            "uuid": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "uuid",
-            "type",
-            "owner-tag"
-          ]
-        },
-        "ModelBlockInfo": {
-          "type": "object",
-          "properties": {
-            "blocks": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "model-uuid": {
-              "type": "string"
-            },
-            "name": {
-              "type": "string"
-            },
-            "owner-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "model-uuid",
-            "owner-tag",
-            "blocks"
-          ]
-        },
-        "ModelBlockInfoList": {
-          "type": "object",
-          "properties": {
-            "models": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModelBlockInfo"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "ModelConfigResults": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/ConfigValue"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "ModelFilesystemInfo": {
-          "type": "object",
-          "properties": {
-            "detachable": {
-              "type": "boolean"
-            },
-            "id": {
-              "type": "string"
-            },
-            "message": {
-              "type": "string"
-            },
-            "provider-id": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "id"
-          ]
-        },
-        "ModelMachineInfo": {
-          "type": "object",
-          "properties": {
-            "hardware": {
-              "$ref": "#/definitions/MachineHardware"
-            },
-            "has-vote": {
-              "type": "boolean"
-            },
-            "id": {
-              "type": "string"
-            },
-            "instance-id": {
-              "type": "string"
-            },
-            "message": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "wants-vote": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "id"
-          ]
-        },
-        "ModelStatus": {
-          "type": "object",
-          "properties": {
-            "application-count": {
-              "type": "integer"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "filesystems": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModelFilesystemInfo"
-              }
-            },
-            "hosted-machine-count": {
-              "type": "integer"
-            },
-            "life": {
-              "type": "string"
-            },
-            "machines": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModelMachineInfo"
-              }
-            },
-            "model-tag": {
-              "type": "string"
-            },
-            "owner-tag": {
-              "type": "string"
-            },
-            "volumes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModelVolumeInfo"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "model-tag",
-            "life",
-            "hosted-machine-count",
-            "application-count",
-            "owner-tag"
-          ]
-        },
-        "ModelStatusResults": {
-          "type": "object",
-          "properties": {
-            "models": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModelStatus"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "models"
-          ]
-        },
-        "ModelTag": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "ModelVolumeInfo": {
-          "type": "object",
-          "properties": {
-            "detachable": {
-              "type": "boolean"
-            },
-            "id": {
-              "type": "string"
-            },
-            "message": {
-              "type": "string"
-            },
-            "provider-id": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "id"
-          ]
-        },
-        "ModifyControllerAccess": {
-          "type": "object",
-          "properties": {
-            "access": {
-              "type": "string"
-            },
-            "action": {
-              "type": "string"
-            },
-            "user-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "user-tag",
-            "action",
-            "access"
-          ]
-        },
-        "ModifyControllerAccessRequest": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModifyControllerAccess"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "changes"
-          ]
-        },
-        "RemoveBlocksArgs": {
-          "type": "object",
-          "properties": {
-            "all": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "all"
-          ]
-        },
-        "UserAccess": {
-          "type": "object",
-          "properties": {
-            "access": {
-              "type": "string"
-            },
-            "user-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "user-tag",
-            "access"
-          ]
-        },
-        "UserAccessResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/UserAccess"
-            }
-          },
-          "additionalProperties": false
-        },
-        "UserAccessResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/UserAccessResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "UserModel": {
-          "type": "object",
-          "properties": {
-            "last-connection": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "model": {
-              "$ref": "#/definitions/Model"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "model",
-            "last-connection"
-          ]
-        },
-        "UserModelList": {
-          "type": "object",
-          "properties": {
-            "user-models": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/UserModel"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "user-models"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "CredentialManager",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "InvalidateModelCredential": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/InvalidateCredentialArg"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "InvalidateCredentialArg": {
-          "type": "object",
-          "properties": {
-            "reason": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        }
-      }
-    }
-  },
-  {
-    "Name": "CredentialValidator",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "InvalidateModelCredential": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/InvalidateCredentialArg"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResult"
-            }
-          }
-        },
-        "ModelCredential": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ModelCredential"
-            }
-          }
-        },
-        "WatchCredential": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entity"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        },
-        "WatchModelCredential": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "InvalidateCredentialArg": {
-          "type": "object",
-          "properties": {
-            "reason": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "ModelCredential": {
-          "type": "object",
-          "properties": {
-            "credential-tag": {
-              "type": "string"
-            },
-            "exists": {
-              "type": "boolean"
-            },
-            "model-tag": {
-              "type": "string"
-            },
-            "valid": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "model-tag",
-            "credential-tag"
-          ]
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "CrossController",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "ControllerInfo": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ControllerAPIInfoResults"
-            }
-          }
-        },
-        "WatchControllerInfo": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "ControllerAPIInfoResult": {
-          "type": "object",
-          "properties": {
-            "addresses": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "cacert": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "addresses",
-            "cacert"
-          ]
-        },
-        "ControllerAPIInfoResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ControllerAPIInfoResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "CrossModelRelations",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "PublishIngressNetworkChanges": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/IngressNetworksChanges"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "PublishRelationChanges": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RemoteRelationsChanges"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "RegisterRemoteRelations": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RegisterRemoteRelationArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/RegisterRemoteRelationResults"
-            }
-          }
-        },
-        "RelationUnitSettings": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RemoteRelationUnits"
-            },
-            "Result": {
-              "$ref": "#/definitions/SettingsResults"
-            }
-          }
-        },
-        "WatchEgressAddressesForRelations": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RemoteEntityArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResults"
-            }
-          }
-        },
-        "WatchOfferStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/OfferArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/OfferStatusWatchResults"
-            }
-          }
-        },
-        "WatchRelationUnits": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RemoteEntityArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/RelationUnitsWatchResults"
-            }
-          }
-        },
-        "WatchRelationsSuspendedStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RemoteEntityArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/RelationStatusWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "EntityStatus": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "info": {
-              "type": "string"
-            },
-            "since": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "status",
-            "info",
-            "since"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "IngressNetworksChangeEvent": {
-          "type": "object",
-          "properties": {
-            "application-token": {
-              "type": "string"
-            },
-            "ingress-required": {
-              "type": "boolean"
-            },
-            "macaroons": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Macaroon"
-              }
-            },
-            "networks": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "relation-token": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "relation-token",
-            "application-token",
-            "ingress-required"
-          ]
-        },
-        "IngressNetworksChanges": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/IngressNetworksChangeEvent"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "OfferArg": {
-          "type": "object",
-          "properties": {
-            "macaroons": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Macaroon"
-              }
-            },
-            "offer-uuid": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "offer-uuid"
-          ]
-        },
-        "OfferArgs": {
-          "type": "object",
-          "properties": {
-            "args": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/OfferArg"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "args"
-          ]
-        },
-        "OfferStatusChange": {
-          "type": "object",
-          "properties": {
-            "offer-name": {
-              "type": "string"
-            },
-            "status": {
-              "$ref": "#/definitions/EntityStatus"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "offer-name",
-            "status"
-          ]
-        },
-        "OfferStatusWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/OfferStatusChange"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id",
-            "changes"
-          ]
-        },
-        "OfferStatusWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/OfferStatusWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "RegisterRemoteRelationArg": {
-          "type": "object",
-          "properties": {
-            "application-token": {
-              "type": "string"
-            },
-            "local-endpoint-name": {
-              "type": "string"
-            },
-            "macaroons": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Macaroon"
-              }
-            },
-            "offer-uuid": {
-              "type": "string"
-            },
-            "relation-token": {
-              "type": "string"
-            },
-            "remote-endpoint": {
-              "$ref": "#/definitions/RemoteEndpoint"
-            },
-            "remote-space": {
-              "$ref": "#/definitions/RemoteSpace"
-            },
-            "source-model-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application-token",
-            "source-model-tag",
-            "relation-token",
-            "remote-endpoint",
-            "remote-space",
-            "offer-uuid",
-            "local-endpoint-name"
-          ]
-        },
-        "RegisterRemoteRelationArgs": {
-          "type": "object",
-          "properties": {
-            "relations": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RegisterRemoteRelationArg"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "relations"
-          ]
-        },
-        "RegisterRemoteRelationResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/RemoteRelationDetails"
-            }
-          },
-          "additionalProperties": false
-        },
-        "RegisterRemoteRelationResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RegisterRemoteRelationResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "RelationLifeSuspendedStatusChange": {
-          "type": "object",
-          "properties": {
-            "key": {
-              "type": "string"
-            },
-            "life": {
-              "type": "string"
-            },
-            "suspended": {
-              "type": "boolean"
-            },
-            "suspended-reason": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "key",
-            "life",
-            "suspended",
-            "suspended-reason"
-          ]
-        },
-        "RelationLifeSuspendedStatusWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RelationLifeSuspendedStatusChange"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id",
-            "changes"
-          ]
-        },
-        "RelationStatusWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RelationLifeSuspendedStatusWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "RelationUnitsChange": {
-          "type": "object",
-          "properties": {
-            "changed": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/UnitSettings"
-                }
-              }
-            },
-            "departed": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "changed"
-          ]
-        },
-        "RelationUnitsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "$ref": "#/definitions/RelationUnitsChange"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id",
-            "changes"
-          ]
-        },
-        "RelationUnitsWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RelationUnitsWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "RemoteEndpoint": {
-          "type": "object",
-          "properties": {
-            "interface": {
-              "type": "string"
-            },
-            "limit": {
-              "type": "integer"
-            },
-            "name": {
-              "type": "string"
-            },
-            "role": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "role",
-            "interface",
-            "limit"
-          ]
-        },
-        "RemoteEntityArg": {
-          "type": "object",
-          "properties": {
-            "macaroons": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Macaroon"
-              }
-            },
-            "relation-token": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "relation-token"
-          ]
-        },
-        "RemoteEntityArgs": {
-          "type": "object",
-          "properties": {
-            "args": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RemoteEntityArg"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "args"
-          ]
-        },
-        "RemoteRelationChangeEvent": {
-          "type": "object",
-          "properties": {
-            "application-token": {
-              "type": "string"
-            },
-            "changed-units": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RemoteRelationUnitChange"
-              }
-            },
-            "departed-units": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "force-cleanup": {
-              "type": "boolean"
-            },
-            "life": {
-              "type": "string"
-            },
-            "macaroons": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Macaroon"
-              }
-            },
-            "relation-token": {
-              "type": "string"
-            },
-            "suspended": {
-              "type": "boolean"
-            },
-            "suspended-reason": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "relation-token",
-            "application-token",
-            "life"
-          ]
-        },
-        "RemoteRelationDetails": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "relation-token": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "relation-token"
-          ]
-        },
-        "RemoteRelationUnit": {
-          "type": "object",
-          "properties": {
-            "macaroons": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Macaroon"
-              }
-            },
-            "relation-token": {
-              "type": "string"
-            },
-            "unit": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "relation-token",
-            "unit"
-          ]
-        },
-        "RemoteRelationUnitChange": {
-          "type": "object",
-          "properties": {
-            "settings": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "unit-id": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "unit-id"
-          ]
-        },
-        "RemoteRelationUnits": {
-          "type": "object",
-          "properties": {
-            "relation-units": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RemoteRelationUnit"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "relation-units"
-          ]
-        },
-        "RemoteRelationsChanges": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RemoteRelationChangeEvent"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "RemoteSpace": {
-          "type": "object",
-          "properties": {
-            "cloud-type": {
-              "type": "string"
-            },
-            "name": {
-              "type": "string"
-            },
-            "provider-attributes": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "provider-id": {
-              "type": "string"
-            },
-            "subnets": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Subnet"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "cloud-type",
-            "name",
-            "provider-id",
-            "provider-attributes",
-            "subnets"
-          ]
-        },
-        "SettingsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "settings": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "settings"
-          ]
-        },
-        "SettingsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/SettingsResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "StringsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id"
-          ]
-        },
-        "StringsWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringsWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Subnet": {
-          "type": "object",
-          "properties": {
-            "cidr": {
-              "type": "string"
-            },
-            "life": {
-              "type": "string"
-            },
-            "provider-id": {
-              "type": "string"
-            },
-            "provider-network-id": {
-              "type": "string"
-            },
-            "provider-space-id": {
-              "type": "string"
-            },
-            "space-tag": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "vlan-tag": {
-              "type": "integer"
-            },
-            "zones": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "cidr",
-            "vlan-tag",
-            "life",
-            "space-tag",
-            "zones"
-          ]
-        },
-        "UnitSettings": {
-          "type": "object",
-          "properties": {
-            "version": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "version"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Deployer",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "APIAddresses": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringsResult"
-            }
-          }
-        },
-        "APIHostPorts": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/APIHostPortsResult"
-            }
-          }
-        },
-        "ConnectionInfo": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/DeployerConnectionValues"
-            }
-          }
-        },
-        "Life": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/LifeResults"
-            }
-          }
-        },
-        "ModelUUID": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringResult"
-            }
-          }
-        },
-        "Remove": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetPasswords": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/EntityPasswords"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "UpdateStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "WatchAPIHostPorts": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        },
-        "WatchUnits": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "APIHostPortsResult": {
-          "type": "object",
-          "properties": {
-            "servers": {
-              "type": "array",
-              "items": {
-                "type": "array",
-                "items": {
-                  "$ref": "#/definitions/HostPort"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "servers"
-          ]
-        },
-        "Address": {
-          "type": "object",
-          "properties": {
-            "scope": {
-              "type": "string"
-            },
-            "space-name": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            },
-            "value": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "value",
-            "type",
-            "scope"
-          ]
-        },
-        "DeployerConnectionValues": {
-          "type": "object",
-          "properties": {
-            "api-addresses": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "api-addresses"
-          ]
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "EntityPassword": {
-          "type": "object",
-          "properties": {
-            "password": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "password"
-          ]
-        },
-        "EntityPasswords": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityPassword"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "changes"
-          ]
-        },
-        "EntityStatusArgs": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "info": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "status",
-            "info",
-            "data"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "HostPort": {
-          "type": "object",
-          "properties": {
-            "Address": {
-              "$ref": "#/definitions/Address"
-            },
-            "port": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Address",
-            "port"
-          ]
-        },
-        "LifeResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "life": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "life"
-          ]
-        },
-        "LifeResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/LifeResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "SetStatus": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityStatusArgs"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "StringResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "StringsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "StringsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id"
-          ]
-        },
-        "StringsWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringsWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "DiskManager",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "SetMachineBlockDevices": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetMachineBlockDevices"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "BlockDevice": {
-          "type": "object",
-          "properties": {
-            "BusAddress": {
-              "type": "string"
-            },
-            "DeviceLinks": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "DeviceName": {
-              "type": "string"
-            },
-            "FilesystemType": {
-              "type": "string"
-            },
-            "HardwareId": {
-              "type": "string"
-            },
-            "InUse": {
-              "type": "boolean"
-            },
-            "Label": {
-              "type": "string"
-            },
-            "MountPoint": {
-              "type": "string"
-            },
-            "Size": {
-              "type": "integer"
-            },
-            "UUID": {
-              "type": "string"
-            },
-            "WWN": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "DeviceName",
-            "DeviceLinks",
-            "Label",
-            "UUID",
-            "HardwareId",
-            "WWN",
-            "BusAddress",
-            "Size",
-            "FilesystemType",
-            "InUse",
-            "MountPoint"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "MachineBlockDevices": {
-          "type": "object",
-          "properties": {
-            "block-devices": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/BlockDevice"
-              }
-            },
-            "machine": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "machine"
-          ]
-        },
-        "SetMachineBlockDevices": {
-          "type": "object",
-          "properties": {
-            "machine-block-devices": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MachineBlockDevices"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "machine-block-devices"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "EntityWatcher",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Next": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/EntitiesWatchResult"
-            }
-          }
-        },
-        "Stop": {
-          "type": "object"
-        }
-      },
-      "definitions": {
-        "EntitiesWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        }
-      }
-    }
-  },
-  {
-    "Name": "ExternalControllerUpdater",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "ExternalControllerInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ExternalControllerInfoResults"
-            }
-          }
-        },
-        "SetExternalControllerInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetExternalControllersInfoParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "WatchExternalControllers": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ExternalControllerInfo": {
-          "type": "object",
-          "properties": {
-            "addrs": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "ca-cert": {
-              "type": "string"
-            },
-            "controller-alias": {
-              "type": "string"
-            },
-            "controller-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "controller-tag",
-            "controller-alias",
-            "addrs",
-            "ca-cert"
-          ]
-        },
-        "ExternalControllerInfoResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/ExternalControllerInfo"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result",
-            "error"
-          ]
-        },
-        "ExternalControllerInfoResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ExternalControllerInfoResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "SetExternalControllerInfoParams": {
-          "type": "object",
-          "properties": {
-            "info": {
-              "$ref": "#/definitions/ExternalControllerInfo"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "info"
-          ]
-        },
-        "SetExternalControllersInfoParams": {
-          "type": "object",
-          "properties": {
-            "controllers": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/SetExternalControllerInfoParams"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "controllers"
-          ]
-        },
-        "StringsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id"
-          ]
-        },
-        "StringsWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringsWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "FanConfigurer",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "FanConfig": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/FanConfigResult"
-            }
-          }
-        },
-        "WatchForFanConfigChanges": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "FanConfigEntry": {
-          "type": "object",
-          "properties": {
-            "overlay": {
-              "type": "string"
-            },
-            "underlay": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "underlay",
-            "overlay"
-          ]
-        },
-        "FanConfigResult": {
-          "type": "object",
-          "properties": {
-            "fans": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/FanConfigEntry"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "fans"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "FilesystemAttachmentsWatcher",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Next": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/MachineStorageIdsWatchResult"
-            }
-          }
-        },
-        "Stop": {
-          "type": "object"
-        }
-      },
-      "definitions": {
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "MachineStorageId": {
-          "type": "object",
-          "properties": {
-            "attachment-tag": {
-              "type": "string"
-            },
-            "machine-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "machine-tag",
-            "attachment-tag"
-          ]
-        },
-        "MachineStorageIdsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MachineStorageId"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id",
-            "changes"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "FirewallRules",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "ListFirewallRules": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ListFirewallRulesResults"
-            }
-          }
-        },
-        "SetFirewallRules": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/FirewallRuleArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "FirewallRule": {
-          "type": "object",
-          "properties": {
-            "known-service": {
-              "type": "string"
-            },
-            "whitelist-cidrs": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "known-service"
-          ]
-        },
-        "FirewallRuleArgs": {
-          "type": "object",
-          "properties": {
-            "args": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/FirewallRule"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "args"
-          ]
-        },
-        "ListFirewallRulesResults": {
-          "type": "object",
-          "properties": {
-            "Rules": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/FirewallRule"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Rules"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        }
-      }
-    }
-  },
-  {
-    "Name": "Firewaller",
-    "Version": 5,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "AreManuallyProvisioned": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/BoolResults"
-            }
-          }
-        },
-        "CloudSpec": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/CloudSpecResults"
-            }
-          }
-        },
-        "ControllerAPIInfoForModels": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ControllerAPIInfoResults"
-            }
-          }
-        },
-        "ControllerConfig": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ControllerConfigResult"
-            }
-          }
-        },
-        "FirewallRules": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/KnownServiceArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ListFirewallRulesResults"
-            }
-          }
-        },
-        "GetAssignedMachine": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringResults"
-            }
-          }
-        },
-        "GetCloudSpec": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModelTag"
-            },
-            "Result": {
-              "$ref": "#/definitions/CloudSpecResult"
-            }
-          }
-        },
-        "GetExposed": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/BoolResults"
-            }
-          }
-        },
-        "GetMachineActiveSubnets": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsResults"
-            }
-          }
-        },
-        "GetMachinePorts": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/MachinePortsParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/MachinePortsResults"
-            }
-          }
-        },
-        "InstanceId": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringResults"
-            }
-          }
-        },
-        "Life": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/LifeResults"
-            }
-          }
-        },
-        "MacaroonForRelations": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/MacaroonResults"
-            }
-          }
-        },
-        "ModelConfig": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ModelConfigResult"
-            }
-          }
-        },
-        "SetRelationsStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "Watch": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        },
-        "WatchEgressAddressesForRelations": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResults"
-            }
-          }
-        },
-        "WatchForModelConfigChanges": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        },
-        "WatchIngressAddressesForRelations": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResults"
-            }
-          }
-        },
-        "WatchModelMachines": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResult"
-            }
-          }
-        },
-        "WatchOpenedPorts": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResults"
-            }
-          }
-        },
-        "WatchUnits": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "BoolResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "BoolResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/BoolResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "CloudCredential": {
-          "type": "object",
-          "properties": {
-            "attrs": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "auth-type": {
-              "type": "string"
-            },
-            "redacted": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "auth-type"
-          ]
-        },
-        "CloudSpec": {
-          "type": "object",
-          "properties": {
-            "cacertificates": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "credential": {
-              "$ref": "#/definitions/CloudCredential"
-            },
-            "endpoint": {
-              "type": "string"
-            },
-            "identity-endpoint": {
-              "type": "string"
-            },
-            "name": {
-              "type": "string"
-            },
-            "region": {
-              "type": "string"
-            },
-            "storage-endpoint": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "type",
-            "name"
-          ]
-        },
-        "CloudSpecResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/CloudSpec"
-            }
-          },
-          "additionalProperties": false
-        },
-        "CloudSpecResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/CloudSpecResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "ControllerAPIInfoResult": {
-          "type": "object",
-          "properties": {
-            "addresses": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "cacert": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "addresses",
-            "cacert"
-          ]
-        },
-        "ControllerAPIInfoResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ControllerAPIInfoResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ControllerConfigResult": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "EntityStatusArgs": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "info": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "status",
-            "info",
-            "data"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "FirewallRule": {
-          "type": "object",
-          "properties": {
-            "known-service": {
-              "type": "string"
-            },
-            "whitelist-cidrs": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "known-service"
-          ]
-        },
-        "KnownServiceArgs": {
-          "type": "object",
-          "properties": {
-            "known-services": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "known-services"
-          ]
-        },
-        "LifeResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "life": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "life"
-          ]
-        },
-        "LifeResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/LifeResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ListFirewallRulesResults": {
-          "type": "object",
-          "properties": {
-            "Rules": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/FirewallRule"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Rules"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "MacaroonResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/Macaroon"
-            }
-          },
-          "additionalProperties": false
-        },
-        "MacaroonResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MacaroonResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "MachinePortRange": {
-          "type": "object",
-          "properties": {
-            "port-range": {
-              "$ref": "#/definitions/PortRange"
-            },
-            "relation-tag": {
-              "type": "string"
-            },
-            "unit-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "unit-tag",
-            "relation-tag",
-            "port-range"
-          ]
-        },
-        "MachinePorts": {
-          "type": "object",
-          "properties": {
-            "machine-tag": {
-              "type": "string"
-            },
-            "subnet-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "machine-tag",
-            "subnet-tag"
-          ]
-        },
-        "MachinePortsParams": {
-          "type": "object",
-          "properties": {
-            "params": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MachinePorts"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "params"
-          ]
-        },
-        "MachinePortsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "ports": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MachinePortRange"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "ports"
-          ]
-        },
-        "MachinePortsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MachinePortsResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ModelConfigResult": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "ModelTag": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "PortRange": {
-          "type": "object",
-          "properties": {
-            "from-port": {
-              "type": "integer"
-            },
-            "protocol": {
-              "type": "string"
-            },
-            "to-port": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "from-port",
-            "to-port",
-            "protocol"
-          ]
-        },
-        "SetStatus": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityStatusArgs"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "StringResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "StringResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "StringsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "StringsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringsResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "StringsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id"
-          ]
-        },
-        "StringsWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringsWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "HighAvailability",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "EnableHA": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ControllersSpecs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ControllersChangeResults"
-            }
-          }
-        },
-        "ResumeHAReplicationAfterUpgrade": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ResumeReplicationParams"
-            }
-          }
-        },
-        "StopHAReplicationForUpgrade": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/UpgradeMongoParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/MongoUpgradeResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Address": {
-          "type": "object",
-          "properties": {
-            "Scope": {
-              "type": "string"
-            },
-            "SpaceName": {
-              "type": "string"
-            },
-            "SpaceProviderId": {
-              "type": "string"
-            },
-            "Type": {
-              "type": "string"
-            },
-            "Value": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Value",
-            "Type",
-            "Scope",
-            "SpaceName",
-            "SpaceProviderId"
-          ]
-        },
-        "ControllersChangeResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/ControllersChanges"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "ControllersChangeResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ControllersChangeResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ControllersChanges": {
-          "type": "object",
-          "properties": {
-            "added": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "converted": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "demoted": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "maintained": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "promoted": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "removed": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "ControllersSpec": {
-          "type": "object",
-          "properties": {
-            "constraints": {
-              "$ref": "#/definitions/Value"
-            },
-            "num-controllers": {
-              "type": "integer"
-            },
-            "placement": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "series": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "num-controllers"
-          ]
-        },
-        "ControllersSpecs": {
-          "type": "object",
-          "properties": {
-            "specs": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ControllersSpec"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "specs"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "HAMember": {
-          "type": "object",
-          "properties": {
-            "public-address": {
-              "$ref": "#/definitions/Address"
-            },
-            "series": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "public-address",
-            "series"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "Member": {
-          "type": "object",
-          "properties": {
-            "Address": {
-              "type": "string"
-            },
-            "Id": {
-              "type": "integer"
-            },
-            "Priority": {
-              "type": "number"
-            },
-            "Tags": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "Votes": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Id",
-            "Address",
-            "Priority",
-            "Tags",
-            "Votes"
-          ]
-        },
-        "MongoUpgradeResults": {
-          "type": "object",
-          "properties": {
-            "ha-members": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/HAMember"
-              }
-            },
-            "master": {
-              "$ref": "#/definitions/HAMember"
-            },
-            "rs-members": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Member"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "rs-members",
-            "master",
-            "ha-members"
-          ]
-        },
-        "MongoVersion": {
-          "type": "object",
-          "properties": {
-            "engine": {
-              "type": "string"
-            },
-            "major": {
-              "type": "integer"
-            },
-            "minor": {
-              "type": "integer"
-            },
-            "patch": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "major",
-            "minor",
-            "patch",
-            "engine"
-          ]
-        },
-        "ResumeReplicationParams": {
-          "type": "object",
-          "properties": {
-            "members": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Member"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "members"
-          ]
-        },
-        "UpgradeMongoParams": {
-          "type": "object",
-          "properties": {
-            "target": {
-              "$ref": "#/definitions/MongoVersion"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "target"
-          ]
-        },
-        "Value": {
-          "type": "object",
-          "properties": {
-            "arch": {
-              "type": "string"
-            },
-            "container": {
-              "type": "string"
-            },
-            "cores": {
-              "type": "integer"
-            },
-            "cpu-power": {
-              "type": "integer"
-            },
-            "instance-type": {
-              "type": "string"
-            },
-            "mem": {
-              "type": "integer"
-            },
-            "root-disk": {
-              "type": "integer"
-            },
-            "spaces": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "tags": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "virt-type": {
-              "type": "string"
-            },
-            "zones": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        }
-      }
-    }
-  },
-  {
-    "Name": "HostKeyReporter",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "ReportKeys": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SSHHostKeySet"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "SSHHostKeySet": {
-          "type": "object",
-          "properties": {
-            "entity-keys": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/SSHHostKeys"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entity-keys"
-          ]
-        },
-        "SSHHostKeys": {
-          "type": "object",
-          "properties": {
-            "public-keys": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "public-keys"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "ImageManager",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "DeleteImages": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ImageFilterParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "ListImages": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ImageFilterParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ListImageResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ImageFilterParams": {
-          "type": "object",
-          "properties": {
-            "images": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ImageSpec"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "images"
-          ]
-        },
-        "ImageMetadata": {
-          "type": "object",
-          "properties": {
-            "arch": {
-              "type": "string"
-            },
-            "created": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "kind": {
-              "type": "string"
-            },
-            "series": {
-              "type": "string"
-            },
-            "url": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "kind",
-            "arch",
-            "series",
-            "url",
-            "created"
-          ]
-        },
-        "ImageSpec": {
-          "type": "object",
-          "properties": {
-            "arch": {
-              "type": "string"
-            },
-            "kind": {
-              "type": "string"
-            },
-            "series": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "kind",
-            "arch",
-            "series"
-          ]
-        },
-        "ListImageResult": {
-          "type": "object",
-          "properties": {
-            "result": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ImageMetadata"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        }
-      }
-    }
-  },
-  {
-    "Name": "ImageMetadata",
-    "Version": 3,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "UpdateFromPublishedImages": {
-          "type": "object"
-        }
-      }
-    }
-  },
-  {
-    "Name": "InstancePoller",
-    "Version": 3,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "AreManuallyProvisioned": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/BoolResults"
-            }
-          }
-        },
-        "InstanceId": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringResults"
-            }
-          }
-        },
-        "InstanceStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StatusResults"
-            }
-          }
-        },
-        "Life": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/LifeResults"
-            }
-          }
-        },
-        "ModelConfig": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ModelConfigResult"
-            }
-          }
-        },
-        "ProviderAddresses": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/MachineAddressesResults"
-            }
-          }
-        },
-        "SetInstanceStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetProviderAddresses": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetMachinesAddresses"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "Status": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StatusResults"
-            }
-          }
-        },
-        "WatchForModelConfigChanges": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        },
-        "WatchModelMachines": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Address": {
-          "type": "object",
-          "properties": {
-            "scope": {
-              "type": "string"
-            },
-            "space-name": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            },
-            "value": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "value",
-            "type",
-            "scope"
-          ]
-        },
-        "BoolResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "BoolResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/BoolResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "EntityStatusArgs": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "info": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "status",
-            "info",
-            "data"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "LifeResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "life": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "life"
-          ]
-        },
-        "LifeResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/LifeResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "MachineAddresses": {
-          "type": "object",
-          "properties": {
-            "addresses": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Address"
-              }
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "addresses"
-          ]
-        },
-        "MachineAddressesResult": {
-          "type": "object",
-          "properties": {
-            "addresses": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Address"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "addresses"
-          ]
-        },
-        "MachineAddressesResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MachineAddressesResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ModelConfigResult": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "SetMachinesAddresses": {
-          "type": "object",
-          "properties": {
-            "machine-addresses": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MachineAddresses"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "machine-addresses"
-          ]
-        },
-        "SetStatus": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityStatusArgs"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "StatusResult": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "id": {
-              "type": "string"
-            },
-            "info": {
-              "type": "string"
-            },
-            "life": {
-              "type": "string"
-            },
-            "since": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "id",
-            "life",
-            "status",
-            "info",
-            "data",
-            "since"
-          ]
-        },
-        "StatusResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StatusResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "StringResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "StringResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "StringsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "KeyManager",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "AddKeys": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModifyUserSSHKeys"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "DeleteKeys": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModifyUserSSHKeys"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "ImportKeys": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModifyUserSSHKeys"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "ListKeys": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ListSSHKeys"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ListSSHKeys": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "$ref": "#/definitions/Entities"
-            },
-            "mode": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities",
-            "mode"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "ModifyUserSSHKeys": {
-          "type": "object",
-          "properties": {
-            "ssh-keys": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "user": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "user",
-            "ssh-keys"
-          ]
-        },
-        "StringsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "StringsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringsResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "KeyUpdater",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "AuthorisedKeys": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsResults"
-            }
-          }
-        },
-        "WatchAuthorisedKeys": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "StringsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "StringsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringsResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "LeadershipService",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "BlockUntilLeadershipReleased": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ApplicationTag"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResult"
-            }
-          }
-        },
-        "ClaimLeadership": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ClaimLeadershipBulkParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ClaimLeadershipBulkResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "ApplicationTag": {
-          "type": "object",
-          "properties": {
-            "Name": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Name"
-          ]
-        },
-        "ClaimLeadershipBulkParams": {
-          "type": "object",
-          "properties": {
-            "params": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ClaimLeadershipParams"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "params"
-          ]
-        },
-        "ClaimLeadershipBulkResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ClaimLeadershipParams": {
-          "type": "object",
-          "properties": {
-            "application-tag": {
-              "type": "string"
-            },
-            "duration": {
-              "type": "number"
-            },
-            "unit-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application-tag",
-            "unit-tag",
-            "duration"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        }
-      }
-    }
-  },
-  {
-    "Name": "LifeFlag",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Life": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/LifeResults"
-            }
-          }
-        },
-        "Watch": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "LifeResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "life": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "life"
-          ]
-        },
-        "LifeResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/LifeResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "LogForwarding",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "GetLastSent": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/LogForwardingGetLastSentParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/LogForwardingGetLastSentResults"
-            }
-          }
-        },
-        "SetLastSent": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/LogForwardingSetLastSentParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "LogForwardingGetLastSentParams": {
-          "type": "object",
-          "properties": {
-            "ids": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/LogForwardingID"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "ids"
-          ]
-        },
-        "LogForwardingGetLastSentResult": {
-          "type": "object",
-          "properties": {
-            "err": {
-              "$ref": "#/definitions/Error"
-            },
-            "record-id": {
-              "type": "integer"
-            },
-            "record-timestamp": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "record-id",
-            "record-timestamp",
-            "err"
-          ]
-        },
-        "LogForwardingGetLastSentResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/LogForwardingGetLastSentResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "LogForwardingID": {
-          "type": "object",
-          "properties": {
-            "model": {
-              "type": "string"
-            },
-            "sink": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "model",
-            "sink"
-          ]
-        },
-        "LogForwardingSetLastSentParam": {
-          "type": "object",
-          "properties": {
-            "LogForwardingID": {
-              "$ref": "#/definitions/LogForwardingID"
-            },
-            "record-id": {
-              "type": "integer"
-            },
-            "record-timestamp": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "LogForwardingID",
-            "record-id",
-            "record-timestamp"
-          ]
-        },
-        "LogForwardingSetLastSentParams": {
-          "type": "object",
-          "properties": {
-            "params": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/LogForwardingSetLastSentParam"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "params"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        }
-      }
-    }
-  },
-  {
-    "Name": "Logger",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "LoggingConfig": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringResults"
-            }
-          }
-        },
-        "WatchLoggingConfig": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "StringResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "StringResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "MachineActions",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Actions": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ActionResults"
-            }
-          }
-        },
-        "BeginActions": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "FinishActions": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ActionExecutionResults"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "RunningActions": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ActionsByReceivers"
-            }
-          }
-        },
-        "WatchActionNotifications": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Action": {
-          "type": "object",
-          "properties": {
-            "name": {
-              "type": "string"
-            },
-            "parameters": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "receiver": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "receiver",
-            "name"
-          ]
-        },
-        "ActionExecutionResult": {
-          "type": "object",
-          "properties": {
-            "action-tag": {
-              "type": "string"
-            },
-            "message": {
-              "type": "string"
-            },
-            "results": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "action-tag",
-            "status"
-          ]
-        },
-        "ActionExecutionResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ActionExecutionResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "ActionResult": {
-          "type": "object",
-          "properties": {
-            "action": {
-              "$ref": "#/definitions/Action"
-            },
-            "completed": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "enqueued": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "message": {
-              "type": "string"
-            },
-            "output": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "started": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ActionResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ActionResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "ActionsByReceiver": {
-          "type": "object",
-          "properties": {
-            "actions": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ActionResult"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "receiver": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ActionsByReceivers": {
-          "type": "object",
-          "properties": {
-            "actions": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ActionsByReceiver"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "StringsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id"
-          ]
-        },
-        "StringsWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringsWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "MachineManager",
-    "Version": 5,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "AddMachines": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/AddMachines"
-            },
-            "Result": {
-              "$ref": "#/definitions/AddMachinesResults"
-            }
-          }
-        },
-        "DestroyMachine": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/DestroyMachineResults"
-            }
-          }
-        },
-        "DestroyMachineWithParams": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/DestroyMachinesParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/DestroyMachineResults"
-            }
-          }
-        },
-        "ForceDestroyMachine": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/DestroyMachineResults"
-            }
-          }
-        },
-        "GetUpgradeSeriesMessages": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/UpgradeSeriesNotificationParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsResults"
-            }
-          }
-        },
-        "InstanceTypes": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModelInstanceTypesConstraints"
-            },
-            "Result": {
-              "$ref": "#/definitions/InstanceTypesResults"
-            }
-          }
-        },
-        "UpgradeSeriesComplete": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/UpdateSeriesArg"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResult"
-            }
-          }
-        },
-        "UpgradeSeriesPrepare": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/UpdateSeriesArg"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResult"
-            }
-          }
-        },
-        "UpgradeSeriesValidate": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/UpdateSeriesArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/UpgradeSeriesUnitsResults"
-            }
-          }
-        },
-        "WatchUpgradeSeriesNotifications": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "AddMachineParams": {
-          "type": "object",
-          "properties": {
-            "addresses": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Address"
-              }
-            },
-            "constraints": {
-              "$ref": "#/definitions/Value"
-            },
-            "container-type": {
-              "type": "string"
-            },
-            "disks": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Constraints"
-              }
-            },
-            "hardware-characteristics": {
-              "$ref": "#/definitions/HardwareCharacteristics"
-            },
-            "instance-id": {
-              "type": "string"
-            },
-            "jobs": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "nonce": {
-              "type": "string"
-            },
-            "parent-id": {
-              "type": "string"
-            },
-            "placement": {
-              "$ref": "#/definitions/Placement"
-            },
-            "series": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "series",
-            "constraints",
-            "jobs",
-            "parent-id",
-            "container-type",
-            "instance-id",
-            "nonce",
-            "hardware-characteristics",
-            "addresses"
-          ]
-        },
-        "AddMachines": {
-          "type": "object",
-          "properties": {
-            "params": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/AddMachineParams"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "params"
-          ]
-        },
-        "AddMachinesResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "machine": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "machine"
-          ]
-        },
-        "AddMachinesResults": {
-          "type": "object",
-          "properties": {
-            "machines": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/AddMachinesResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "machines"
-          ]
-        },
-        "Address": {
-          "type": "object",
-          "properties": {
-            "scope": {
-              "type": "string"
-            },
-            "space-name": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            },
-            "value": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "value",
-            "type",
-            "scope"
-          ]
-        },
-        "Constraints": {
-          "type": "object",
-          "properties": {
-            "Count": {
-              "type": "integer"
-            },
-            "Pool": {
-              "type": "string"
-            },
-            "Size": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Pool",
-            "Size",
-            "Count"
-          ]
-        },
-        "DestroyMachineInfo": {
-          "type": "object",
-          "properties": {
-            "destroyed-storage": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            },
-            "destroyed-units": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            },
-            "detached-storage": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "DestroyMachineResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "info": {
-              "$ref": "#/definitions/DestroyMachineInfo"
-            }
-          },
-          "additionalProperties": false
-        },
-        "DestroyMachineResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/DestroyMachineResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "DestroyMachinesParams": {
-          "type": "object",
-          "properties": {
-            "force": {
-              "type": "boolean"
-            },
-            "keep": {
-              "type": "boolean"
-            },
-            "machine-tags": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "machine-tags"
-          ]
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "HardwareCharacteristics": {
-          "type": "object",
-          "properties": {
-            "arch": {
-              "type": "string"
-            },
-            "availability-zone": {
-              "type": "string"
-            },
-            "cpu-cores": {
-              "type": "integer"
-            },
-            "cpu-power": {
-              "type": "integer"
-            },
-            "mem": {
-              "type": "integer"
-            },
-            "root-disk": {
-              "type": "integer"
-            },
-            "tags": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "InstanceType": {
-          "type": "object",
-          "properties": {
-            "arches": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "cost": {
-              "type": "integer"
-            },
-            "cpu-cores": {
-              "type": "integer"
-            },
-            "deprecated": {
-              "type": "boolean"
-            },
-            "memory": {
-              "type": "integer"
-            },
-            "name": {
-              "type": "string"
-            },
-            "root-disk": {
-              "type": "integer"
-            },
-            "virt-type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "arches",
-            "cpu-cores",
-            "memory"
-          ]
-        },
-        "InstanceTypesResult": {
-          "type": "object",
-          "properties": {
-            "cost-currency": {
-              "type": "string"
-            },
-            "cost-divisor": {
-              "type": "integer"
-            },
-            "cost-unit": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "instance-types": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/InstanceType"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "InstanceTypesResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/InstanceTypesResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "ModelInstanceTypesConstraint": {
-          "type": "object",
-          "properties": {
-            "value": {
-              "$ref": "#/definitions/Value"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ModelInstanceTypesConstraints": {
-          "type": "object",
-          "properties": {
-            "constraints": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModelInstanceTypesConstraint"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "constraints"
-          ]
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Placement": {
-          "type": "object",
-          "properties": {
-            "directive": {
-              "type": "string"
-            },
-            "scope": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "scope",
-            "directive"
-          ]
-        },
-        "StringsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "StringsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringsResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "UpdateSeriesArg": {
-          "type": "object",
-          "properties": {
-            "force": {
-              "type": "boolean"
-            },
-            "series": {
-              "type": "string"
-            },
-            "tag": {
-              "$ref": "#/definitions/Entity"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "force",
-            "series"
-          ]
-        },
-        "UpdateSeriesArgs": {
-          "type": "object",
-          "properties": {
-            "args": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/UpdateSeriesArg"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "args"
-          ]
-        },
-        "UpgradeSeriesNotificationParam": {
-          "type": "object",
-          "properties": {
-            "entity": {
-              "$ref": "#/definitions/Entity"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entity",
-            "watcher-id"
-          ]
-        },
-        "UpgradeSeriesNotificationParams": {
-          "type": "object",
-          "properties": {
-            "params": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/UpgradeSeriesNotificationParam"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "params"
-          ]
-        },
-        "UpgradeSeriesUnitsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "unit-names": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "unit-names"
-          ]
-        },
-        "UpgradeSeriesUnitsResults": {
-          "type": "object",
-          "properties": {
-            "Results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/UpgradeSeriesUnitsResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Results"
-          ]
-        },
-        "Value": {
-          "type": "object",
-          "properties": {
-            "arch": {
-              "type": "string"
-            },
-            "container": {
-              "type": "string"
-            },
-            "cores": {
-              "type": "integer"
-            },
-            "cpu-power": {
-              "type": "integer"
-            },
-            "instance-type": {
-              "type": "string"
-            },
-            "mem": {
-              "type": "integer"
-            },
-            "root-disk": {
-              "type": "integer"
-            },
-            "spaces": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "tags": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "virt-type": {
-              "type": "string"
-            },
-            "zones": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        }
-      }
-    }
-  },
-  {
-    "Name": "MachineUndertaker",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "AllMachineRemovals": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/EntitiesResults"
-            }
-          }
-        },
-        "CompleteMachineRemovals": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            }
-          }
-        },
-        "GetMachineProviderInterfaceInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ProviderInterfaceInfoResults"
-            }
-          }
-        },
-        "WatchMachineRemovals": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "EntitiesResult": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "EntitiesResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntitiesResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ProviderInterfaceInfo": {
-          "type": "object",
-          "properties": {
-            "interface-name": {
-              "type": "string"
-            },
-            "mac-address": {
-              "type": "string"
-            },
-            "provider-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "interface-name",
-            "mac-address",
-            "provider-id"
-          ]
-        },
-        "ProviderInterfaceInfoResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "interfaces": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ProviderInterfaceInfo"
-              }
-            },
-            "machine-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "machine-tag",
-            "interfaces"
-          ]
-        },
-        "ProviderInterfaceInfoResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ProviderInterfaceInfoResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Machiner",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "APIAddresses": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringsResult"
-            }
-          }
-        },
-        "APIHostPorts": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/APIHostPortsResult"
-            }
-          }
-        },
-        "EnsureDead": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "Jobs": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/JobsResults"
-            }
-          }
-        },
-        "Life": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/LifeResults"
-            }
-          }
-        },
-        "ModelUUID": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringResult"
-            }
-          }
-        },
-        "SetMachineAddresses": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetMachinesAddresses"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetObservedNetworkConfig": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetMachineNetworkConfig"
-            }
-          }
-        },
-        "SetProviderNetworkConfig": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "UpdateStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "Watch": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        },
-        "WatchAPIHostPorts": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "APIHostPortsResult": {
-          "type": "object",
-          "properties": {
-            "servers": {
-              "type": "array",
-              "items": {
-                "type": "array",
-                "items": {
-                  "$ref": "#/definitions/HostPort"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "servers"
-          ]
-        },
-        "Address": {
-          "type": "object",
-          "properties": {
-            "scope": {
-              "type": "string"
-            },
-            "space-name": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            },
-            "value": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "value",
-            "type",
-            "scope"
-          ]
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "EntityStatusArgs": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "info": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "status",
-            "info",
-            "data"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "HostPort": {
-          "type": "object",
-          "properties": {
-            "Address": {
-              "$ref": "#/definitions/Address"
-            },
-            "port": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Address",
-            "port"
-          ]
-        },
-        "JobsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "jobs": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "jobs"
-          ]
-        },
-        "JobsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/JobsResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "LifeResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "life": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "life"
-          ]
-        },
-        "LifeResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/LifeResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "MachineAddresses": {
-          "type": "object",
-          "properties": {
-            "addresses": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Address"
-              }
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "addresses"
-          ]
-        },
-        "NetworkConfig": {
-          "type": "object",
-          "properties": {
-            "address": {
-              "type": "string"
-            },
-            "cidr": {
-              "type": "string"
-            },
-            "config-type": {
-              "type": "string"
-            },
-            "device-index": {
-              "type": "integer"
-            },
-            "disabled": {
-              "type": "boolean"
-            },
-            "dns-search-domains": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "dns-servers": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "gateway-address": {
-              "type": "string"
-            },
-            "interface-name": {
-              "type": "string"
-            },
-            "interface-type": {
-              "type": "string"
-            },
-            "is-default-gateway": {
-              "type": "boolean"
-            },
-            "mac-address": {
-              "type": "string"
-            },
-            "mtu": {
-              "type": "integer"
-            },
-            "no-auto-start": {
-              "type": "boolean"
-            },
-            "parent-interface-name": {
-              "type": "string"
-            },
-            "provider-address-id": {
-              "type": "string"
-            },
-            "provider-id": {
-              "type": "string"
-            },
-            "provider-space-id": {
-              "type": "string"
-            },
-            "provider-subnet-id": {
-              "type": "string"
-            },
-            "provider-vlan-id": {
-              "type": "string"
-            },
-            "routes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NetworkRoute"
-              }
-            },
-            "vlan-tag": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "device-index",
-            "mac-address",
-            "cidr",
-            "mtu",
-            "provider-id",
-            "provider-subnet-id",
-            "provider-space-id",
-            "provider-address-id",
-            "provider-vlan-id",
-            "vlan-tag",
-            "interface-name",
-            "parent-interface-name",
-            "interface-type",
-            "disabled"
-          ]
-        },
-        "NetworkRoute": {
-          "type": "object",
-          "properties": {
-            "destination-cidr": {
-              "type": "string"
-            },
-            "gateway-ip": {
-              "type": "string"
-            },
-            "metric": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "destination-cidr",
-            "gateway-ip",
-            "metric"
-          ]
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "SetMachineNetworkConfig": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NetworkConfig"
-              }
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "config"
-          ]
-        },
-        "SetMachinesAddresses": {
-          "type": "object",
-          "properties": {
-            "machine-addresses": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MachineAddresses"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "machine-addresses"
-          ]
-        },
-        "SetStatus": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityStatusArgs"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "StringResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "StringsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        }
-      }
-    }
-  },
-  {
-    "Name": "MeterStatus",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "GetMeterStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/MeterStatusResults"
-            }
-          }
-        },
-        "WatchMeterStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "MeterStatusResult": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "info": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "code",
-            "info"
-          ]
-        },
-        "MeterStatusResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MeterStatusResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "MetricsAdder",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "AddMetricBatches": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/MetricBatchParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "Metric": {
-          "type": "object",
-          "properties": {
-            "key": {
-              "type": "string"
-            },
-            "labels": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "time": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "value": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "key",
-            "value",
-            "time"
-          ]
-        },
-        "MetricBatch": {
-          "type": "object",
-          "properties": {
-            "charm-url": {
-              "type": "string"
-            },
-            "created": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "metrics": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Metric"
-              }
-            },
-            "uuid": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "uuid",
-            "charm-url",
-            "created",
-            "metrics"
-          ]
-        },
-        "MetricBatchParam": {
-          "type": "object",
-          "properties": {
-            "batch": {
-              "$ref": "#/definitions/MetricBatch"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "batch"
-          ]
-        },
-        "MetricBatchParams": {
-          "type": "object",
-          "properties": {
-            "batches": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MetricBatchParam"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "batches"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "MetricsDebug",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "GetMetrics": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/MetricResults"
-            }
-          }
-        },
-        "SetMeterStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/MeterStatusParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "EntityMetrics": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "metrics": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MetricResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "MeterStatusParam": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "code"
-          ]
-        },
-        "MeterStatusParams": {
-          "type": "object",
-          "properties": {
-            "statues": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MeterStatusParam"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "statues"
-          ]
-        },
-        "MetricResult": {
-          "type": "object",
-          "properties": {
-            "key": {
-              "type": "string"
-            },
-            "labels": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "time": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "unit": {
-              "type": "string"
-            },
-            "value": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "time",
-            "key",
-            "value",
-            "unit",
-            "labels"
-          ]
-        },
-        "MetricResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityMetrics"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "MetricsManager",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "AddJujuMachineMetrics": {
-          "type": "object"
-        },
-        "CleanupOldMetrics": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SendMetrics": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        }
-      }
-    }
-  },
-  {
-    "Name": "MigrationFlag",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Phase": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/PhaseResults"
-            }
-          }
-        },
-        "Watch": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "PhaseResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "phase": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "PhaseResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/PhaseResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "MigrationMaster",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Export": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/SerializedModel"
-            }
-          }
-        },
-        "MigrationStatus": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/MasterMigrationStatus"
-            }
-          }
-        },
-        "MinionReports": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/MinionReports"
-            }
-          }
-        },
-        "ModelInfo": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/MigrationModelInfo"
-            }
-          }
-        },
-        "Prechecks": {
-          "type": "object"
-        },
-        "Reap": {
-          "type": "object"
-        },
-        "SetPhase": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetMigrationPhaseArgs"
-            }
-          }
-        },
-        "SetStatusMessage": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetMigrationStatusMessageArgs"
-            }
-          }
-        },
-        "Watch": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        },
-        "WatchMinionReports": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "MasterMigrationStatus": {
-          "type": "object",
-          "properties": {
-            "migration-id": {
-              "type": "string"
-            },
-            "phase": {
-              "type": "string"
-            },
-            "phase-changed-time": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "spec": {
-              "$ref": "#/definitions/MigrationSpec"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "spec",
-            "migration-id",
-            "phase",
-            "phase-changed-time"
-          ]
-        },
-        "MigrationModelInfo": {
-          "type": "object",
-          "properties": {
-            "agent-version": {
-              "$ref": "#/definitions/Number"
-            },
-            "controller-agent-version": {
-              "$ref": "#/definitions/Number"
-            },
-            "name": {
-              "type": "string"
-            },
-            "owner-tag": {
-              "type": "string"
-            },
-            "uuid": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "uuid",
-            "name",
-            "owner-tag",
-            "agent-version",
-            "controller-agent-version"
-          ]
-        },
-        "MigrationSpec": {
-          "type": "object",
-          "properties": {
-            "model-tag": {
-              "type": "string"
-            },
-            "target-info": {
-              "$ref": "#/definitions/MigrationTargetInfo"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "model-tag",
-            "target-info"
-          ]
-        },
-        "MigrationTargetInfo": {
-          "type": "object",
-          "properties": {
-            "addrs": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "auth-tag": {
-              "type": "string"
-            },
-            "ca-cert": {
-              "type": "string"
-            },
-            "controller-tag": {
-              "type": "string"
-            },
-            "macaroons": {
-              "type": "string"
-            },
-            "password": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "controller-tag",
-            "addrs",
-            "ca-cert",
-            "auth-tag"
-          ]
-        },
-        "MinionReports": {
-          "type": "object",
-          "properties": {
-            "failed": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "migration-id": {
-              "type": "string"
-            },
-            "phase": {
-              "type": "string"
-            },
-            "success-count": {
-              "type": "integer"
-            },
-            "unknown-count": {
-              "type": "integer"
-            },
-            "unknown-sample": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "migration-id",
-            "phase",
-            "success-count",
-            "unknown-count",
-            "unknown-sample",
-            "failed"
-          ]
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "Number": {
-          "type": "object",
-          "properties": {
-            "Build": {
-              "type": "integer"
-            },
-            "Major": {
-              "type": "integer"
-            },
-            "Minor": {
-              "type": "integer"
-            },
-            "Patch": {
-              "type": "integer"
-            },
-            "Tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Major",
-            "Minor",
-            "Tag",
-            "Patch",
-            "Build"
-          ]
-        },
-        "SerializedModel": {
-          "type": "object",
-          "properties": {
-            "bytes": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "charms": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "resources": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/SerializedModelResource"
-              }
-            },
-            "tools": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/SerializedModelTools"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "bytes",
-            "charms",
-            "tools",
-            "resources"
-          ]
-        },
-        "SerializedModelResource": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "type": "string"
-            },
-            "application-revision": {
-              "$ref": "#/definitions/SerializedModelResourceRevision"
-            },
-            "charmstore-revision": {
-              "$ref": "#/definitions/SerializedModelResourceRevision"
-            },
-            "name": {
-              "type": "string"
-            },
-            "unit-revisions": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/SerializedModelResourceRevision"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application",
-            "name",
-            "application-revision",
-            "charmstore-revision",
-            "unit-revisions"
-          ]
-        },
-        "SerializedModelResourceRevision": {
-          "type": "object",
-          "properties": {
-            "description": {
-              "type": "string"
-            },
-            "fingerprint": {
-              "type": "string"
-            },
-            "origin": {
-              "type": "string"
-            },
-            "path": {
-              "type": "string"
-            },
-            "revision": {
-              "type": "integer"
-            },
-            "size": {
-              "type": "integer"
-            },
-            "timestamp": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "type": {
-              "type": "string"
-            },
-            "username": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "revision",
-            "type",
-            "path",
-            "description",
-            "origin",
-            "fingerprint",
-            "size",
-            "timestamp"
-          ]
-        },
-        "SerializedModelTools": {
-          "type": "object",
-          "properties": {
-            "uri": {
-              "type": "string"
-            },
-            "version": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "version",
-            "uri"
-          ]
-        },
-        "SetMigrationPhaseArgs": {
-          "type": "object",
-          "properties": {
-            "phase": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "phase"
-          ]
-        },
-        "SetMigrationStatusMessageArgs": {
-          "type": "object",
-          "properties": {
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "MigrationMinion",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Report": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/MinionReport"
-            }
-          }
-        },
-        "Watch": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "MinionReport": {
-          "type": "object",
-          "properties": {
-            "migration-id": {
-              "type": "string"
-            },
-            "phase": {
-              "type": "string"
-            },
-            "success": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "migration-id",
-            "phase",
-            "success"
-          ]
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "MigrationStatusWatcher",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Next": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/MigrationStatus"
-            }
-          }
-        },
-        "Stop": {
-          "type": "object"
-        }
-      },
-      "definitions": {
-        "MigrationStatus": {
-          "type": "object",
-          "properties": {
-            "attempt": {
-              "type": "integer"
-            },
-            "migration-id": {
-              "type": "string"
-            },
-            "phase": {
-              "type": "string"
-            },
-            "source-api-addrs": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "source-ca-cert": {
-              "type": "string"
-            },
-            "target-api-addrs": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "target-ca-cert": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "migration-id",
-            "attempt",
-            "phase",
-            "source-api-addrs",
-            "source-ca-cert",
-            "target-api-addrs",
-            "target-ca-cert"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "MigrationTarget",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Abort": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModelArgs"
-            }
-          }
-        },
-        "Activate": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModelArgs"
-            }
-          }
-        },
-        "AdoptResources": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/AdoptResourcesArgs"
-            }
-          }
-        },
-        "CACert": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/BytesResult"
-            }
-          }
-        },
-        "CheckMachines": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModelArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "Import": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SerializedModel"
-            }
-          }
-        },
-        "LatestLogTime": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModelArgs"
-            },
-            "Result": {
-              "type": "string",
-              "format": "date-time"
-            }
-          }
-        },
-        "Prechecks": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/MigrationModelInfo"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "AdoptResourcesArgs": {
-          "type": "object",
-          "properties": {
-            "model-tag": {
-              "type": "string"
-            },
-            "source-controller-version": {
-              "$ref": "#/definitions/Number"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "model-tag",
-            "source-controller-version"
-          ]
-        },
-        "BytesResult": {
-          "type": "object",
-          "properties": {
-            "result": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "MigrationModelInfo": {
-          "type": "object",
-          "properties": {
-            "agent-version": {
-              "$ref": "#/definitions/Number"
-            },
-            "controller-agent-version": {
-              "$ref": "#/definitions/Number"
-            },
-            "name": {
-              "type": "string"
-            },
-            "owner-tag": {
-              "type": "string"
-            },
-            "uuid": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "uuid",
-            "name",
-            "owner-tag",
-            "agent-version",
-            "controller-agent-version"
-          ]
-        },
-        "ModelArgs": {
-          "type": "object",
-          "properties": {
-            "model-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "model-tag"
-          ]
-        },
-        "Number": {
-          "type": "object",
-          "properties": {
-            "Build": {
-              "type": "integer"
-            },
-            "Major": {
-              "type": "integer"
-            },
-            "Minor": {
-              "type": "integer"
-            },
-            "Patch": {
-              "type": "integer"
-            },
-            "Tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Major",
-            "Minor",
-            "Tag",
-            "Patch",
-            "Build"
-          ]
-        },
-        "SerializedModel": {
-          "type": "object",
-          "properties": {
-            "bytes": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "charms": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "resources": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/SerializedModelResource"
-              }
-            },
-            "tools": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/SerializedModelTools"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "bytes",
-            "charms",
-            "tools",
-            "resources"
-          ]
-        },
-        "SerializedModelResource": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "type": "string"
-            },
-            "application-revision": {
-              "$ref": "#/definitions/SerializedModelResourceRevision"
-            },
-            "charmstore-revision": {
-              "$ref": "#/definitions/SerializedModelResourceRevision"
-            },
-            "name": {
-              "type": "string"
-            },
-            "unit-revisions": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/SerializedModelResourceRevision"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application",
-            "name",
-            "application-revision",
-            "charmstore-revision",
-            "unit-revisions"
-          ]
-        },
-        "SerializedModelResourceRevision": {
-          "type": "object",
-          "properties": {
-            "description": {
-              "type": "string"
-            },
-            "fingerprint": {
-              "type": "string"
-            },
-            "origin": {
-              "type": "string"
-            },
-            "path": {
-              "type": "string"
-            },
-            "revision": {
-              "type": "integer"
-            },
-            "size": {
-              "type": "integer"
-            },
-            "timestamp": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "type": {
-              "type": "string"
-            },
-            "username": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "revision",
-            "type",
-            "path",
-            "description",
-            "origin",
-            "fingerprint",
-            "size",
-            "timestamp"
-          ]
-        },
-        "SerializedModelTools": {
-          "type": "object",
-          "properties": {
-            "uri": {
-              "type": "string"
-            },
-            "version": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "version",
-            "uri"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "ModelConfig",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "ModelGet": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ModelConfigResults"
-            }
-          }
-        },
-        "ModelSet": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModelSet"
-            }
-          }
-        },
-        "ModelUnset": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModelUnset"
-            }
-          }
-        },
-        "SLALevel": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringResult"
-            }
-          }
-        },
-        "Sequences": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ModelSequencesResult"
-            }
-          }
-        },
-        "SetSLALevel": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModelSLA"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "ConfigValue": {
-          "type": "object",
-          "properties": {
-            "source": {
-              "type": "string"
-            },
-            "value": {
-              "type": "object",
-              "additionalProperties": true
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "value",
-            "source"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "ModelConfigResults": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/ConfigValue"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "ModelSLA": {
-          "type": "object",
-          "properties": {
-            "ModelSLAInfo": {
-              "$ref": "#/definitions/ModelSLAInfo"
-            },
-            "creds": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "ModelSLAInfo",
-            "creds"
-          ]
-        },
-        "ModelSLAInfo": {
-          "type": "object",
-          "properties": {
-            "level": {
-              "type": "string"
-            },
-            "owner": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "level",
-            "owner"
-          ]
-        },
-        "ModelSequencesResult": {
-          "type": "object",
-          "properties": {
-            "sequences": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "integer"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "sequences"
-          ]
-        },
-        "ModelSet": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "ModelUnset": {
-          "type": "object",
-          "properties": {
-            "keys": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "keys"
-          ]
-        },
-        "StringResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "ModelManager",
-    "Version": 5,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "ChangeModelCredential": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ChangeModelCredentialsParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "CreateModel": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModelCreateArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ModelInfo"
-            }
-          }
-        },
-        "DestroyModels": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/DestroyModelsParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "DumpModels": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/DumpModelRequest"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringResults"
-            }
-          }
-        },
-        "DumpModelsDB": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/MapResults"
-            }
-          }
-        },
-        "ListModelSummaries": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModelSummariesRequest"
-            },
-            "Result": {
-              "$ref": "#/definitions/ModelSummaryResults"
-            }
-          }
-        },
-        "ListModels": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entity"
-            },
-            "Result": {
-              "$ref": "#/definitions/UserModelList"
-            }
-          }
-        },
-        "ModelDefaults": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ModelDefaultsResult"
-            }
-          }
-        },
-        "ModelInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ModelInfoResults"
-            }
-          }
-        },
-        "ModelStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ModelStatusResults"
-            }
-          }
-        },
-        "ModifyModelAccess": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ModifyModelAccessRequest"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetModelDefaults": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetModelDefaults"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "UnsetModelDefaults": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/UnsetModelDefaults"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "ChangeModelCredentialParams": {
-          "type": "object",
-          "properties": {
-            "credential-tag": {
-              "type": "string"
-            },
-            "model-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "model-tag",
-            "credential-tag"
-          ]
-        },
-        "ChangeModelCredentialsParams": {
-          "type": "object",
-          "properties": {
-            "model-credentials": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ChangeModelCredentialParams"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "model-credentials"
-          ]
-        },
-        "DestroyModelParams": {
-          "type": "object",
-          "properties": {
-            "destroy-storage": {
-              "type": "boolean"
-            },
-            "model-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "model-tag"
-          ]
-        },
-        "DestroyModelsParams": {
-          "type": "object",
-          "properties": {
-            "models": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/DestroyModelParams"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "models"
-          ]
-        },
-        "DumpModelRequest": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            },
-            "simplified": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities",
-            "simplified"
-          ]
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "EntityStatus": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "info": {
-              "type": "string"
-            },
-            "since": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "status",
-            "info",
-            "since"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "MachineHardware": {
-          "type": "object",
-          "properties": {
-            "arch": {
-              "type": "string"
-            },
-            "availability-zone": {
-              "type": "string"
-            },
-            "cores": {
-              "type": "integer"
-            },
-            "cpu-power": {
-              "type": "integer"
-            },
-            "mem": {
-              "type": "integer"
-            },
-            "root-disk": {
-              "type": "integer"
-            },
-            "tags": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "MapResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "MapResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MapResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Model": {
-          "type": "object",
-          "properties": {
-            "name": {
-              "type": "string"
-            },
-            "owner-tag": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            },
-            "uuid": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "uuid",
-            "type",
-            "owner-tag"
-          ]
-        },
-        "ModelCreateArgs": {
-          "type": "object",
-          "properties": {
-            "cloud-tag": {
-              "type": "string"
-            },
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "credential": {
-              "type": "string"
-            },
-            "name": {
-              "type": "string"
-            },
-            "owner-tag": {
-              "type": "string"
-            },
-            "region": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "owner-tag"
-          ]
-        },
-        "ModelDefaultValues": {
-          "type": "object",
-          "properties": {
-            "cloud-region": {
-              "type": "string"
-            },
-            "cloud-tag": {
-              "type": "string"
-            },
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "ModelDefaults": {
-          "type": "object",
-          "properties": {
-            "controller": {
-              "type": "object",
-              "additionalProperties": true
-            },
-            "default": {
-              "type": "object",
-              "additionalProperties": true
-            },
-            "regions": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RegionDefaults"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "ModelDefaultsResult": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/ModelDefaults"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "ModelEntityCount": {
-          "type": "object",
-          "properties": {
-            "count": {
-              "type": "integer"
-            },
-            "entity": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entity",
-            "count"
-          ]
-        },
-        "ModelFilesystemInfo": {
-          "type": "object",
-          "properties": {
-            "detachable": {
-              "type": "boolean"
-            },
-            "id": {
-              "type": "string"
-            },
-            "message": {
-              "type": "string"
-            },
-            "provider-id": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "id"
-          ]
-        },
-        "ModelInfo": {
-          "type": "object",
-          "properties": {
-            "agent-version": {
-              "$ref": "#/definitions/Number"
-            },
-            "cloud-credential-tag": {
-              "type": "string"
-            },
-            "cloud-region": {
-              "type": "string"
-            },
-            "cloud-tag": {
-              "type": "string"
-            },
-            "controller-uuid": {
-              "type": "string"
-            },
-            "default-series": {
-              "type": "string"
-            },
-            "life": {
-              "type": "string"
-            },
-            "machines": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModelMachineInfo"
-              }
-            },
-            "migration": {
-              "$ref": "#/definitions/ModelMigrationStatus"
-            },
-            "name": {
-              "type": "string"
-            },
-            "owner-tag": {
-              "type": "string"
-            },
-            "provider-type": {
-              "type": "string"
-            },
-            "sla": {
-              "$ref": "#/definitions/ModelSLAInfo"
-            },
-            "status": {
-              "$ref": "#/definitions/EntityStatus"
-            },
-            "type": {
-              "type": "string"
-            },
-            "users": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModelUserInfo"
-              }
-            },
-            "uuid": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "type",
-            "uuid",
-            "controller-uuid",
-            "cloud-tag",
-            "owner-tag",
-            "life",
-            "users",
-            "machines",
-            "sla",
-            "agent-version"
-          ]
-        },
-        "ModelInfoResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/ModelInfo"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ModelInfoResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModelInfoResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ModelMachineInfo": {
-          "type": "object",
-          "properties": {
-            "hardware": {
-              "$ref": "#/definitions/MachineHardware"
-            },
-            "has-vote": {
-              "type": "boolean"
-            },
-            "id": {
-              "type": "string"
-            },
-            "instance-id": {
-              "type": "string"
-            },
-            "message": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "wants-vote": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "id"
-          ]
-        },
-        "ModelMigrationStatus": {
-          "type": "object",
-          "properties": {
-            "end": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "start": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "status",
-            "start"
-          ]
-        },
-        "ModelSLAInfo": {
-          "type": "object",
-          "properties": {
-            "level": {
-              "type": "string"
-            },
-            "owner": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "level",
-            "owner"
-          ]
-        },
-        "ModelStatus": {
-          "type": "object",
-          "properties": {
-            "application-count": {
-              "type": "integer"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "filesystems": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModelFilesystemInfo"
-              }
-            },
-            "hosted-machine-count": {
-              "type": "integer"
-            },
-            "life": {
-              "type": "string"
-            },
-            "machines": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModelMachineInfo"
-              }
-            },
-            "model-tag": {
-              "type": "string"
-            },
-            "owner-tag": {
-              "type": "string"
-            },
-            "volumes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModelVolumeInfo"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "model-tag",
-            "life",
-            "hosted-machine-count",
-            "application-count",
-            "owner-tag"
-          ]
-        },
-        "ModelStatusResults": {
-          "type": "object",
-          "properties": {
-            "models": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModelStatus"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "models"
-          ]
-        },
-        "ModelSummariesRequest": {
-          "type": "object",
-          "properties": {
-            "all": {
-              "type": "boolean"
-            },
-            "user-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "user-tag"
-          ]
-        },
-        "ModelSummary": {
-          "type": "object",
-          "properties": {
-            "agent-version": {
-              "$ref": "#/definitions/Number"
-            },
-            "cloud-credential-tag": {
-              "type": "string"
-            },
-            "cloud-region": {
-              "type": "string"
-            },
-            "cloud-tag": {
-              "type": "string"
-            },
-            "controller-uuid": {
-              "type": "string"
-            },
-            "counts": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModelEntityCount"
-              }
-            },
-            "default-series": {
-              "type": "string"
-            },
-            "last-connection": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "life": {
-              "type": "string"
-            },
-            "migration": {
-              "$ref": "#/definitions/ModelMigrationStatus"
-            },
-            "name": {
-              "type": "string"
-            },
-            "owner-tag": {
-              "type": "string"
-            },
-            "provider-type": {
-              "type": "string"
-            },
-            "sla": {
-              "$ref": "#/definitions/ModelSLAInfo"
-            },
-            "status": {
-              "$ref": "#/definitions/EntityStatus"
-            },
-            "type": {
-              "type": "string"
-            },
-            "user-access": {
-              "type": "string"
-            },
-            "uuid": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "uuid",
-            "type",
-            "controller-uuid",
-            "cloud-tag",
-            "owner-tag",
-            "life",
-            "user-access",
-            "last-connection",
-            "counts",
-            "sla",
-            "agent-version"
-          ]
-        },
-        "ModelSummaryResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/ModelSummary"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ModelSummaryResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModelSummaryResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ModelUnsetKeys": {
-          "type": "object",
-          "properties": {
-            "cloud-region": {
-              "type": "string"
-            },
-            "cloud-tag": {
-              "type": "string"
-            },
-            "keys": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "keys"
-          ]
-        },
-        "ModelUserInfo": {
-          "type": "object",
-          "properties": {
-            "access": {
-              "type": "string"
-            },
-            "display-name": {
-              "type": "string"
-            },
-            "last-connection": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "user": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "user",
-            "display-name",
-            "last-connection",
-            "access"
-          ]
-        },
-        "ModelVolumeInfo": {
-          "type": "object",
-          "properties": {
-            "detachable": {
-              "type": "boolean"
-            },
-            "id": {
-              "type": "string"
-            },
-            "message": {
-              "type": "string"
-            },
-            "provider-id": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "id"
-          ]
-        },
-        "ModifyModelAccess": {
-          "type": "object",
-          "properties": {
-            "access": {
-              "type": "string"
-            },
-            "action": {
-              "type": "string"
-            },
-            "model-tag": {
-              "type": "string"
-            },
-            "user-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "user-tag",
-            "action",
-            "access",
-            "model-tag"
-          ]
-        },
-        "ModifyModelAccessRequest": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModifyModelAccess"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "changes"
-          ]
-        },
-        "Number": {
-          "type": "object",
-          "properties": {
-            "Build": {
-              "type": "integer"
-            },
-            "Major": {
-              "type": "integer"
-            },
-            "Minor": {
-              "type": "integer"
-            },
-            "Patch": {
-              "type": "integer"
-            },
-            "Tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Major",
-            "Minor",
-            "Tag",
-            "Patch",
-            "Build"
-          ]
-        },
-        "RegionDefaults": {
-          "type": "object",
-          "properties": {
-            "region-name": {
-              "type": "string"
-            },
-            "value": {
-              "type": "object",
-              "additionalProperties": true
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "region-name",
-            "value"
-          ]
-        },
-        "SetModelDefaults": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModelDefaultValues"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "StringResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "StringResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "UnsetModelDefaults": {
-          "type": "object",
-          "properties": {
-            "keys": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ModelUnsetKeys"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "keys"
-          ]
-        },
-        "UserModel": {
-          "type": "object",
-          "properties": {
-            "last-connection": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "model": {
-              "$ref": "#/definitions/Model"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "model",
-            "last-connection"
-          ]
-        },
-        "UserModelList": {
-          "type": "object",
-          "properties": {
-            "user-models": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/UserModel"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "user-models"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "ModelUpgrader",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "ModelEnvironVersion": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/IntResults"
-            }
-          }
-        },
-        "ModelTargetEnvironVersion": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/IntResults"
-            }
-          }
-        },
-        "SetModelEnvironVersion": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetModelEnvironVersions"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetModelStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "WatchModelEnvironVersion": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "EntityStatusArgs": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "info": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "status",
-            "info",
-            "data"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "IntResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "IntResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/IntResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "SetModelEnvironVersion": {
-          "type": "object",
-          "properties": {
-            "model-tag": {
-              "type": "string"
-            },
-            "version": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "model-tag",
-            "version"
-          ]
-        },
-        "SetModelEnvironVersions": {
-          "type": "object",
-          "properties": {
-            "models": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/SetModelEnvironVersion"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "SetStatus": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityStatusArgs"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "NotifyWatcher",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Next": {
-          "type": "object"
-        },
-        "Stop": {
-          "type": "object"
-        }
-      }
-    }
-  },
-  {
-    "Name": "OfferStatusWatcher",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Next": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/OfferStatusWatchResult"
-            }
-          }
-        },
-        "Stop": {
-          "type": "object"
-        }
-      },
-      "definitions": {
-        "EntityStatus": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "info": {
-              "type": "string"
-            },
-            "since": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "status",
-            "info",
-            "since"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "OfferStatusChange": {
-          "type": "object",
-          "properties": {
-            "offer-name": {
-              "type": "string"
-            },
-            "status": {
-              "$ref": "#/definitions/EntityStatus"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "offer-name",
-            "status"
-          ]
-        },
-        "OfferStatusWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/OfferStatusChange"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id",
-            "changes"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Payloads",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "List": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/PayloadListArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/PayloadListResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Payload": {
-          "type": "object",
-          "properties": {
-            "class": {
-              "type": "string"
-            },
-            "id": {
-              "type": "string"
-            },
-            "labels": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "machine": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            },
-            "unit": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "class",
-            "type",
-            "id",
-            "status",
-            "labels",
-            "unit",
-            "machine"
-          ]
-        },
-        "PayloadListArgs": {
-          "type": "object",
-          "properties": {
-            "patterns": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "patterns"
-          ]
-        },
-        "PayloadListResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Payload"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "PayloadsHookContext",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "List": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/PayloadResults"
-            }
-          }
-        },
-        "LookUp": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/LookUpPayloadArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/PayloadResults"
-            }
-          }
-        },
-        "SetStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetPayloadStatusArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/PayloadResults"
-            }
-          }
-        },
-        "Track": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/TrackPayloadArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/PayloadResults"
-            }
-          }
-        },
-        "Untrack": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/PayloadResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "LookUpPayloadArg": {
-          "type": "object",
-          "properties": {
-            "id": {
-              "type": "string"
-            },
-            "name": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "id"
-          ]
-        },
-        "LookUpPayloadArgs": {
-          "type": "object",
-          "properties": {
-            "args": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/LookUpPayloadArg"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "args"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "Payload": {
-          "type": "object",
-          "properties": {
-            "class": {
-              "type": "string"
-            },
-            "id": {
-              "type": "string"
-            },
-            "labels": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "machine": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            },
-            "unit": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "class",
-            "type",
-            "id",
-            "status",
-            "labels",
-            "unit",
-            "machine"
-          ]
-        },
-        "PayloadResult": {
-          "type": "object",
-          "properties": {
-            "Entity": {
-              "$ref": "#/definitions/Entity"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "not-found": {
-              "type": "boolean"
-            },
-            "payload": {
-              "$ref": "#/definitions/Payload"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Entity",
-            "payload",
-            "not-found"
-          ]
-        },
-        "PayloadResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/PayloadResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "SetPayloadStatusArg": {
-          "type": "object",
-          "properties": {
-            "Entity": {
-              "$ref": "#/definitions/Entity"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Entity",
-            "status"
-          ]
-        },
-        "SetPayloadStatusArgs": {
-          "type": "object",
-          "properties": {
-            "args": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/SetPayloadStatusArg"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "args"
-          ]
-        },
-        "TrackPayloadArgs": {
-          "type": "object",
-          "properties": {
-            "payloads": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Payload"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "payloads"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Pinger",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Ping": {
-          "type": "object"
-        },
-        "Stop": {
-          "type": "object"
-        }
-      }
-    }
-  },
-  {
-    "Name": "Provisioner",
-    "Version": 7,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "APIAddresses": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringsResult"
-            }
-          }
-        },
-        "APIHostPorts": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/APIHostPortsResult"
-            }
-          }
-        },
-        "AvailabilityZone": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringResults"
-            }
-          }
-        },
-        "CACert": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/BytesResult"
-            }
-          }
-        },
-        "CharmProfileChangeInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ProfileChangeResults"
-            }
-          }
-        },
-        "Constraints": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ConstraintsResults"
-            }
-          }
-        },
-        "ContainerConfig": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ContainerConfig"
-            }
-          }
-        },
-        "ContainerManagerConfig": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ContainerManagerConfigParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ContainerManagerConfig"
-            }
-          }
-        },
-        "ControllerAPIInfoForModels": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ControllerAPIInfoResults"
-            }
-          }
-        },
-        "ControllerConfig": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ControllerConfigResult"
-            }
-          }
-        },
-        "DistributionGroup": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/DistributionGroupResults"
-            }
-          }
-        },
-        "DistributionGroupByMachineId": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsResults"
-            }
-          }
-        },
-        "EnsureDead": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "FindTools": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/FindToolsParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/FindToolsResult"
-            }
-          }
-        },
-        "GetContainerInterfaceInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/MachineNetworkConfigResults"
-            }
-          }
-        },
-        "GetContainerProfileInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ContainerProfileResults"
-            }
-          }
-        },
-        "HostChangesForContainers": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/HostNetworkChangeResults"
-            }
-          }
-        },
-        "InstanceId": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringResults"
-            }
-          }
-        },
-        "InstanceStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StatusResults"
-            }
-          }
-        },
-        "KeepInstance": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/BoolResults"
-            }
-          }
-        },
-        "Life": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/LifeResults"
-            }
-          }
-        },
-        "MachinesWithTransientErrors": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StatusResults"
-            }
-          }
-        },
-        "MarkMachinesForRemoval": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "ModelConfig": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ModelConfigResult"
-            }
-          }
-        },
-        "ModelUUID": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringResult"
-            }
-          }
-        },
-        "PrepareContainerInterfaceInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/MachineNetworkConfigResults"
-            }
-          }
-        },
-        "ProvisioningInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ProvisioningInfoResults"
-            }
-          }
-        },
-        "ReleaseContainerAddresses": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "Remove": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "RemoveUpgradeCharmProfileData": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "Series": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringResults"
-            }
-          }
-        },
-        "SetCharmProfiles": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetProfileArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetHostMachineNetworkConfig": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetMachineNetworkConfig"
-            }
-          }
-        },
-        "SetInstanceInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/InstancesInfo"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetInstanceStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetObservedNetworkConfig": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetMachineNetworkConfig"
-            }
-          }
-        },
-        "SetPasswords": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/EntityPasswords"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetProviderNetworkConfig": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetSupportedContainers": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/MachineContainersParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetUpgradeCharmProfileComplete": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetProfileUpgradeCompleteArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "StateAddresses": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringsResult"
-            }
-          }
-        },
-        "Status": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StatusResults"
-            }
-          }
-        },
-        "Tools": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ToolsResults"
-            }
-          }
-        },
-        "UpdateStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "WatchAPIHostPorts": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        },
-        "WatchAllContainers": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/WatchContainers"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResults"
-            }
-          }
-        },
-        "WatchContainers": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/WatchContainers"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResults"
-            }
-          }
-        },
-        "WatchContainersCharmProfiles": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/WatchContainers"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResults"
-            }
-          }
-        },
-        "WatchForModelConfigChanges": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        },
-        "WatchMachineErrorRetry": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        },
-        "WatchModelMachines": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResult"
-            }
-          }
-        },
-        "WatchModelMachinesCharmProfiles": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "APIHostPortsResult": {
-          "type": "object",
-          "properties": {
-            "servers": {
-              "type": "array",
-              "items": {
-                "type": "array",
-                "items": {
-                  "$ref": "#/definitions/HostPort"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "servers"
-          ]
-        },
-        "Address": {
-          "type": "object",
-          "properties": {
-            "scope": {
-              "type": "string"
-            },
-            "space-name": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            },
-            "value": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "value",
-            "type",
-            "scope"
-          ]
-        },
-        "Binary": {
-          "type": "object",
-          "properties": {
-            "Arch": {
-              "type": "string"
-            },
-            "Number": {
-              "$ref": "#/definitions/Number"
-            },
-            "Series": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Number",
-            "Series",
-            "Arch"
-          ]
-        },
-        "BoolResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "BoolResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/BoolResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "BytesResult": {
-          "type": "object",
-          "properties": {
-            "result": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "CharmLXDProfile": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "description": {
-              "type": "string"
-            },
-            "devices": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "patternProperties": {
-                    ".*": {
-                      "type": "string"
-                    }
-                  }
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config",
-            "description",
-            "devices"
-          ]
-        },
-        "CloudImageMetadata": {
-          "type": "object",
-          "properties": {
-            "arch": {
-              "type": "string"
-            },
-            "image-id": {
-              "type": "string"
-            },
-            "priority": {
-              "type": "integer"
-            },
-            "region": {
-              "type": "string"
-            },
-            "root-storage-size": {
-              "type": "integer"
-            },
-            "root-storage-type": {
-              "type": "string"
-            },
-            "series": {
-              "type": "string"
-            },
-            "source": {
-              "type": "string"
-            },
-            "stream": {
-              "type": "string"
-            },
-            "version": {
-              "type": "string"
-            },
-            "virt-type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "image-id",
-            "region",
-            "version",
-            "series",
-            "arch",
-            "source",
-            "priority"
-          ]
-        },
-        "ConstraintsResult": {
-          "type": "object",
-          "properties": {
-            "constraints": {
-              "$ref": "#/definitions/Value"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "constraints"
-          ]
-        },
-        "ConstraintsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ConstraintsResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ContainerConfig": {
-          "type": "object",
-          "properties": {
-            "UpdateBehavior": {
-              "$ref": "#/definitions/UpdateBehavior"
-            },
-            "apt-mirror": {
-              "type": "string"
-            },
-            "apt-proxy": {
-              "$ref": "#/definitions/Settings"
-            },
-            "authorized-keys": {
-              "type": "string"
-            },
-            "cloudinit-userdata": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "container-inherit-properties": {
-              "type": "string"
-            },
-            "juju-proxy": {
-              "$ref": "#/definitions/Settings"
-            },
-            "legacy-proxy": {
-              "$ref": "#/definitions/Settings"
-            },
-            "provider-type": {
-              "type": "string"
-            },
-            "snap-proxy": {
-              "$ref": "#/definitions/Settings"
-            },
-            "ssl-hostname-verification": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "provider-type",
-            "authorized-keys",
-            "ssl-hostname-verification",
-            "legacy-proxy",
-            "juju-proxy",
-            "apt-proxy",
-            "snap-proxy",
-            "apt-mirror",
-            "UpdateBehavior"
-          ]
-        },
-        "ContainerLXDProfile": {
-          "type": "object",
-          "properties": {
-            "name": {
-              "type": "string"
-            },
-            "profile": {
-              "$ref": "#/definitions/CharmLXDProfile"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "profile",
-            "name"
-          ]
-        },
-        "ContainerManagerConfig": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "ContainerManagerConfigParams": {
-          "type": "object",
-          "properties": {
-            "type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "type"
-          ]
-        },
-        "ContainerProfileResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "lxd-profiles": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ContainerLXDProfile"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "ContainerProfileResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ContainerProfileResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ControllerAPIInfoResult": {
-          "type": "object",
-          "properties": {
-            "addresses": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "cacert": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "addresses",
-            "cacert"
-          ]
-        },
-        "ControllerAPIInfoResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ControllerAPIInfoResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ControllerConfigResult": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "DeviceBridgeInfo": {
-          "type": "object",
-          "properties": {
-            "bridge-name": {
-              "type": "string"
-            },
-            "host-device-name": {
-              "type": "string"
-            },
-            "mac-address": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "host-device-name",
-            "bridge-name",
-            "mac-address"
-          ]
-        },
-        "DistributionGroupResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "DistributionGroupResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/DistributionGroupResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "EntityPassword": {
-          "type": "object",
-          "properties": {
-            "password": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "password"
-          ]
-        },
-        "EntityPasswords": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityPassword"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "changes"
-          ]
-        },
-        "EntityStatusArgs": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "info": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "status",
-            "info",
-            "data"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "FindToolsParams": {
-          "type": "object",
-          "properties": {
-            "agentstream": {
-              "type": "string"
-            },
-            "arch": {
-              "type": "string"
-            },
-            "major": {
-              "type": "integer"
-            },
-            "minor": {
-              "type": "integer"
-            },
-            "number": {
-              "$ref": "#/definitions/Number"
-            },
-            "series": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "number",
-            "major",
-            "minor",
-            "arch",
-            "series",
-            "agentstream"
-          ]
-        },
-        "FindToolsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "list": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Tools"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "list"
-          ]
-        },
-        "HardwareCharacteristics": {
-          "type": "object",
-          "properties": {
-            "arch": {
-              "type": "string"
-            },
-            "availability-zone": {
-              "type": "string"
-            },
-            "cpu-cores": {
-              "type": "integer"
-            },
-            "cpu-power": {
-              "type": "integer"
-            },
-            "mem": {
-              "type": "integer"
-            },
-            "root-disk": {
-              "type": "integer"
-            },
-            "tags": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "HostNetworkChange": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "new-bridges": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/DeviceBridgeInfo"
-              }
-            },
-            "reconfigure-delay": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "new-bridges",
-            "reconfigure-delay"
-          ]
-        },
-        "HostNetworkChangeResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/HostNetworkChange"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "HostPort": {
-          "type": "object",
-          "properties": {
-            "Address": {
-              "$ref": "#/definitions/Address"
-            },
-            "port": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Address",
-            "port"
-          ]
-        },
-        "InstanceInfo": {
-          "type": "object",
-          "properties": {
-            "characteristics": {
-              "$ref": "#/definitions/HardwareCharacteristics"
-            },
-            "charm-profiles": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "instance-id": {
-              "type": "string"
-            },
-            "network-config": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NetworkConfig"
-              }
-            },
-            "nonce": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            },
-            "volume-attachments": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/VolumeAttachmentInfo"
-                }
-              }
-            },
-            "volumes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Volume"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "instance-id",
-            "nonce",
-            "characteristics",
-            "volumes",
-            "volume-attachments",
-            "network-config",
-            "charm-profiles"
-          ]
-        },
-        "InstancesInfo": {
-          "type": "object",
-          "properties": {
-            "machines": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/InstanceInfo"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "machines"
-          ]
-        },
-        "LifeResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "life": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "life"
-          ]
-        },
-        "LifeResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/LifeResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "MachineContainers": {
-          "type": "object",
-          "properties": {
-            "container-types": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "machine-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "machine-tag",
-            "container-types"
-          ]
-        },
-        "MachineContainersParams": {
-          "type": "object",
-          "properties": {
-            "params": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MachineContainers"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "params"
-          ]
-        },
-        "MachineNetworkConfigResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "info": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NetworkConfig"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "info"
-          ]
-        },
-        "MachineNetworkConfigResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MachineNetworkConfigResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ModelConfigResult": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "NetworkConfig": {
-          "type": "object",
-          "properties": {
-            "address": {
-              "type": "string"
-            },
-            "cidr": {
-              "type": "string"
-            },
-            "config-type": {
-              "type": "string"
-            },
-            "device-index": {
-              "type": "integer"
-            },
-            "disabled": {
-              "type": "boolean"
-            },
-            "dns-search-domains": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "dns-servers": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "gateway-address": {
-              "type": "string"
-            },
-            "interface-name": {
-              "type": "string"
-            },
-            "interface-type": {
-              "type": "string"
-            },
-            "is-default-gateway": {
-              "type": "boolean"
-            },
-            "mac-address": {
-              "type": "string"
-            },
-            "mtu": {
-              "type": "integer"
-            },
-            "no-auto-start": {
-              "type": "boolean"
-            },
-            "parent-interface-name": {
-              "type": "string"
-            },
-            "provider-address-id": {
-              "type": "string"
-            },
-            "provider-id": {
-              "type": "string"
-            },
-            "provider-space-id": {
-              "type": "string"
-            },
-            "provider-subnet-id": {
-              "type": "string"
-            },
-            "provider-vlan-id": {
-              "type": "string"
-            },
-            "routes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NetworkRoute"
-              }
-            },
-            "vlan-tag": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "device-index",
-            "mac-address",
-            "cidr",
-            "mtu",
-            "provider-id",
-            "provider-subnet-id",
-            "provider-space-id",
-            "provider-address-id",
-            "provider-vlan-id",
-            "vlan-tag",
-            "interface-name",
-            "parent-interface-name",
-            "interface-type",
-            "disabled"
-          ]
-        },
-        "NetworkRoute": {
-          "type": "object",
-          "properties": {
-            "destination-cidr": {
-              "type": "string"
-            },
-            "gateway-ip": {
-              "type": "string"
-            },
-            "metric": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "destination-cidr",
-            "gateway-ip",
-            "metric"
-          ]
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "Number": {
-          "type": "object",
-          "properties": {
-            "Build": {
-              "type": "integer"
-            },
-            "Major": {
-              "type": "integer"
-            },
-            "Minor": {
-              "type": "integer"
-            },
-            "Patch": {
-              "type": "integer"
-            },
-            "Tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Major",
-            "Minor",
-            "Tag",
-            "Patch",
-            "Build"
-          ]
-        },
-        "ProfileChangeResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "new-profile-name": {
-              "type": "string"
-            },
-            "old-profile-name": {
-              "type": "string"
-            },
-            "profile": {
-              "$ref": "#/definitions/CharmLXDProfile"
-            },
-            "subordinate": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ProfileChangeResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ProfileChangeResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ProvisioningInfo": {
-          "type": "object",
-          "properties": {
-            "charm-lxd-profiles": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "cloudinit-userdata": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "constraints": {
-              "$ref": "#/definitions/Value"
-            },
-            "controller-config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "endpoint-bindings": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "image-metadata": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/CloudImageMetadata"
-              }
-            },
-            "jobs": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "placement": {
-              "type": "string"
-            },
-            "series": {
-              "type": "string"
-            },
-            "subnets-to-zones": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "array",
-                  "items": {
-                    "type": "string"
-                  }
-                }
-              }
-            },
-            "tags": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "volume-attachments": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/VolumeAttachmentParams"
-              }
-            },
-            "volumes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/VolumeParams"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "constraints",
-            "series",
-            "placement",
-            "jobs"
-          ]
-        },
-        "ProvisioningInfoResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/ProvisioningInfo"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "ProvisioningInfoResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ProvisioningInfoResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "SetMachineNetworkConfig": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NetworkConfig"
-              }
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "config"
-          ]
-        },
-        "SetProfileArg": {
-          "type": "object",
-          "properties": {
-            "entity": {
-              "$ref": "#/definitions/Entity"
-            },
-            "profiles": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entity",
-            "profiles"
-          ]
-        },
-        "SetProfileArgs": {
-          "type": "object",
-          "properties": {
-            "args": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/SetProfileArg"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "args"
-          ]
-        },
-        "SetProfileUpgradeCompleteArg": {
-          "type": "object",
-          "properties": {
-            "entity": {
-              "$ref": "#/definitions/Entity"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entity",
-            "message"
-          ]
-        },
-        "SetProfileUpgradeCompleteArgs": {
-          "type": "object",
-          "properties": {
-            "args": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/SetProfileUpgradeCompleteArg"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "args"
-          ]
-        },
-        "SetStatus": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityStatusArgs"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Settings": {
-          "type": "object",
-          "properties": {
-            "AutoNoProxy": {
-              "type": "string"
-            },
-            "Ftp": {
-              "type": "string"
-            },
-            "Http": {
-              "type": "string"
-            },
-            "Https": {
-              "type": "string"
-            },
-            "NoProxy": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Http",
-            "Https",
-            "Ftp",
-            "NoProxy",
-            "AutoNoProxy"
-          ]
-        },
-        "StatusResult": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "id": {
-              "type": "string"
-            },
-            "info": {
-              "type": "string"
-            },
-            "life": {
-              "type": "string"
-            },
-            "since": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "id",
-            "life",
-            "status",
-            "info",
-            "data",
-            "since"
-          ]
-        },
-        "StatusResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StatusResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "StringResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "StringResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "StringsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "StringsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringsResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "StringsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id"
-          ]
-        },
-        "StringsWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringsWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Tools": {
-          "type": "object",
-          "properties": {
-            "sha256": {
-              "type": "string"
-            },
-            "size": {
-              "type": "integer"
-            },
-            "url": {
-              "type": "string"
-            },
-            "version": {
-              "$ref": "#/definitions/Binary"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "version",
-            "url",
-            "size"
-          ]
-        },
-        "ToolsResult": {
-          "type": "object",
-          "properties": {
-            "disable-ssl-hostname-verification": {
-              "type": "boolean"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "tools": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Tools"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tools",
-            "disable-ssl-hostname-verification"
-          ]
-        },
-        "ToolsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ToolsResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "UpdateBehavior": {
-          "type": "object",
-          "properties": {
-            "enable-os-refresh-update": {
-              "type": "boolean"
-            },
-            "enable-os-upgrade": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "enable-os-refresh-update",
-            "enable-os-upgrade"
-          ]
-        },
-        "Value": {
-          "type": "object",
-          "properties": {
-            "arch": {
-              "type": "string"
-            },
-            "container": {
-              "type": "string"
-            },
-            "cores": {
-              "type": "integer"
-            },
-            "cpu-power": {
-              "type": "integer"
-            },
-            "instance-type": {
-              "type": "string"
-            },
-            "mem": {
-              "type": "integer"
-            },
-            "root-disk": {
-              "type": "integer"
-            },
-            "spaces": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "tags": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "virt-type": {
-              "type": "string"
-            },
-            "zones": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "Volume": {
-          "type": "object",
-          "properties": {
-            "info": {
-              "$ref": "#/definitions/VolumeInfo"
-            },
-            "volume-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "volume-tag",
-            "info"
-          ]
-        },
-        "VolumeAttachmentInfo": {
-          "type": "object",
-          "properties": {
-            "bus-address": {
-              "type": "string"
-            },
-            "device-link": {
-              "type": "string"
-            },
-            "device-name": {
-              "type": "string"
-            },
-            "plan-info": {
-              "$ref": "#/definitions/VolumeAttachmentPlanInfo"
-            },
-            "read-only": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false
-        },
-        "VolumeAttachmentParams": {
-          "type": "object",
-          "properties": {
-            "instance-id": {
-              "type": "string"
-            },
-            "machine-tag": {
-              "type": "string"
-            },
-            "provider": {
-              "type": "string"
-            },
-            "read-only": {
-              "type": "boolean"
-            },
-            "volume-id": {
-              "type": "string"
-            },
-            "volume-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "volume-tag",
-            "machine-tag",
-            "provider"
-          ]
-        },
-        "VolumeAttachmentPlanInfo": {
-          "type": "object",
-          "properties": {
-            "device-attributes": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "device-type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "VolumeInfo": {
-          "type": "object",
-          "properties": {
-            "hardware-id": {
-              "type": "string"
-            },
-            "persistent": {
-              "type": "boolean"
-            },
-            "pool": {
-              "type": "string"
-            },
-            "size": {
-              "type": "integer"
-            },
-            "volume-id": {
-              "type": "string"
-            },
-            "wwn": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "volume-id",
-            "size",
-            "persistent"
-          ]
-        },
-        "VolumeParams": {
-          "type": "object",
-          "properties": {
-            "attachment": {
-              "$ref": "#/definitions/VolumeAttachmentParams"
-            },
-            "attributes": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "provider": {
-              "type": "string"
-            },
-            "size": {
-              "type": "integer"
-            },
-            "tags": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "volume-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "volume-tag",
-            "size",
-            "provider"
-          ]
-        },
-        "WatchContainer": {
-          "type": "object",
-          "properties": {
-            "container-type": {
-              "type": "string"
-            },
-            "machine-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "machine-tag",
-            "container-type"
-          ]
-        },
-        "WatchContainers": {
-          "type": "object",
-          "properties": {
-            "params": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/WatchContainer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "params"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "ProxyUpdater",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "ProxyConfig": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ProxyConfigResults"
-            }
-          }
-        },
-        "WatchForProxyConfigAndAPIHostPortChanges": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ProxyConfig": {
-          "type": "object",
-          "properties": {
-            "ftp": {
-              "type": "string"
-            },
-            "http": {
-              "type": "string"
-            },
-            "https": {
-              "type": "string"
-            },
-            "no-proxy": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "http",
-            "https",
-            "ftp",
-            "no-proxy"
-          ]
-        },
-        "ProxyConfigResult": {
-          "type": "object",
-          "properties": {
-            "apt-proxy-settings": {
-              "$ref": "#/definitions/ProxyConfig"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "juju-proxy-settings": {
-              "$ref": "#/definitions/ProxyConfig"
-            },
-            "legacy-proxy-settings": {
-              "$ref": "#/definitions/ProxyConfig"
-            },
-            "snap-proxy-settings": {
-              "$ref": "#/definitions/ProxyConfig"
-            },
-            "snap-store-assertions": {
-              "type": "string"
-            },
-            "snap-store-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "legacy-proxy-settings",
-            "juju-proxy-settings"
-          ]
-        },
-        "ProxyConfigResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ProxyConfigResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Reboot",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "ClearReboot": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "GetRebootAction": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/RebootActionResults"
-            }
-          }
-        },
-        "RequestReboot": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "WatchForRebootEvent": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "RebootActionResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "RebootActionResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RebootActionResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        }
-      }
-    }
-  },
-  {
-    "Name": "RelationStatusWatcher",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Next": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/RelationLifeSuspendedStatusWatchResult"
-            }
-          }
-        },
-        "Stop": {
-          "type": "object"
-        }
-      },
-      "definitions": {
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "RelationLifeSuspendedStatusChange": {
-          "type": "object",
-          "properties": {
-            "key": {
-              "type": "string"
-            },
-            "life": {
-              "type": "string"
-            },
-            "suspended": {
-              "type": "boolean"
-            },
-            "suspended-reason": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "key",
-            "life",
-            "suspended",
-            "suspended-reason"
-          ]
-        },
-        "RelationLifeSuspendedStatusWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RelationLifeSuspendedStatusChange"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id",
-            "changes"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "RelationUnitsWatcher",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Next": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/RelationUnitsWatchResult"
-            }
-          }
-        },
-        "Stop": {
-          "type": "object"
-        }
-      },
-      "definitions": {
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "RelationUnitsChange": {
-          "type": "object",
-          "properties": {
-            "changed": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/UnitSettings"
-                }
-              }
-            },
-            "departed": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "changed"
-          ]
-        },
-        "RelationUnitsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "$ref": "#/definitions/RelationUnitsChange"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id",
-            "changes"
-          ]
-        },
-        "UnitSettings": {
-          "type": "object",
-          "properties": {
-            "version": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "version"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "RemoteRelations",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "ConsumeRemoteRelationChanges": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RemoteRelationsChanges"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "ControllerAPIInfoForModels": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ControllerAPIInfoResults"
-            }
-          }
-        },
-        "ControllerConfig": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ControllerConfigResult"
-            }
-          }
-        },
-        "ExportEntities": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/TokenResults"
-            }
-          }
-        },
-        "GetTokens": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/GetTokenArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringResults"
-            }
-          }
-        },
-        "ImportRemoteEntities": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RemoteEntityTokenArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "RelationUnitSettings": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RelationUnits"
-            },
-            "Result": {
-              "$ref": "#/definitions/SettingsResults"
-            }
-          }
-        },
-        "Relations": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/RemoteRelationResults"
-            }
-          }
-        },
-        "RemoteApplications": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/RemoteApplicationResults"
-            }
-          }
-        },
-        "SaveMacaroons": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/EntityMacaroonArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetRemoteApplicationsStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "WatchLocalRelationUnits": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/RelationUnitsWatchResults"
-            }
-          }
-        },
-        "WatchRemoteApplicationRelations": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResults"
-            }
-          }
-        },
-        "WatchRemoteApplications": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResult"
-            }
-          }
-        },
-        "WatchRemoteRelations": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "ControllerAPIInfoResult": {
-          "type": "object",
-          "properties": {
-            "addresses": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "cacert": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "addresses",
-            "cacert"
-          ]
-        },
-        "ControllerAPIInfoResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ControllerAPIInfoResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ControllerConfigResult": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "EntityMacaroonArg": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "macaroon",
-            "tag"
-          ]
-        },
-        "EntityMacaroonArgs": {
-          "type": "object",
-          "properties": {
-            "Args": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityMacaroonArg"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Args"
-          ]
-        },
-        "EntityStatusArgs": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "info": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "status",
-            "info",
-            "data"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "GetTokenArg": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "GetTokenArgs": {
-          "type": "object",
-          "properties": {
-            "Args": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/GetTokenArg"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Args"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "RelationUnit": {
-          "type": "object",
-          "properties": {
-            "relation": {
-              "type": "string"
-            },
-            "unit": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "relation",
-            "unit"
-          ]
-        },
-        "RelationUnits": {
-          "type": "object",
-          "properties": {
-            "relation-units": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RelationUnit"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "relation-units"
-          ]
-        },
-        "RelationUnitsChange": {
-          "type": "object",
-          "properties": {
-            "changed": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/UnitSettings"
-                }
-              }
-            },
-            "departed": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "changed"
-          ]
-        },
-        "RelationUnitsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "$ref": "#/definitions/RelationUnitsChange"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id",
-            "changes"
-          ]
-        },
-        "RelationUnitsWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RelationUnitsWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "RemoteApplication": {
-          "type": "object",
-          "properties": {
-            "is-consumer-proxy": {
-              "type": "boolean"
-            },
-            "life": {
-              "type": "string"
-            },
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "model-uuid": {
-              "type": "string"
-            },
-            "name": {
-              "type": "string"
-            },
-            "offer-uuid": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "offer-uuid",
-            "model-uuid",
-            "is-consumer-proxy"
-          ]
-        },
-        "RemoteApplicationResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/RemoteApplication"
-            }
-          },
-          "additionalProperties": false
-        },
-        "RemoteApplicationResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RemoteApplicationResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "RemoteEndpoint": {
-          "type": "object",
-          "properties": {
-            "interface": {
-              "type": "string"
-            },
-            "limit": {
-              "type": "integer"
-            },
-            "name": {
-              "type": "string"
-            },
-            "role": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "role",
-            "interface",
-            "limit"
-          ]
-        },
-        "RemoteEntityTokenArg": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            },
-            "token": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "RemoteEntityTokenArgs": {
-          "type": "object",
-          "properties": {
-            "Args": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RemoteEntityTokenArg"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Args"
-          ]
-        },
-        "RemoteRelation": {
-          "type": "object",
-          "properties": {
-            "application-name": {
-              "type": "string"
-            },
-            "endpoint": {
-              "$ref": "#/definitions/RemoteEndpoint"
-            },
-            "id": {
-              "type": "integer"
-            },
-            "key": {
-              "type": "string"
-            },
-            "life": {
-              "type": "string"
-            },
-            "remote-application-name": {
-              "type": "string"
-            },
-            "remote-endpoint-name": {
-              "type": "string"
-            },
-            "source-model-uuid": {
-              "type": "string"
-            },
-            "suspended": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "life",
-            "suspended",
-            "id",
-            "key",
-            "application-name",
-            "endpoint",
-            "remote-application-name",
-            "remote-endpoint-name",
-            "source-model-uuid"
-          ]
-        },
-        "RemoteRelationChangeEvent": {
-          "type": "object",
-          "properties": {
-            "application-token": {
-              "type": "string"
-            },
-            "changed-units": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RemoteRelationUnitChange"
-              }
-            },
-            "departed-units": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "force-cleanup": {
-              "type": "boolean"
-            },
-            "life": {
-              "type": "string"
-            },
-            "macaroons": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Macaroon"
-              }
-            },
-            "relation-token": {
-              "type": "string"
-            },
-            "suspended": {
-              "type": "boolean"
-            },
-            "suspended-reason": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "relation-token",
-            "application-token",
-            "life"
-          ]
-        },
-        "RemoteRelationResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/RemoteRelation"
-            }
-          },
-          "additionalProperties": false
-        },
-        "RemoteRelationResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RemoteRelationResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "RemoteRelationUnitChange": {
-          "type": "object",
-          "properties": {
-            "settings": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "unit-id": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "unit-id"
-          ]
-        },
-        "RemoteRelationsChanges": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RemoteRelationChangeEvent"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "SetStatus": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityStatusArgs"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "SettingsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "settings": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "settings"
-          ]
-        },
-        "SettingsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/SettingsResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "StringResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "StringResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "StringsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id"
-          ]
-        },
-        "StringsWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringsWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "TokenResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "token": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "TokenResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/TokenResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "UnitSettings": {
-          "type": "object",
-          "properties": {
-            "version": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "version"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Resources",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "AddPendingResources": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/AddPendingResourcesArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/AddPendingResourcesResult"
-            }
-          }
-        },
-        "ListResources": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ListResourcesArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ResourcesResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "AddCharmWithAuthorization": {
-          "type": "object",
-          "properties": {
-            "channel": {
-              "type": "string"
-            },
-            "force": {
-              "type": "boolean"
-            },
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "url": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "url",
-            "channel",
-            "macaroon",
-            "force"
-          ]
-        },
-        "AddPendingResourcesArgs": {
-          "type": "object",
-          "properties": {
-            "AddCharmWithAuthorization": {
-              "$ref": "#/definitions/AddCharmWithAuthorization"
-            },
-            "Entity": {
-              "$ref": "#/definitions/Entity"
-            },
-            "resources": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/CharmResource"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Entity",
-            "AddCharmWithAuthorization",
-            "resources"
-          ]
-        },
-        "AddPendingResourcesResult": {
-          "type": "object",
-          "properties": {
-            "ErrorResult": {
-              "$ref": "#/definitions/ErrorResult"
-            },
-            "pending-ids": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "ErrorResult",
-            "pending-ids"
-          ]
-        },
-        "CharmResource": {
-          "type": "object",
-          "properties": {
-            "description": {
-              "type": "string"
-            },
-            "fingerprint": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "name": {
-              "type": "string"
-            },
-            "origin": {
-              "type": "string"
-            },
-            "path": {
-              "type": "string"
-            },
-            "revision": {
-              "type": "integer"
-            },
-            "size": {
-              "type": "integer"
-            },
-            "type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "type",
-            "path",
-            "origin",
-            "revision",
-            "fingerprint",
-            "size"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ListResourcesArgs": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "Resource": {
-          "type": "object",
-          "properties": {
-            "CharmResource": {
-              "$ref": "#/definitions/CharmResource"
-            },
-            "application": {
-              "type": "string"
-            },
-            "id": {
-              "type": "string"
-            },
-            "pending-id": {
-              "type": "string"
-            },
-            "timestamp": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "username": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "CharmResource",
-            "id",
-            "pending-id",
-            "application",
-            "username",
-            "timestamp"
-          ]
-        },
-        "ResourcesResult": {
-          "type": "object",
-          "properties": {
-            "ErrorResult": {
-              "$ref": "#/definitions/ErrorResult"
-            },
-            "charm-store-resources": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/CharmResource"
-              }
-            },
-            "resources": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Resource"
-              }
-            },
-            "unit-resources": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/UnitResources"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "ErrorResult",
-            "resources",
-            "charm-store-resources",
-            "unit-resources"
-          ]
-        },
-        "ResourcesResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ResourcesResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "UnitResources": {
-          "type": "object",
-          "properties": {
-            "Entity": {
-              "$ref": "#/definitions/Entity"
-            },
-            "download-progress": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "integer"
-                }
-              }
-            },
-            "resources": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Resource"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Entity",
-            "resources",
-            "download-progress"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "ResourcesHookContext",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "GetResourceInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ListUnitResourcesArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/UnitResourcesResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "CharmResource": {
-          "type": "object",
-          "properties": {
-            "description": {
-              "type": "string"
-            },
-            "fingerprint": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "name": {
-              "type": "string"
-            },
-            "origin": {
-              "type": "string"
-            },
-            "path": {
-              "type": "string"
-            },
-            "revision": {
-              "type": "integer"
-            },
-            "size": {
-              "type": "integer"
-            },
-            "type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "type",
-            "path",
-            "origin",
-            "revision",
-            "fingerprint",
-            "size"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ListUnitResourcesArgs": {
-          "type": "object",
-          "properties": {
-            "resource-names": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "resource-names"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "Resource": {
-          "type": "object",
-          "properties": {
-            "CharmResource": {
-              "$ref": "#/definitions/CharmResource"
-            },
-            "application": {
-              "type": "string"
-            },
-            "id": {
-              "type": "string"
-            },
-            "pending-id": {
-              "type": "string"
-            },
-            "timestamp": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "username": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "CharmResource",
-            "id",
-            "pending-id",
-            "application",
-            "username",
-            "timestamp"
-          ]
-        },
-        "UnitResourceResult": {
-          "type": "object",
-          "properties": {
-            "ErrorResult": {
-              "$ref": "#/definitions/ErrorResult"
-            },
-            "resource": {
-              "$ref": "#/definitions/Resource"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "ErrorResult",
-            "resource"
-          ]
-        },
-        "UnitResourcesResult": {
-          "type": "object",
-          "properties": {
-            "ErrorResult": {
-              "$ref": "#/definitions/ErrorResult"
-            },
-            "resources": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/UnitResourceResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "ErrorResult",
-            "resources"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Resumer",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "ResumeTransactions": {
-          "type": "object"
-        }
-      }
-    }
-  },
-  {
-    "Name": "RetryStrategy",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "RetryStrategy": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/RetryStrategyResults"
-            }
-          }
-        },
-        "WatchRetryStrategy": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "RetryStrategy": {
-          "type": "object",
-          "properties": {
-            "jitter-retry-time": {
-              "type": "boolean"
-            },
-            "max-retry-time": {
-              "type": "integer"
-            },
-            "min-retry-time": {
-              "type": "integer"
-            },
-            "retry-time-factor": {
-              "type": "integer"
-            },
-            "should-retry": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "should-retry",
-            "min-retry-time",
-            "max-retry-time",
-            "jitter-retry-time",
-            "retry-time-factor"
-          ]
-        },
-        "RetryStrategyResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/RetryStrategy"
-            }
-          },
-          "additionalProperties": false
-        },
-        "RetryStrategyResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RetryStrategyResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "SSHClient",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "AllAddresses": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/SSHAddressesResults"
-            }
-          }
-        },
-        "PrivateAddress": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/SSHAddressResults"
-            }
-          }
-        },
-        "Proxy": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/SSHProxyResult"
-            }
-          }
-        },
-        "PublicAddress": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/SSHAddressResults"
-            }
-          }
-        },
-        "PublicKeys": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/SSHPublicKeysResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "SSHAddressResult": {
-          "type": "object",
-          "properties": {
-            "address": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "SSHAddressResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/SSHAddressResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "SSHAddressesResult": {
-          "type": "object",
-          "properties": {
-            "addresses": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "addresses"
-          ]
-        },
-        "SSHAddressesResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/SSHAddressesResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "SSHProxyResult": {
-          "type": "object",
-          "properties": {
-            "use-proxy": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "use-proxy"
-          ]
-        },
-        "SSHPublicKeysResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "public-keys": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "SSHPublicKeysResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/SSHPublicKeysResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Singular",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Claim": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SingularClaims"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "Wait": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "SingularClaim": {
-          "type": "object",
-          "properties": {
-            "claimant-tag": {
-              "type": "string"
-            },
-            "duration": {
-              "type": "integer"
-            },
-            "entity-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entity-tag",
-            "claimant-tag",
-            "duration"
-          ]
-        },
-        "SingularClaims": {
-          "type": "object",
-          "properties": {
-            "claims": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/SingularClaim"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "claims"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Spaces",
-    "Version": 3,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "CreateSpaces": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/CreateSpacesParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "ListSpaces": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ListSpacesResults"
-            }
-          }
-        },
-        "ReloadSpaces": {
-          "type": "object"
-        }
-      },
-      "definitions": {
-        "CreateSpaceParams": {
-          "type": "object",
-          "properties": {
-            "provider-id": {
-              "type": "string"
-            },
-            "public": {
-              "type": "boolean"
-            },
-            "space-tag": {
-              "type": "string"
-            },
-            "subnet-tags": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "subnet-tags",
-            "space-tag",
-            "public"
-          ]
-        },
-        "CreateSpacesParams": {
-          "type": "object",
-          "properties": {
-            "spaces": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/CreateSpaceParams"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "spaces"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ListSpacesResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Space"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "Space": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "name": {
-              "type": "string"
-            },
-            "subnets": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Subnet"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "subnets"
-          ]
-        },
-        "Subnet": {
-          "type": "object",
-          "properties": {
-            "cidr": {
-              "type": "string"
-            },
-            "life": {
-              "type": "string"
-            },
-            "provider-id": {
-              "type": "string"
-            },
-            "provider-network-id": {
-              "type": "string"
-            },
-            "provider-space-id": {
-              "type": "string"
-            },
-            "space-tag": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "vlan-tag": {
-              "type": "integer"
-            },
-            "zones": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "cidr",
-            "vlan-tag",
-            "life",
-            "space-tag",
-            "zones"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "StatusHistory",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "ModelConfig": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ModelConfigResult"
-            }
-          }
-        },
-        "Prune": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/StatusHistoryPruneArgs"
-            }
-          }
-        },
-        "WatchForModelConfigChanges": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "ModelConfigResult": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "StatusHistoryPruneArgs": {
-          "type": "object",
-          "properties": {
-            "max-history-mb": {
-              "type": "integer"
-            },
-            "max-history-time": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "max-history-time",
-            "max-history-mb"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Storage",
-    "Version": 4,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "AddToUnit": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/StoragesAddParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/AddStorageResults"
-            }
-          }
-        },
-        "Attach": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/StorageAttachmentIds"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "CreatePool": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/StoragePool"
-            }
-          }
-        },
-        "Detach": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/StorageAttachmentIds"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "Import": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/BulkImportStorageParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ImportStorageResults"
-            }
-          }
-        },
-        "ListFilesystems": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/FilesystemFilters"
-            },
-            "Result": {
-              "$ref": "#/definitions/FilesystemDetailsListResults"
-            }
-          }
-        },
-        "ListPools": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/StoragePoolFilters"
-            },
-            "Result": {
-              "$ref": "#/definitions/StoragePoolsResults"
-            }
-          }
-        },
-        "ListStorageDetails": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/StorageFilters"
-            },
-            "Result": {
-              "$ref": "#/definitions/StorageDetailsListResults"
-            }
-          }
-        },
-        "ListVolumes": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/VolumeFilters"
-            },
-            "Result": {
-              "$ref": "#/definitions/VolumeDetailsListResults"
-            }
-          }
-        },
-        "Remove": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RemoveStorage"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "StorageDetails": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StorageDetailsResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "AddStorageDetails": {
-          "type": "object",
-          "properties": {
-            "storage-tags": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "storage-tags"
-          ]
-        },
-        "AddStorageResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/AddStorageDetails"
-            }
-          },
-          "additionalProperties": false
-        },
-        "AddStorageResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/AddStorageResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "BulkImportStorageParams": {
-          "type": "object",
-          "properties": {
-            "storage": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ImportStorageParams"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "storage"
-          ]
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "EntityStatus": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "info": {
-              "type": "string"
-            },
-            "since": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "status",
-            "info",
-            "since"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "FilesystemAttachmentDetails": {
-          "type": "object",
-          "properties": {
-            "FilesystemAttachmentInfo": {
-              "$ref": "#/definitions/FilesystemAttachmentInfo"
-            },
-            "life": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "FilesystemAttachmentInfo"
-          ]
-        },
-        "FilesystemAttachmentInfo": {
-          "type": "object",
-          "properties": {
-            "mount-point": {
-              "type": "string"
-            },
-            "read-only": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false
-        },
-        "FilesystemDetails": {
-          "type": "object",
-          "properties": {
-            "filesystem-tag": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/FilesystemInfo"
-            },
-            "life": {
-              "type": "string"
-            },
-            "machine-attachments": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/FilesystemAttachmentDetails"
-                }
-              }
-            },
-            "status": {
-              "$ref": "#/definitions/EntityStatus"
-            },
-            "storage": {
-              "$ref": "#/definitions/StorageDetails"
-            },
-            "unit-attachments": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/FilesystemAttachmentDetails"
-                }
-              }
-            },
-            "volume-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "filesystem-tag",
-            "info",
-            "status"
-          ]
-        },
-        "FilesystemDetailsListResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/FilesystemDetails"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "FilesystemDetailsListResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/FilesystemDetailsListResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "FilesystemFilter": {
-          "type": "object",
-          "properties": {
-            "machines": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "FilesystemFilters": {
-          "type": "object",
-          "properties": {
-            "filters": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/FilesystemFilter"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "FilesystemInfo": {
-          "type": "object",
-          "properties": {
-            "filesystem-id": {
-              "type": "string"
-            },
-            "pool": {
-              "type": "string"
-            },
-            "size": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "filesystem-id",
-            "pool",
-            "size"
-          ]
-        },
-        "ImportStorageDetails": {
-          "type": "object",
-          "properties": {
-            "storage-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "storage-tag"
-          ]
-        },
-        "ImportStorageParams": {
-          "type": "object",
-          "properties": {
-            "kind": {
-              "type": "integer"
-            },
-            "pool": {
-              "type": "string"
-            },
-            "provider-id": {
-              "type": "string"
-            },
-            "storage-name": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "kind",
-            "pool",
-            "provider-id",
-            "storage-name"
-          ]
-        },
-        "ImportStorageResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/ImportStorageDetails"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ImportStorageResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ImportStorageResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "RemoveStorage": {
-          "type": "object",
-          "properties": {
-            "storage": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RemoveStorageInstance"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "storage"
-          ]
-        },
-        "RemoveStorageInstance": {
-          "type": "object",
-          "properties": {
-            "destroy-attachments": {
-              "type": "boolean"
-            },
-            "destroy-storage": {
-              "type": "boolean"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "StorageAddParams": {
-          "type": "object",
-          "properties": {
-            "name": {
-              "type": "string"
-            },
-            "storage": {
-              "$ref": "#/definitions/StorageConstraints"
-            },
-            "unit": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "unit",
-            "name",
-            "storage"
-          ]
-        },
-        "StorageAttachmentDetails": {
-          "type": "object",
-          "properties": {
-            "life": {
-              "type": "string"
-            },
-            "location": {
-              "type": "string"
-            },
-            "machine-tag": {
-              "type": "string"
-            },
-            "storage-tag": {
-              "type": "string"
-            },
-            "unit-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "storage-tag",
-            "unit-tag",
-            "machine-tag"
-          ]
-        },
-        "StorageAttachmentId": {
-          "type": "object",
-          "properties": {
-            "storage-tag": {
-              "type": "string"
-            },
-            "unit-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "storage-tag",
-            "unit-tag"
-          ]
-        },
-        "StorageAttachmentIds": {
-          "type": "object",
-          "properties": {
-            "ids": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StorageAttachmentId"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "ids"
-          ]
-        },
-        "StorageConstraints": {
-          "type": "object",
-          "properties": {
-            "count": {
-              "type": "integer"
-            },
-            "pool": {
-              "type": "string"
-            },
-            "size": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false
-        },
-        "StorageDetails": {
-          "type": "object",
-          "properties": {
-            "attachments": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/StorageAttachmentDetails"
-                }
-              }
-            },
-            "kind": {
-              "type": "integer"
-            },
-            "life": {
-              "type": "string"
-            },
-            "owner-tag": {
-              "type": "string"
-            },
-            "persistent": {
-              "type": "boolean"
-            },
-            "status": {
-              "$ref": "#/definitions/EntityStatus"
-            },
-            "storage-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "storage-tag",
-            "owner-tag",
-            "kind",
-            "status",
-            "persistent"
-          ]
-        },
-        "StorageDetailsListResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StorageDetails"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "StorageDetailsListResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StorageDetailsListResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "StorageDetailsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/StorageDetails"
-            }
-          },
-          "additionalProperties": false
-        },
-        "StorageDetailsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StorageDetailsResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "StorageFilter": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "StorageFilters": {
-          "type": "object",
-          "properties": {
-            "filters": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StorageFilter"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "StoragePool": {
-          "type": "object",
-          "properties": {
-            "attrs": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "name": {
-              "type": "string"
-            },
-            "provider": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "provider",
-            "attrs"
-          ]
-        },
-        "StoragePoolFilter": {
-          "type": "object",
-          "properties": {
-            "names": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "providers": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "StoragePoolFilters": {
-          "type": "object",
-          "properties": {
-            "filters": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StoragePoolFilter"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "StoragePoolsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "storage-pools": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StoragePool"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "StoragePoolsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StoragePoolsResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "StoragesAddParams": {
-          "type": "object",
-          "properties": {
-            "storages": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StorageAddParams"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "storages"
-          ]
-        },
-        "VolumeAttachmentDetails": {
-          "type": "object",
-          "properties": {
-            "VolumeAttachmentInfo": {
-              "$ref": "#/definitions/VolumeAttachmentInfo"
-            },
-            "life": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "VolumeAttachmentInfo"
-          ]
-        },
-        "VolumeAttachmentInfo": {
-          "type": "object",
-          "properties": {
-            "bus-address": {
-              "type": "string"
-            },
-            "device-link": {
-              "type": "string"
-            },
-            "device-name": {
-              "type": "string"
-            },
-            "plan-info": {
-              "$ref": "#/definitions/VolumeAttachmentPlanInfo"
-            },
-            "read-only": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false
-        },
-        "VolumeAttachmentPlanInfo": {
-          "type": "object",
-          "properties": {
-            "device-attributes": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "device-type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "VolumeDetails": {
-          "type": "object",
-          "properties": {
-            "info": {
-              "$ref": "#/definitions/VolumeInfo"
-            },
-            "life": {
-              "type": "string"
-            },
-            "machine-attachments": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/VolumeAttachmentDetails"
-                }
-              }
-            },
-            "status": {
-              "$ref": "#/definitions/EntityStatus"
-            },
-            "storage": {
-              "$ref": "#/definitions/StorageDetails"
-            },
-            "unit-attachments": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/VolumeAttachmentDetails"
-                }
-              }
-            },
-            "volume-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "volume-tag",
-            "info",
-            "status"
-          ]
-        },
-        "VolumeDetailsListResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/VolumeDetails"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "VolumeDetailsListResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/VolumeDetailsListResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "VolumeFilter": {
-          "type": "object",
-          "properties": {
-            "machines": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "VolumeFilters": {
-          "type": "object",
-          "properties": {
-            "filters": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/VolumeFilter"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "VolumeInfo": {
-          "type": "object",
-          "properties": {
-            "hardware-id": {
-              "type": "string"
-            },
-            "persistent": {
-              "type": "boolean"
-            },
-            "pool": {
-              "type": "string"
-            },
-            "size": {
-              "type": "integer"
-            },
-            "volume-id": {
-              "type": "string"
-            },
-            "wwn": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "volume-id",
-            "size",
-            "persistent"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "StorageProvisioner",
-    "Version": 4,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "AttachmentLife": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/MachineStorageIds"
-            },
-            "Result": {
-              "$ref": "#/definitions/LifeResults"
-            }
-          }
-        },
-        "CreateVolumeAttachmentPlans": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/VolumeAttachmentPlans"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "EnsureDead": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "FilesystemAttachmentParams": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/MachineStorageIds"
-            },
-            "Result": {
-              "$ref": "#/definitions/FilesystemAttachmentParamsResults"
-            }
-          }
-        },
-        "FilesystemAttachments": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/MachineStorageIds"
-            },
-            "Result": {
-              "$ref": "#/definitions/FilesystemAttachmentResults"
-            }
-          }
-        },
-        "FilesystemParams": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/FilesystemParamsResults"
-            }
-          }
-        },
-        "Filesystems": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/FilesystemResults"
-            }
-          }
-        },
-        "InstanceId": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringResults"
-            }
-          }
-        },
-        "Life": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/LifeResults"
-            }
-          }
-        },
-        "Remove": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "RemoveAttachment": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/MachineStorageIds"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "RemoveFilesystemParams": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/RemoveFilesystemParamsResults"
-            }
-          }
-        },
-        "RemoveVolumeAttachmentPlan": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/MachineStorageIds"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "RemoveVolumeParams": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/RemoveVolumeParamsResults"
-            }
-          }
-        },
-        "SetFilesystemAttachmentInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/FilesystemAttachments"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetFilesystemInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Filesystems"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetVolumeAttachmentInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/VolumeAttachments"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetVolumeAttachmentPlanBlockInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/VolumeAttachmentPlans"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetVolumeInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Volumes"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "UpdateStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "VolumeAttachmentParams": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/MachineStorageIds"
-            },
-            "Result": {
-              "$ref": "#/definitions/VolumeAttachmentParamsResults"
-            }
-          }
-        },
-        "VolumeAttachmentPlans": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/MachineStorageIds"
-            },
-            "Result": {
-              "$ref": "#/definitions/VolumeAttachmentPlanResults"
-            }
-          }
-        },
-        "VolumeAttachments": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/MachineStorageIds"
-            },
-            "Result": {
-              "$ref": "#/definitions/VolumeAttachmentResults"
-            }
-          }
-        },
-        "VolumeBlockDevices": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/MachineStorageIds"
-            },
-            "Result": {
-              "$ref": "#/definitions/BlockDeviceResults"
-            }
-          }
-        },
-        "VolumeParams": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/VolumeParamsResults"
-            }
-          }
-        },
-        "Volumes": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/VolumeResults"
-            }
-          }
-        },
-        "WatchApplications": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResult"
-            }
-          }
-        },
-        "WatchBlockDevices": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        },
-        "WatchFilesystemAttachments": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/MachineStorageIdsWatchResults"
-            }
-          }
-        },
-        "WatchFilesystems": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResults"
-            }
-          }
-        },
-        "WatchMachines": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        },
-        "WatchVolumeAttachmentPlans": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/MachineStorageIdsWatchResults"
-            }
-          }
-        },
-        "WatchVolumeAttachments": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/MachineStorageIdsWatchResults"
-            }
-          }
-        },
-        "WatchVolumes": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "BlockDevice": {
-          "type": "object",
-          "properties": {
-            "BusAddress": {
-              "type": "string"
-            },
-            "DeviceLinks": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "DeviceName": {
-              "type": "string"
-            },
-            "FilesystemType": {
-              "type": "string"
-            },
-            "HardwareId": {
-              "type": "string"
-            },
-            "InUse": {
-              "type": "boolean"
-            },
-            "Label": {
-              "type": "string"
-            },
-            "MountPoint": {
-              "type": "string"
-            },
-            "Size": {
-              "type": "integer"
-            },
-            "UUID": {
-              "type": "string"
-            },
-            "WWN": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "DeviceName",
-            "DeviceLinks",
-            "Label",
-            "UUID",
-            "HardwareId",
-            "WWN",
-            "BusAddress",
-            "Size",
-            "FilesystemType",
-            "InUse",
-            "MountPoint"
-          ]
-        },
-        "BlockDeviceResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/BlockDevice"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "BlockDeviceResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/BlockDeviceResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "EntityStatusArgs": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "info": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "status",
-            "info",
-            "data"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Filesystem": {
-          "type": "object",
-          "properties": {
-            "filesystem-tag": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/FilesystemInfo"
-            },
-            "volume-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "filesystem-tag",
-            "info"
-          ]
-        },
-        "FilesystemAttachment": {
-          "type": "object",
-          "properties": {
-            "filesystem-tag": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/FilesystemAttachmentInfo"
-            },
-            "machine-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "filesystem-tag",
-            "machine-tag",
-            "info"
-          ]
-        },
-        "FilesystemAttachmentInfo": {
-          "type": "object",
-          "properties": {
-            "mount-point": {
-              "type": "string"
-            },
-            "read-only": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false
-        },
-        "FilesystemAttachmentParams": {
-          "type": "object",
-          "properties": {
-            "filesystem-id": {
-              "type": "string"
-            },
-            "filesystem-tag": {
-              "type": "string"
-            },
-            "instance-id": {
-              "type": "string"
-            },
-            "machine-tag": {
-              "type": "string"
-            },
-            "mount-point": {
-              "type": "string"
-            },
-            "provider": {
-              "type": "string"
-            },
-            "read-only": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "filesystem-tag",
-            "machine-tag",
-            "provider"
-          ]
-        },
-        "FilesystemAttachmentParamsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/FilesystemAttachmentParams"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "FilesystemAttachmentParamsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/FilesystemAttachmentParamsResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "FilesystemAttachmentResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/FilesystemAttachment"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "FilesystemAttachmentResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/FilesystemAttachmentResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "FilesystemAttachments": {
-          "type": "object",
-          "properties": {
-            "filesystem-attachments": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/FilesystemAttachment"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "filesystem-attachments"
-          ]
-        },
-        "FilesystemInfo": {
-          "type": "object",
-          "properties": {
-            "filesystem-id": {
-              "type": "string"
-            },
-            "pool": {
-              "type": "string"
-            },
-            "size": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "filesystem-id",
-            "pool",
-            "size"
-          ]
-        },
-        "FilesystemParams": {
-          "type": "object",
-          "properties": {
-            "attachment": {
-              "$ref": "#/definitions/FilesystemAttachmentParams"
-            },
-            "attributes": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "filesystem-tag": {
-              "type": "string"
-            },
-            "provider": {
-              "type": "string"
-            },
-            "size": {
-              "type": "integer"
-            },
-            "tags": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "volume-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "filesystem-tag",
-            "size",
-            "provider"
-          ]
-        },
-        "FilesystemParamsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/FilesystemParams"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "FilesystemParamsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/FilesystemParamsResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "FilesystemResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/Filesystem"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "FilesystemResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/FilesystemResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "Filesystems": {
-          "type": "object",
-          "properties": {
-            "filesystems": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Filesystem"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "filesystems"
-          ]
-        },
-        "LifeResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "life": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "life"
-          ]
-        },
-        "LifeResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/LifeResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "MachineStorageId": {
-          "type": "object",
-          "properties": {
-            "attachment-tag": {
-              "type": "string"
-            },
-            "machine-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "machine-tag",
-            "attachment-tag"
-          ]
-        },
-        "MachineStorageIds": {
-          "type": "object",
-          "properties": {
-            "ids": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MachineStorageId"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "ids"
-          ]
-        },
-        "MachineStorageIdsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MachineStorageId"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id",
-            "changes"
-          ]
-        },
-        "MachineStorageIdsWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MachineStorageIdsWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "RemoveFilesystemParams": {
-          "type": "object",
-          "properties": {
-            "destroy": {
-              "type": "boolean"
-            },
-            "filesystem-id": {
-              "type": "string"
-            },
-            "provider": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "provider",
-            "filesystem-id"
-          ]
-        },
-        "RemoveFilesystemParamsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/RemoveFilesystemParams"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "RemoveFilesystemParamsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RemoveFilesystemParamsResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "RemoveVolumeParams": {
-          "type": "object",
-          "properties": {
-            "destroy": {
-              "type": "boolean"
-            },
-            "provider": {
-              "type": "string"
-            },
-            "volume-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "provider",
-            "volume-id"
-          ]
-        },
-        "RemoveVolumeParamsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/RemoveVolumeParams"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "RemoveVolumeParamsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RemoveVolumeParamsResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "SetStatus": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityStatusArgs"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "StringResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "StringResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "StringsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id"
-          ]
-        },
-        "StringsWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringsWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Volume": {
-          "type": "object",
-          "properties": {
-            "info": {
-              "$ref": "#/definitions/VolumeInfo"
-            },
-            "volume-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "volume-tag",
-            "info"
-          ]
-        },
-        "VolumeAttachment": {
-          "type": "object",
-          "properties": {
-            "info": {
-              "$ref": "#/definitions/VolumeAttachmentInfo"
-            },
-            "machine-tag": {
-              "type": "string"
-            },
-            "volume-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "volume-tag",
-            "machine-tag",
-            "info"
-          ]
-        },
-        "VolumeAttachmentInfo": {
-          "type": "object",
-          "properties": {
-            "bus-address": {
-              "type": "string"
-            },
-            "device-link": {
-              "type": "string"
-            },
-            "device-name": {
-              "type": "string"
-            },
-            "plan-info": {
-              "$ref": "#/definitions/VolumeAttachmentPlanInfo"
-            },
-            "read-only": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false
-        },
-        "VolumeAttachmentParams": {
-          "type": "object",
-          "properties": {
-            "instance-id": {
-              "type": "string"
-            },
-            "machine-tag": {
-              "type": "string"
-            },
-            "provider": {
-              "type": "string"
-            },
-            "read-only": {
-              "type": "boolean"
-            },
-            "volume-id": {
-              "type": "string"
-            },
-            "volume-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "volume-tag",
-            "machine-tag",
-            "provider"
-          ]
-        },
-        "VolumeAttachmentParamsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/VolumeAttachmentParams"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "VolumeAttachmentParamsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/VolumeAttachmentParamsResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "VolumeAttachmentPlan": {
-          "type": "object",
-          "properties": {
-            "block-device": {
-              "$ref": "#/definitions/BlockDevice"
-            },
-            "life": {
-              "type": "string"
-            },
-            "machine-tag": {
-              "type": "string"
-            },
-            "plan-info": {
-              "$ref": "#/definitions/VolumeAttachmentPlanInfo"
-            },
-            "volume-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "volume-tag",
-            "machine-tag",
-            "plan-info"
-          ]
-        },
-        "VolumeAttachmentPlanInfo": {
-          "type": "object",
-          "properties": {
-            "device-attributes": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "device-type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "VolumeAttachmentPlanResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/VolumeAttachmentPlan"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "VolumeAttachmentPlanResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/VolumeAttachmentPlanResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "VolumeAttachmentPlans": {
-          "type": "object",
-          "properties": {
-            "volume-plans": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/VolumeAttachmentPlan"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "volume-plans"
-          ]
-        },
-        "VolumeAttachmentResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/VolumeAttachment"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "VolumeAttachmentResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/VolumeAttachmentResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "VolumeAttachments": {
-          "type": "object",
-          "properties": {
-            "volume-attachments": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/VolumeAttachment"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "volume-attachments"
-          ]
-        },
-        "VolumeInfo": {
-          "type": "object",
-          "properties": {
-            "hardware-id": {
-              "type": "string"
-            },
-            "persistent": {
-              "type": "boolean"
-            },
-            "pool": {
-              "type": "string"
-            },
-            "size": {
-              "type": "integer"
-            },
-            "volume-id": {
-              "type": "string"
-            },
-            "wwn": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "volume-id",
-            "size",
-            "persistent"
-          ]
-        },
-        "VolumeParams": {
-          "type": "object",
-          "properties": {
-            "attachment": {
-              "$ref": "#/definitions/VolumeAttachmentParams"
-            },
-            "attributes": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "provider": {
-              "type": "string"
-            },
-            "size": {
-              "type": "integer"
-            },
-            "tags": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "volume-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "volume-tag",
-            "size",
-            "provider"
-          ]
-        },
-        "VolumeParamsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/VolumeParams"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "VolumeParamsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/VolumeParamsResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "VolumeResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/Volume"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "VolumeResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/VolumeResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "Volumes": {
-          "type": "object",
-          "properties": {
-            "volumes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Volume"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "volumes"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "StringsWatcher",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Next": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResult"
-            }
-          }
-        },
-        "Stop": {
-          "type": "object"
-        }
-      },
-      "definitions": {
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "StringsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Subnets",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "AddSubnets": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/AddSubnetsParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "AllSpaces": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/SpaceResults"
-            }
-          }
-        },
-        "AllZones": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ZoneResults"
-            }
-          }
-        },
-        "ListSubnets": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SubnetsFilters"
-            },
-            "Result": {
-              "$ref": "#/definitions/ListSubnetsResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "AddSubnetParams": {
-          "type": "object",
-          "properties": {
-            "provider-network-id": {
-              "type": "string"
-            },
-            "space-tag": {
-              "type": "string"
-            },
-            "subnet-provider-id": {
-              "type": "string"
-            },
-            "subnet-tag": {
-              "type": "string"
-            },
-            "vlan-tag": {
-              "type": "integer"
-            },
-            "zones": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "space-tag"
-          ]
-        },
-        "AddSubnetsParams": {
-          "type": "object",
-          "properties": {
-            "subnets": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/AddSubnetParams"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "subnets"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ListSubnetsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Subnet"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "SpaceResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "SpaceResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/SpaceResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Subnet": {
-          "type": "object",
-          "properties": {
-            "cidr": {
-              "type": "string"
-            },
-            "life": {
-              "type": "string"
-            },
-            "provider-id": {
-              "type": "string"
-            },
-            "provider-network-id": {
-              "type": "string"
-            },
-            "provider-space-id": {
-              "type": "string"
-            },
-            "space-tag": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "vlan-tag": {
-              "type": "integer"
-            },
-            "zones": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "cidr",
-            "vlan-tag",
-            "life",
-            "space-tag",
-            "zones"
-          ]
-        },
-        "SubnetsFilters": {
-          "type": "object",
-          "properties": {
-            "space-tag": {
-              "type": "string"
-            },
-            "zone": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ZoneResult": {
-          "type": "object",
-          "properties": {
-            "available": {
-              "type": "boolean"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "name": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "available"
-          ]
-        },
-        "ZoneResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ZoneResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Undertaker",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "ModelConfig": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ModelConfigResult"
-            }
-          }
-        },
-        "ModelInfo": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/UndertakerModelInfoResult"
-            }
-          }
-        },
-        "ProcessDyingModel": {
-          "type": "object"
-        },
-        "RemoveModel": {
-          "type": "object"
-        },
-        "SetStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "UpdateStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "WatchModelResources": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "EntityStatusArgs": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "info": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "status",
-            "info",
-            "data"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "ModelConfigResult": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "SetStatus": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityStatusArgs"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "UndertakerModelInfo": {
-          "type": "object",
-          "properties": {
-            "global-name": {
-              "type": "string"
-            },
-            "is-system": {
-              "type": "boolean"
-            },
-            "life": {
-              "type": "string"
-            },
-            "name": {
-              "type": "string"
-            },
-            "uuid": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "uuid",
-            "name",
-            "global-name",
-            "is-system",
-            "life"
-          ]
-        },
-        "UndertakerModelInfoResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/UndertakerModelInfo"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "UnitAssigner",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "AssignUnits": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetAgentStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "WatchUnitAssignments": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "EntityStatusArgs": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "info": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "status",
-            "info",
-            "data"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "SetStatus": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityStatusArgs"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "StringsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Uniter",
-    "Version": 9,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "APIAddresses": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringsResult"
-            }
-          }
-        },
-        "APIHostPorts": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/APIHostPortsResult"
-            }
-          }
-        },
-        "Actions": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ActionResults"
-            }
-          }
-        },
-        "AddMetricBatches": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/MetricBatchParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "AddUnitStorage": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/StoragesAddParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "AllMachinePorts": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/MachinePortsResults"
-            }
-          }
-        },
-        "ApplicationStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ApplicationStatusResults"
-            }
-          }
-        },
-        "AssignedMachine": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringResults"
-            }
-          }
-        },
-        "AvailabilityZone": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringResults"
-            }
-          }
-        },
-        "BeginActions": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "CharmArchiveSha256": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/CharmURLs"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringResults"
-            }
-          }
-        },
-        "CharmModifiedVersion": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/IntResults"
-            }
-          }
-        },
-        "CharmURL": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringBoolResults"
-            }
-          }
-        },
-        "ClearResolved": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "ClosePorts": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/EntitiesPortRanges"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "CloudSpec": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/CloudSpecResult"
-            }
-          }
-        },
-        "ConfigSettings": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ConfigSettingsResults"
-            }
-          }
-        },
-        "CurrentModel": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ModelResult"
-            }
-          }
-        },
-        "Destroy": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "DestroyAllSubordinates": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "DestroyUnitStorageAttachments": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "EnsureDead": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "EnterScope": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RelationUnits"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "FinishActions": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/ActionExecutionResults"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "GetMeterStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/MeterStatusResults"
-            }
-          }
-        },
-        "GetPrincipal": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringBoolResults"
-            }
-          }
-        },
-        "GoalStates": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/GoalStateResults"
-            }
-          }
-        },
-        "HasSubordinates": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/BoolResults"
-            }
-          }
-        },
-        "LeaveScope": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RelationUnits"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "Life": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/LifeResults"
-            }
-          }
-        },
-        "Merge": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/MergeLeadershipSettingsBulkParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "ModelConfig": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ModelConfigResult"
-            }
-          }
-        },
-        "ModelUUID": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringResult"
-            }
-          }
-        },
-        "NetworkInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/NetworkInfoParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/NetworkInfoResults"
-            }
-          }
-        },
-        "OpenPorts": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/EntitiesPortRanges"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "PrivateAddress": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringResults"
-            }
-          }
-        },
-        "ProviderType": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringResult"
-            }
-          }
-        },
-        "PublicAddress": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringResults"
-            }
-          }
-        },
-        "Read": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/GetLeadershipSettingsBulkResults"
-            }
-          }
-        },
-        "ReadRemoteSettings": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RelationUnitPairs"
-            },
-            "Result": {
-              "$ref": "#/definitions/SettingsResults"
-            }
-          }
-        },
-        "ReadSettings": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RelationUnits"
-            },
-            "Result": {
-              "$ref": "#/definitions/SettingsResults"
-            }
-          }
-        },
-        "Refresh": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/UnitRefreshResults"
-            }
-          }
-        },
-        "Relation": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RelationUnits"
-            },
-            "Result": {
-              "$ref": "#/definitions/RelationResults"
-            }
-          }
-        },
-        "RelationById": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RelationIds"
-            },
-            "Result": {
-              "$ref": "#/definitions/RelationResults"
-            }
-          }
-        },
-        "RelationsStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/RelationUnitStatusResults"
-            }
-          }
-        },
-        "RemoveStorageAttachments": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/StorageAttachmentIds"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "RequestReboot": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "Resolved": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ResolvedModeResults"
-            }
-          }
-        },
-        "SLALevel": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/StringResult"
-            }
-          }
-        },
-        "SetAgentStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetApplicationStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetCharmURL": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/EntitiesCharmURL"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetPodSpec": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetPodSpecParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetRelationStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RelationStatusArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetUnitStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetStatus"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetUpgradeSeriesUnitStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/UpgradeSeriesStatusParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetWorkloadVersion": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/EntityWorkloadVersions"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "StorageAttachmentLife": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/StorageAttachmentIds"
-            },
-            "Result": {
-              "$ref": "#/definitions/LifeResults"
-            }
-          }
-        },
-        "StorageAttachments": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/StorageAttachmentIds"
-            },
-            "Result": {
-              "$ref": "#/definitions/StorageAttachmentResults"
-            }
-          }
-        },
-        "UnitStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StatusResults"
-            }
-          }
-        },
-        "UnitStorageAttachments": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StorageAttachmentIdsResults"
-            }
-          }
-        },
-        "UpdateSettings": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RelationUnitsSettings"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "UpgradeSeriesUnitStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/UpgradeSeriesStatusResults"
-            }
-          }
-        },
-        "Watch": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        },
-        "WatchAPIHostPorts": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        },
-        "WatchActionNotifications": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResults"
-            }
-          }
-        },
-        "WatchConfigSettingsHash": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResults"
-            }
-          }
-        },
-        "WatchForModelConfigChanges": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        },
-        "WatchLeadershipSettings": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        },
-        "WatchMeterStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        },
-        "WatchRelationUnits": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/RelationUnits"
-            },
-            "Result": {
-              "$ref": "#/definitions/RelationUnitsWatchResults"
-            }
-          }
-        },
-        "WatchStorageAttachments": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/StorageAttachmentIds"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        },
-        "WatchTrustConfigSettingsHash": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResults"
-            }
-          }
-        },
-        "WatchUnitAddressesHash": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResults"
-            }
-          }
-        },
-        "WatchUnitRelations": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResults"
-            }
-          }
-        },
-        "WatchUnitStorageAttachments": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringsWatchResults"
-            }
-          }
-        },
-        "WatchUpgradeSeriesNotifications": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        },
-        "WorkloadVersion": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "APIHostPortsResult": {
-          "type": "object",
-          "properties": {
-            "servers": {
-              "type": "array",
-              "items": {
-                "type": "array",
-                "items": {
-                  "$ref": "#/definitions/HostPort"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "servers"
-          ]
-        },
-        "Action": {
-          "type": "object",
-          "properties": {
-            "name": {
-              "type": "string"
-            },
-            "parameters": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "receiver": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "receiver",
-            "name"
-          ]
-        },
-        "ActionExecutionResult": {
-          "type": "object",
-          "properties": {
-            "action-tag": {
-              "type": "string"
-            },
-            "message": {
-              "type": "string"
-            },
-            "results": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "action-tag",
-            "status"
-          ]
-        },
-        "ActionExecutionResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ActionExecutionResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "ActionResult": {
-          "type": "object",
-          "properties": {
-            "action": {
-              "$ref": "#/definitions/Action"
-            },
-            "completed": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "enqueued": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "message": {
-              "type": "string"
-            },
-            "output": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "started": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ActionResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ActionResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "Address": {
-          "type": "object",
-          "properties": {
-            "scope": {
-              "type": "string"
-            },
-            "space-name": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            },
-            "value": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "value",
-            "type",
-            "scope"
-          ]
-        },
-        "ApplicationStatusResult": {
-          "type": "object",
-          "properties": {
-            "application": {
-              "$ref": "#/definitions/StatusResult"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "units": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/StatusResult"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application",
-            "units"
-          ]
-        },
-        "ApplicationStatusResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ApplicationStatusResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "BoolResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "BoolResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/BoolResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "CharmRelation": {
-          "type": "object",
-          "properties": {
-            "interface": {
-              "type": "string"
-            },
-            "limit": {
-              "type": "integer"
-            },
-            "name": {
-              "type": "string"
-            },
-            "optional": {
-              "type": "boolean"
-            },
-            "role": {
-              "type": "string"
-            },
-            "scope": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "role",
-            "interface",
-            "optional",
-            "limit",
-            "scope"
-          ]
-        },
-        "CharmURL": {
-          "type": "object",
-          "properties": {
-            "url": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "url"
-          ]
-        },
-        "CharmURLs": {
-          "type": "object",
-          "properties": {
-            "urls": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/CharmURL"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "urls"
-          ]
-        },
-        "CloudCredential": {
-          "type": "object",
-          "properties": {
-            "attrs": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "auth-type": {
-              "type": "string"
-            },
-            "redacted": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "auth-type"
-          ]
-        },
-        "CloudSpec": {
-          "type": "object",
-          "properties": {
-            "cacertificates": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "credential": {
-              "$ref": "#/definitions/CloudCredential"
-            },
-            "endpoint": {
-              "type": "string"
-            },
-            "identity-endpoint": {
-              "type": "string"
-            },
-            "name": {
-              "type": "string"
-            },
-            "region": {
-              "type": "string"
-            },
-            "storage-endpoint": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "type",
-            "name"
-          ]
-        },
-        "CloudSpecResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/CloudSpec"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ConfigSettingsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "settings": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "settings"
-          ]
-        },
-        "ConfigSettingsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ConfigSettingsResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Endpoint": {
-          "type": "object",
-          "properties": {
-            "application-name": {
-              "type": "string"
-            },
-            "relation": {
-              "$ref": "#/definitions/CharmRelation"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application-name",
-            "relation"
-          ]
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "EntitiesCharmURL": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityCharmURL"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "EntitiesPortRanges": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityPortRange"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "EntityCharmURL": {
-          "type": "object",
-          "properties": {
-            "charm-url": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "charm-url"
-          ]
-        },
-        "EntityPortRange": {
-          "type": "object",
-          "properties": {
-            "from-port": {
-              "type": "integer"
-            },
-            "protocol": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            },
-            "to-port": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "protocol",
-            "from-port",
-            "to-port"
-          ]
-        },
-        "EntityStatusArgs": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "info": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "status",
-            "info",
-            "data"
-          ]
-        },
-        "EntityString": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            },
-            "value": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "value"
-          ]
-        },
-        "EntityWorkloadVersion": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            },
-            "workload-version": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "workload-version"
-          ]
-        },
-        "EntityWorkloadVersions": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityWorkloadVersion"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "GetLeadershipSettingsBulkResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/GetLeadershipSettingsResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "GetLeadershipSettingsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "settings": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "settings"
-          ]
-        },
-        "GoalState": {
-          "type": "object",
-          "properties": {
-            "relations": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "patternProperties": {
-                    ".*": {
-                      "$ref": "#/definitions/GoalStateStatus"
-                    }
-                  }
-                }
-              }
-            },
-            "units": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/GoalStateStatus"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "units",
-            "relations"
-          ]
-        },
-        "GoalStateResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/GoalState"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result",
-            "error"
-          ]
-        },
-        "GoalStateResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/GoalStateResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "GoalStateStatus": {
-          "type": "object",
-          "properties": {
-            "since": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "status",
-            "since"
-          ]
-        },
-        "HostPort": {
-          "type": "object",
-          "properties": {
-            "Address": {
-              "$ref": "#/definitions/Address"
-            },
-            "port": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Address",
-            "port"
-          ]
-        },
-        "IntResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "IntResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/IntResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "InterfaceAddress": {
-          "type": "object",
-          "properties": {
-            "cidr": {
-              "type": "string"
-            },
-            "hostname": {
-              "type": "string"
-            },
-            "value": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "hostname",
-            "value",
-            "cidr"
-          ]
-        },
-        "LifeResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "life": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "life"
-          ]
-        },
-        "LifeResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/LifeResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "MachinePortRange": {
-          "type": "object",
-          "properties": {
-            "port-range": {
-              "$ref": "#/definitions/PortRange"
-            },
-            "relation-tag": {
-              "type": "string"
-            },
-            "unit-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "unit-tag",
-            "relation-tag",
-            "port-range"
-          ]
-        },
-        "MachinePortsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "ports": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MachinePortRange"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "ports"
-          ]
-        },
-        "MachinePortsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MachinePortsResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "MergeLeadershipSettingsBulkParams": {
-          "type": "object",
-          "properties": {
-            "params": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MergeLeadershipSettingsParam"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "params"
-          ]
-        },
-        "MergeLeadershipSettingsParam": {
-          "type": "object",
-          "properties": {
-            "application-tag": {
-              "type": "string"
-            },
-            "settings": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "unit-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "settings"
-          ]
-        },
-        "MeterStatusResult": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "info": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "code",
-            "info"
-          ]
-        },
-        "MeterStatusResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MeterStatusResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Metric": {
-          "type": "object",
-          "properties": {
-            "key": {
-              "type": "string"
-            },
-            "labels": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "time": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "value": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "key",
-            "value",
-            "time"
-          ]
-        },
-        "MetricBatch": {
-          "type": "object",
-          "properties": {
-            "charm-url": {
-              "type": "string"
-            },
-            "created": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "metrics": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Metric"
-              }
-            },
-            "uuid": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "uuid",
-            "charm-url",
-            "created",
-            "metrics"
-          ]
-        },
-        "MetricBatchParam": {
-          "type": "object",
-          "properties": {
-            "batch": {
-              "$ref": "#/definitions/MetricBatch"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "batch"
-          ]
-        },
-        "MetricBatchParams": {
-          "type": "object",
-          "properties": {
-            "batches": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MetricBatchParam"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "batches"
-          ]
-        },
-        "ModelConfigResult": {
-          "type": "object",
-          "properties": {
-            "config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "config"
-          ]
-        },
-        "ModelResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "name": {
-              "type": "string"
-            },
-            "type": {
-              "type": "string"
-            },
-            "uuid": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "name",
-            "uuid",
-            "type"
-          ]
-        },
-        "NetworkInfo": {
-          "type": "object",
-          "properties": {
-            "addresses": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/InterfaceAddress"
-              }
-            },
-            "interface-name": {
-              "type": "string"
-            },
-            "mac-address": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "mac-address",
-            "interface-name",
-            "addresses"
-          ]
-        },
-        "NetworkInfoParams": {
-          "type": "object",
-          "properties": {
-            "bindings": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "relation-id": {
-              "type": "integer"
-            },
-            "unit": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "unit",
-            "bindings"
-          ]
-        },
-        "NetworkInfoResult": {
-          "type": "object",
-          "properties": {
-            "bind-addresses": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NetworkInfo"
-              }
-            },
-            "egress-subnets": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "ingress-addresses": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "NetworkInfoResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/NetworkInfoResult"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "PortRange": {
-          "type": "object",
-          "properties": {
-            "from-port": {
-              "type": "integer"
-            },
-            "protocol": {
-              "type": "string"
-            },
-            "to-port": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "from-port",
-            "to-port",
-            "protocol"
-          ]
-        },
-        "RelationIds": {
-          "type": "object",
-          "properties": {
-            "relation-ids": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "relation-ids"
-          ]
-        },
-        "RelationResult": {
-          "type": "object",
-          "properties": {
-            "bool": {
-              "type": "boolean"
-            },
-            "endpoint": {
-              "$ref": "#/definitions/Endpoint"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "id": {
-              "type": "integer"
-            },
-            "key": {
-              "type": "string"
-            },
-            "life": {
-              "type": "string"
-            },
-            "other-application": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "life",
-            "id",
-            "key",
-            "endpoint"
-          ]
-        },
-        "RelationResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RelationResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "RelationStatusArg": {
-          "type": "object",
-          "properties": {
-            "message": {
-              "type": "string"
-            },
-            "relation-id": {
-              "type": "integer"
-            },
-            "status": {
-              "type": "string"
-            },
-            "unit-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "unit-tag",
-            "relation-id",
-            "status",
-            "message"
-          ]
-        },
-        "RelationStatusArgs": {
-          "type": "object",
-          "properties": {
-            "args": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RelationStatusArg"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "args"
-          ]
-        },
-        "RelationUnit": {
-          "type": "object",
-          "properties": {
-            "relation": {
-              "type": "string"
-            },
-            "unit": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "relation",
-            "unit"
-          ]
-        },
-        "RelationUnitPair": {
-          "type": "object",
-          "properties": {
-            "local-unit": {
-              "type": "string"
-            },
-            "relation": {
-              "type": "string"
-            },
-            "remote-unit": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "relation",
-            "local-unit",
-            "remote-unit"
-          ]
-        },
-        "RelationUnitPairs": {
-          "type": "object",
-          "properties": {
-            "relation-unit-pairs": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RelationUnitPair"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "relation-unit-pairs"
-          ]
-        },
-        "RelationUnitSettings": {
-          "type": "object",
-          "properties": {
-            "relation": {
-              "type": "string"
-            },
-            "settings": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            },
-            "unit": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "relation",
-            "unit",
-            "settings"
-          ]
-        },
-        "RelationUnitStatus": {
-          "type": "object",
-          "properties": {
-            "in-scope": {
-              "type": "boolean"
-            },
-            "relation-tag": {
-              "type": "string"
-            },
-            "suspended": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "relation-tag",
-            "in-scope",
-            "suspended"
-          ]
-        },
-        "RelationUnitStatusResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RelationUnitStatus"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "RelationUnitStatusResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RelationUnitStatusResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "RelationUnits": {
-          "type": "object",
-          "properties": {
-            "relation-units": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RelationUnit"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "relation-units"
-          ]
-        },
-        "RelationUnitsChange": {
-          "type": "object",
-          "properties": {
-            "changed": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/UnitSettings"
-                }
-              }
-            },
-            "departed": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "changed"
-          ]
-        },
-        "RelationUnitsSettings": {
-          "type": "object",
-          "properties": {
-            "relation-units": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RelationUnitSettings"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "relation-units"
-          ]
-        },
-        "RelationUnitsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "$ref": "#/definitions/RelationUnitsChange"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id",
-            "changes"
-          ]
-        },
-        "RelationUnitsWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RelationUnitsWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "ResolvedModeResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "mode": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "mode"
-          ]
-        },
-        "ResolvedModeResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ResolvedModeResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "SetPodSpecParams": {
-          "type": "object",
-          "properties": {
-            "specs": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityString"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "specs"
-          ]
-        },
-        "SetStatus": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityStatusArgs"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "SettingsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "settings": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "string"
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "settings"
-          ]
-        },
-        "SettingsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/SettingsResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "StatusResult": {
-          "type": "object",
-          "properties": {
-            "data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "id": {
-              "type": "string"
-            },
-            "info": {
-              "type": "string"
-            },
-            "life": {
-              "type": "string"
-            },
-            "since": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "id",
-            "life",
-            "status",
-            "info",
-            "data",
-            "since"
-          ]
-        },
-        "StatusResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StatusResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "StorageAddParams": {
-          "type": "object",
-          "properties": {
-            "name": {
-              "type": "string"
-            },
-            "storage": {
-              "$ref": "#/definitions/StorageConstraints"
-            },
-            "unit": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "unit",
-            "name",
-            "storage"
-          ]
-        },
-        "StorageAttachment": {
-          "type": "object",
-          "properties": {
-            "kind": {
-              "type": "integer"
-            },
-            "life": {
-              "type": "string"
-            },
-            "location": {
-              "type": "string"
-            },
-            "owner-tag": {
-              "type": "string"
-            },
-            "storage-tag": {
-              "type": "string"
-            },
-            "unit-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "storage-tag",
-            "owner-tag",
-            "unit-tag",
-            "kind",
-            "location",
-            "life"
-          ]
-        },
-        "StorageAttachmentId": {
-          "type": "object",
-          "properties": {
-            "storage-tag": {
-              "type": "string"
-            },
-            "unit-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "storage-tag",
-            "unit-tag"
-          ]
-        },
-        "StorageAttachmentIds": {
-          "type": "object",
-          "properties": {
-            "ids": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StorageAttachmentId"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "ids"
-          ]
-        },
-        "StorageAttachmentIdsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/StorageAttachmentIds"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "StorageAttachmentIdsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StorageAttachmentIdsResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "StorageAttachmentResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/StorageAttachment"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "StorageAttachmentResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StorageAttachmentResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "StorageConstraints": {
-          "type": "object",
-          "properties": {
-            "count": {
-              "type": "integer"
-            },
-            "pool": {
-              "type": "string"
-            },
-            "size": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false
-        },
-        "StoragesAddParams": {
-          "type": "object",
-          "properties": {
-            "storages": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StorageAddParams"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "storages"
-          ]
-        },
-        "StringBoolResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "ok": {
-              "type": "boolean"
-            },
-            "result": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result",
-            "ok"
-          ]
-        },
-        "StringBoolResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringBoolResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "StringResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "StringResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "StringsResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "StringsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id"
-          ]
-        },
-        "StringsWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringsWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "UnitRefreshResult": {
-          "type": "object",
-          "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
-            },
-            "Life": {
-              "type": "string"
-            },
-            "Resolved": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Life",
-            "Resolved",
-            "Error"
-          ]
-        },
-        "UnitRefreshResults": {
-          "type": "object",
-          "properties": {
-            "Results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/UnitRefreshResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Results"
-          ]
-        },
-        "UnitSettings": {
-          "type": "object",
-          "properties": {
-            "version": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "version"
-          ]
-        },
-        "UpgradeSeriesStatusParam": {
-          "type": "object",
-          "properties": {
-            "entity": {
-              "$ref": "#/definitions/Entity"
-            },
-            "message": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entity",
-            "status",
-            "message"
-          ]
-        },
-        "UpgradeSeriesStatusParams": {
-          "type": "object",
-          "properties": {
-            "params": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/UpgradeSeriesStatusParam"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "params"
-          ]
-        },
-        "UpgradeSeriesStatusResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "UpgradeSeriesStatusResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/UpgradeSeriesStatusResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        }
-      }
-    }
-  },
-  {
-    "Name": "UpgradeSeries",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "FinishUpgradeSeries": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/UpdateSeriesArgs"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "MachineStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/UpgradeSeriesStatusResults"
-            }
-          }
-        },
-        "PinMachineApplications": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/PinApplicationsResults"
-            }
-          }
-        },
-        "PinnedLeadership": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/PinnedLeadershipResult"
-            }
-          }
-        },
-        "SetMachineStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/UpgradeSeriesStatusParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "SetUpgradeSeriesUnitStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/UpgradeSeriesStatusParams"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "StartUnitCompletion": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/UpgradeSeriesStartUnitCompletionParam"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "TargetSeries": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringResults"
-            }
-          }
-        },
-        "UnitsCompleted": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/EntitiesResults"
-            }
-          }
-        },
-        "UnitsPrepared": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/EntitiesResults"
-            }
-          }
-        },
-        "UnpinMachineApplications": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/PinApplicationsResults"
-            }
-          }
-        },
-        "UpgradeSeriesUnitStatus": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/UpgradeSeriesStatusResults"
-            }
-          }
-        },
-        "WatchUpgradeSeriesNotifications": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "EntitiesResult": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "EntitiesResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntitiesResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "PinApplicationResult": {
-          "type": "object",
-          "properties": {
-            "application-name": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "application-name"
-          ]
-        },
-        "PinApplicationsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/PinApplicationResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "PinnedLeadershipResult": {
-          "type": "object",
-          "properties": {
-            "result": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "array",
-                  "items": {
-                    "type": "string"
-                  }
-                }
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "StringResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "result"
-          ]
-        },
-        "StringResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/StringResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "UpdateSeriesArg": {
-          "type": "object",
-          "properties": {
-            "force": {
-              "type": "boolean"
-            },
-            "series": {
-              "type": "string"
-            },
-            "tag": {
-              "$ref": "#/definitions/Entity"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "force",
-            "series"
-          ]
-        },
-        "UpdateSeriesArgs": {
-          "type": "object",
-          "properties": {
-            "args": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/UpdateSeriesArg"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "args"
-          ]
-        },
-        "UpgradeSeriesStartUnitCompletionParam": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities",
-            "message"
-          ]
-        },
-        "UpgradeSeriesStatusParam": {
-          "type": "object",
-          "properties": {
-            "entity": {
-              "$ref": "#/definitions/Entity"
-            },
-            "message": {
-              "type": "string"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entity",
-            "status",
-            "message"
-          ]
-        },
-        "UpgradeSeriesStatusParams": {
-          "type": "object",
-          "properties": {
-            "params": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/UpgradeSeriesStatusParam"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "params"
-          ]
-        },
-        "UpgradeSeriesStatusResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "status": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "UpgradeSeriesStatusResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/UpgradeSeriesStatusResult"
-              }
-            }
-          },
-          "additionalProperties": false
-        }
-      }
-    }
-  },
-  {
-    "Name": "Upgrader",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "DesiredVersion": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/VersionResults"
-            }
-          }
-        },
-        "SetTools": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/EntitiesVersion"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "Tools": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ToolsResults"
-            }
-          }
-        },
-        "WatchAPIVersion": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Binary": {
-          "type": "object",
-          "properties": {
-            "Arch": {
-              "type": "string"
-            },
-            "Number": {
-              "$ref": "#/definitions/Number"
-            },
-            "Series": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Number",
-            "Series",
-            "Arch"
-          ]
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "EntitiesVersion": {
-          "type": "object",
-          "properties": {
-            "agent-tools": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityVersion"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "agent-tools"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "EntityVersion": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            },
-            "tools": {
-              "$ref": "#/definitions/Version"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "tools"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "NotifyWatchResult": {
-          "type": "object",
-          "properties": {
-            "NotifyWatcherId": {
-              "type": "string"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Number": {
-          "type": "object",
-          "properties": {
-            "Build": {
-              "type": "integer"
-            },
-            "Major": {
-              "type": "integer"
-            },
-            "Minor": {
-              "type": "integer"
-            },
-            "Patch": {
-              "type": "integer"
-            },
-            "Tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Major",
-            "Minor",
-            "Tag",
-            "Patch",
-            "Build"
-          ]
-        },
-        "Tools": {
-          "type": "object",
-          "properties": {
-            "sha256": {
-              "type": "string"
-            },
-            "size": {
-              "type": "integer"
-            },
-            "url": {
-              "type": "string"
-            },
-            "version": {
-              "$ref": "#/definitions/Binary"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "version",
-            "url",
-            "size"
-          ]
-        },
-        "ToolsResult": {
-          "type": "object",
-          "properties": {
-            "disable-ssl-hostname-verification": {
-              "type": "boolean"
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "tools": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Tools"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tools",
-            "disable-ssl-hostname-verification"
-          ]
-        },
-        "ToolsResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ToolsResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Version": {
-          "type": "object",
-          "properties": {
-            "version": {
-              "$ref": "#/definitions/Binary"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "version"
-          ]
-        },
-        "VersionResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "version": {
-              "$ref": "#/definitions/Number"
-            }
-          },
-          "additionalProperties": false
-        },
-        "VersionResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/VersionResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "UserManager",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "AddUser": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/AddUsers"
-            },
-            "Result": {
-              "$ref": "#/definitions/AddUserResults"
-            }
-          }
-        },
-        "DisableUser": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "EnableUser": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "RemoveUser": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "ResetPassword": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/AddUserResults"
-            }
-          }
-        },
-        "SetPassword": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/EntityPasswords"
-            },
-            "Result": {
-              "$ref": "#/definitions/ErrorResults"
-            }
-          }
-        },
-        "UserInfo": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/UserInfoRequest"
-            },
-            "Result": {
-              "$ref": "#/definitions/UserInfoResults"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "AddUser": {
-          "type": "object",
-          "properties": {
-            "display-name": {
-              "type": "string"
-            },
-            "password": {
-              "type": "string"
-            },
-            "username": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "username",
-            "display-name"
-          ]
-        },
-        "AddUserResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "secret-key": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "AddUserResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/AddUserResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "AddUsers": {
-          "type": "object",
-          "properties": {
-            "users": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/AddUser"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "users"
-          ]
-        },
-        "Entities": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities"
-          ]
-        },
-        "Entity": {
-          "type": "object",
-          "properties": {
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag"
-          ]
-        },
-        "EntityPassword": {
-          "type": "object",
-          "properties": {
-            "password": {
-              "type": "string"
-            },
-            "tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "tag",
-            "password"
-          ]
-        },
-        "EntityPasswords": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EntityPassword"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "changes"
-          ]
-        },
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "UserInfo": {
-          "type": "object",
-          "properties": {
-            "access": {
-              "type": "string"
-            },
-            "created-by": {
-              "type": "string"
-            },
-            "date-created": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "disabled": {
-              "type": "boolean"
-            },
-            "display-name": {
-              "type": "string"
-            },
-            "last-connection": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "username": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "username",
-            "display-name",
-            "access",
-            "created-by",
-            "date-created",
-            "disabled"
-          ]
-        },
-        "UserInfoRequest": {
-          "type": "object",
-          "properties": {
-            "entities": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Entity"
-              }
-            },
-            "include-disabled": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "entities",
-            "include-disabled"
-          ]
-        },
-        "UserInfoResult": {
-          "type": "object",
-          "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "result": {
-              "$ref": "#/definitions/UserInfo"
-            }
-          },
-          "additionalProperties": false
-        },
-        "UserInfoResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/UserInfoResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "VolumeAttachmentPlansWatcher",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Next": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/MachineStorageIdsWatchResult"
-            }
-          }
-        },
-        "Stop": {
-          "type": "object"
-        }
-      },
-      "definitions": {
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "MachineStorageId": {
-          "type": "object",
-          "properties": {
-            "attachment-tag": {
-              "type": "string"
-            },
-            "machine-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "machine-tag",
-            "attachment-tag"
-          ]
-        },
-        "MachineStorageIdsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MachineStorageId"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id",
-            "changes"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "VolumeAttachmentsWatcher",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Next": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/MachineStorageIdsWatchResult"
-            }
-          }
-        },
-        "Stop": {
-          "type": "object"
-        }
-      },
-      "definitions": {
-        "Error": {
-          "type": "object",
-          "properties": {
-            "code": {
-              "type": "string"
-            },
-            "info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "message": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "message",
-            "code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "macaroon-path": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "additionalProperties": false
-        },
-        "MachineStorageId": {
-          "type": "object",
-          "properties": {
-            "attachment-tag": {
-              "type": "string"
-            },
-            "machine-tag": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "machine-tag",
-            "attachment-tag"
-          ]
-        },
-        "MachineStorageIdsWatchResult": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MachineStorageId"
-              }
-            },
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "watcher-id": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "watcher-id",
-            "changes"
-          ]
-        }
-      }
-    }
-  }
-]